import paramiko import json ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('161.97.93.156', username='carlos', password='Innova1978+*?') # Obtener IP interna del contenedor de Evolution API stdin, stdout, stderr = ssh.exec_command("docker inspect api-i5mzip2g7cmyvc56n9ewahbb --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'") evo_ip = stdout.read().decode('utf-8').strip() print(f"IP interna de Evolution API: {evo_ip}") message_text = """🚀 *DripZone - Registro Automático de Pedidos WhatsApp & Catálogo Activo* ¡Hola Carlos! Se ha implementado y desplegado de forma 100% autónoma la captura y registro automático de pedidos realizados por WhatsApp: 🛍️ *1. Pedidos del Catálogo Nativo de WhatsApp (Meta Commerce):* • Cada vez que un cliente envía un pedido desde el catálogo de la tienda en WhatsApp (orderMessage), el webhook lo detecta en tiempo real. • Extrae automáticamente artículos, precios, cantidades y tallas, resolviendo los productos con el inventario de la app. • Crea la orden inmediatamente en Appwrite y memoria con prefijo *ORD-WA-CAT-XXXXXX* y *source: 'whatsapp'*. • Te notifica al instante a tu WhatsApp (+57 316 745 5877) con la foto del calzado, desglose económico y datos de entrega. • Responde al cliente automáticamente confirmando la recepción y entregándole su enlace de seguimiento en vivo. 💬 *2. Pedidos Directos por WhatsApp desde el Carrito Web:* • En el carrito de compra (CartDrawer), se habilitó el botón *'💬 Pedir Directo por WhatsApp'*. • Pre-registra la orden en la base de datos antes de transferir al cliente a WhatsApp, asignándole un ID único (*ORD-WA-XXXXXX*). • Al llegar el mensaje a la tienda (+57 310 639 0296), el webhook lo asocia automáticamente sin duplicar. 🧠 *3. Solicitudes de Compra en Lenguaje Natural:* • Si un cliente escribe directamente con intención de compra (ej: *"Quiero pedir las Jordan 4 talla 41 para Cali"*), el parser identifica el calzado, talla y ciudad, pre-registrando la orden en estado pendiente. 📊 *4. Filtros y Visualización en Panel Admin (/admin/pedidos):* • Nuevo filtro por Canal: *[ Todos ]*, *[ 💬 WhatsApp & Catálogo ]* y *[ 🌐 Tienda Web ]* con conteos en tiempo real. • Cada tarjeta de pedido muestra su insignia distintiva (*💬 WhatsApp* / *🛍️ Catálogo WA* vs *🌐 Tienda Web*). 📱 *5. Seguimiento del Cliente en /mis-pedidos:* • Soporta parámetro directo *?phone=...* para que los clientes que abran el enlace desde WhatsApp vean sus pedidos sin escribir su teléfono. 📲 *Descarga Directa del APK:* 👉 https://drip-zone.online/DripZone.apk""" # Enviar via curl directo desde el host VPS a la IP interna de Evolution API (100% libre de Traefik/DNS) payload = json.dumps({ "number": "573167455877", "text": message_text, "delay": 500 }) # Escribir payload en archivo temporal remoto en el VPS sftp = ssh.open_sftp() with sftp.file('/tmp/wa_msg.json', 'w') as f: f.write(payload) sftp.close() curl_cmd = f"curl -s -X POST http://{evo_ip}:8080/message/sendText/AutomataAlmeira -H 'apikey: EE49029EEB85-4568-8F81-C9FDFC6E2943' -H 'Content-Type: application/json' -d @/tmp/wa_msg.json" stdin, stdout, stderr = ssh.exec_command(curl_cmd) out = stdout.read().decode('utf-8', errors='replace') print("Respuesta Evolution API sendText:", out[:300]) ssh.close()