Filtrar:
✅
RESUELTO — Agente Mingo operativo y recibiendo mensajes
El WABA de UPDS fue re-suscrito a la App correcta. El agente ya recibe y responde mensajes de WhatsApp. Resuelto: 27 jul 2026.
Causa raíz identificada: El número WABA estaba suscrito a otra App Meta de un proyecto anterior, no a la App
1957925864782884. Al re-suscribir el WABA (2129669621317676) a la App correcta, Meta comenzó a entregar los webhooks messages al endpoint https://n8n.skalestack.com/webhook/Proyecto-UPDS-Julio-2026.
Solución aplicada — Comandos de diagnóstico y corrección
Paso 1 — Verificar qué App tenía suscrito el WABA:
curl "https://graph.facebook.com/v20.0/2129669621317676/subscribed_apps" \
-H "Authorization: Bearer <TOKEN>"
→ Retornó App diferente a 1957925864782884 — confirma el problema
Paso 2 — Re-suscribir el WABA a la App correcta:
curl -X POST "https://graph.facebook.com/v20.0/2129669621317676/subscribed_apps" \
-H "Authorization: Bearer <TOKEN>" \
-F "subscribed_fields=messages,message_deliveries,message_reads"
→ Éxito — Meta comenzó a entregar webhooks a https://n8n.skalestack.com/webhook/Proyecto-UPDS-Julio-2026
| Componente | Responsable | Estado | Notas |
|---|---|---|---|
| App Meta creada y configurada | SkaleStack | ✅ Listo | URL webhook + token verificación configurados. App ID: 1957925864782884 |
| Webhook de verificación (GET) | SkaleStack | ✅ Listo | Workflow MNlLkxMWFys6sMDX activo y respondiendo |
| Webhook de mensajes (POST) | SkaleStack | ✅ Listo | Workflow Lpq7fJUnLvRSzNwJ activo y procesando |
| Suscripción WABA a la App correcta | SkaleStack | ✅ Resuelto | WABA 2129669621317676 re-suscrito el 27 jul 2026. Causa: estaba suscrito a App anterior. |
| Prueba end-to-end de mensajes | SkaleStack + UPDS | ✅ Exitosa | Agente Mingo recibe mensajes y responde correctamente desde 27 jul 2026 |
| Migración a credenciales UPDS (WA + OpenAI) | SkaleStack | ⏳ Pendiente | Credenciales recibidas — pendiente de implementación en siguiente fase |
Actualizado: 28 jul 2026 · Bloqueador resuelto el 27 jul 2026. El agente está en producción recibiendo y respondiendo mensajes de WhatsApp de estudiantes UPDS.
🔗 Estado del pipeline de ingesta (T4 → T5 → Supabase)
La cadena completa que habilita el RAG del agente Mingo
✅ RAG Sub-workflow activo
✅ T4 — Convertir a MD (activo)
✅ T5 — Ingesta Supabase (activo)
✅ Ofertas 15 xlsx — completado
✅ 29 archivos MD — 1,807 chunks · 100% completo (24 jul 2026)
Estructura de campos — Respuesta actual de la API ✅ Actualizada 2026-07-20 por UPDS
UPDS ya aplicó todos los cambios solicitados. El endpoint
/api/estudiantes/por-telefono/{tel} ahora incluye soporte para doble carrera, doble matrícula y campos de convalidación. No hay endpoints nuevos — todo está en la misma ruta.
Campos ANTES
| Campo | Estado |
|---|---|
carrera | ELIMINADO |
estadoMatricula | ELIMINADO |
| tipoConvalidacion | No existía |
| estadoConvalidacion | No existía |
| fechaSolicitud | ELIMINADO |
Campos AHORA
| Campo | Estado |
|---|---|
carrera1 | NUEVO |
estadoMatricula1 | NUEVO |
carrera2 | NUEVO |
estadoMatricula2 | NUEVO |
tipoConvalidacion | NUEVO |
estadoConvalidacion | NUEVO |
JSON de respuesta real (cuenta de prueba · verificado 2026-07-20)
{
"documentoIdentidad": "11111111111111",
"nombreCompleto": "SANDRA SANDRA SANDRA",
"nombres": "SANDRA",
"primerApellido": "SANDRA",
"segundoApellido": "SANDRA",
"telefono": "11111111111111",
"fechaNacimiento": "2000-01-01",
"ciudadNacimiento": "Santa Cruz De La Sierra",
"sedeActual": "Santa Cruz",
"correoInstitucional": "sc.sandra.sandra.s@upds.net.bo",
"carrera1": "Administracion De Empresas", ← NUEVO
"estadoMatricula1": "Activa", ← NUEVO
"carrera2": "", ← NUEVO (vacío = una sola carrera)
"estadoMatricula2": "", ← NUEVO
"tipoConvalidacion": null, ← NUEVO
"estadoConvalidacion": null ← NUEVO
}
✅ Implementado el 2026-07-20: El workflow del agente (
Lpq7fJUnLvRSzNwJ) fue actualizado. Nodos Found, Not Found y Entrada1 ahora usan carrera1, carrera2, estadoMatricula1, estadoMatricula2, tipoConvalidacion y estadoConvalidacion. El prompt de Mingo maneja el caso de doble carrera.
Métricas de rendimiento — UPDS REST API
2.87s
Cold start
Primera llamada del día
152ms
Respuesta cálida (p50)
Llamadas posteriores
280ms
Respuesta cálida (p90)
Pico en llamadas cálidas
821ms
Stress test p95
20 llamadas paralelas
1%
Éxito a 100 paralelas
99/100 HTTP 500 · colapso
Casos de prueba
| # | Endpoint | Caso de prueba | Input | HTTP | Tiempo | Estado | Resultado observado |
|---|
Issues conocidos
- ✅ Cold start 2.87s — mitigadoRedis cache implementado (2026-07-21): key
upds:student:tel:{tel}, TTL 86400s (encontrado) / 1800s (no encontrado). Primera llamada sigue siendo 2.87s, llamadas repetidas del mismo número van directo a Redis. - ⚠️ Cuenta de prueba en producciónEl número
11111111devuelve "SANDRA SANDRA SANDRA" — cuenta de test activa en el ambiente productivo de UPDS. - ⚠️ Signo + requiere URL-encodeNúmeros con
+591XXXXXXXXdeben enviarse como%2B591XXXXXXXXpara evitar HTTP 400. - 🔲 Rate limiting no documentadoLa API de UPDS no tiene headers de límite de velocidad visibles. Con 20 llamadas paralelas no se observaron errores, pero el umbral exacto es desconocido.
- 🔲 /por-documento pendiente de pruebaEl endpoint de verificación por CI + fecha de nacimiento está construido en el flujo pero sin prueba end-to-end en producción.
- 🔴 API colapsa a 100 concurrencias (prueba 2026-07-20)Test con 100 requests simultáneos: 1/100 exitoso (12.3s), 99/100 HTTP 500 (35–53s). Bajo alta demanda concurrente (ej. campus lleno), el agente fallará masivamente. Redis cache es CRÍTICO y urgente. Prueba realizada con número de test. Se recomienda solicitar a UPDS aumento de capacidad o rate limit documentado.
Resumen por pestaña
Fuentes de datos
APIDatos del estudiante vía REST (sede, carrera, nombre, CI, estado, correo)
RAGOfertas xlsx en Supabase pgvector (materia, docente, aula, horario, modalidad, grupo, cupos)
EstáticoRespuesta fija en knowledge base del agente
—Sin fuente disponible actualmente