POST/api/global-chatbot/demo/poll

Consulta nuevos mensajes llegados de forma asíncrona en una sesión demo, por ejemplo si un agente humano tomó el control en Master Admin; el widget la llama periódicamente.

`POST /api/global-chatbot/demo/poll` consulta nuevos mensajes o cambios de estado de una sesión demo existente. El body contiene `session_id` y `visitor_id`. Ambos deben proceder de la misma conversación demo pública. Si falta uno de ellos, el servidor responde con `400 PARAMS_REQUIRED`. La ruta no requiere inicio de sesión y lee el estado actual de la sesión demo. Se utiliza cuando una respuesta no llega inmediatamente con la solicitud anterior o cuando la interfaz debe mostrar mensajes recibidos posteriormente. El polling no sustituye al envío de un mensaje y no genera por sí mismo una nueva consulta del visitante. El cliente debe esperar un intervalo razonable entre llamadas. Un bucle infinito muy rápido aumenta la carga y puede activar rate limits sin acelerar la respuesta. Si la sesión termina, deja de ser válida o no puede encontrarse, el polling debe detenerse y la interfaz debe ofrecer un nuevo inicio. Las páginas cerradas o pestañas ocultas no deben dejar solicitudes de fondo funcionando permanentemente. `session_id` y `visitor_id` no son credenciales generales para otras conversaciones. No deben compartirse entre visitantes ni enviarse junto con mensajes a herramientas públicas de análisis. La demo permanece separada de las conversaciones de tenants y de los datos de la Inbox productiva. Una prueba correcta inicia una sesión demo, envía un mensaje y después llama a poll con los mismos identificadores. También se prueba una solicitud sin `visitor_id`. El test negativo documentado demuestra el error, no que una conversación productiva completa se haya finalizado correctamente.

Autenticación y seguridad

No se requiere autenticación

Idempotente:

Parámetros

session_id(body, string, obligatorio)
visitor_id(body, string, obligatorio)

Solicitud de ejemplo

{"session_id":"<UUID>","visitor_id":"<UUID>"}

Respuesta de ejemplo

{"ok":true,"data":{"messages":[]}}

Códigos de error

400 PARAMS_REQUIREDFalta session_id y/o visitor_id.

Evidencia de prueba en vivo

Éxito (200, lista vacía porque no había nuevos mensajes asíncronos desde demo.chat) y caso negativo (400) verificados live.

Chatbot demo y SSO