AMR TECH™ · WhatsApp CRM
Estado del sistema tras los dos cambios del día 2026-09-25
Problema anterior
La regla 11 del prompt decía "NUNCA inventes datos de pago — Anderson los enviará manualmente". El AI respondía siempre con "Te comparto los datos en un momento" y se detenía, requiriendo intervención manual en cada venta.
Solución implementada
[MEDIOS DE PAGO DISPONIBLES] inyectado dinámicamente desde ai_settings.payment_methods en la BD.Archivo modificado
whatsapp-crm/src/AIService.php — función determineSystemPrompt()
Causa raíz
El botón "Escanear" enviaba 1 sola petición POST que ejecutaba hasta 40 requests cURL en serie (8 modelos × 5 keys × 12s timeout = hasta 480s). Hostinger corta conexiones a ~30s → 504.
Solución implementada
models: devuelve la lista de modelos y keys sin hacer ningún test (instantánea).quicktest: testa exactamente 1 modelo × 1 key por request (máx ~6s, nunca supera el timeout).3/40, 4/40…Archivos modificados
whatsapp-crm/public/audit_licenses.php — acciones models + quicktestwhatsapp-crm/public/config.php — función JS licScan()
Causa
Los deploys via rsync apuntaban a public_html/whatsapp-crm/ (raíz del proyecto) en vez de public_html/whatsapp-crm/public/ (web root real). El archivo config.php incorrecto en la raíz shadowed la rewrite de Apache, causando 500 por auth.php inexistente.
Solución
chdir + require.whatsapp-crm/public/ (documentado en memoria del agente).| Componente | Estado | Notas |
|---|---|---|
| config.php (UI) | ✓ OK | Stub en raíz + real en /public/ |
| audit_licenses.php | ✓ OK | quicktest 1×1, sin timeout |
| AIService.php (medios pago) | NUEVO | Inyecta Bancolombia/Nequi/Wompi desde BD |
| Scan licencias (UI) | ✓ OK | Progreso granular, nunca 504 |
| Deploy path (rsync) | CORREGIDO | → whatsapp-crm/public/ |