Qué es esto

Esta página no implementa el chat: lo embebe. Lo único que aporta es la identidad del visitante, que en un sitio real ya está validada por su propio login. Editá el JSON y presioná «Inicializar widget» para comenzar. El editor no ejecuta JavaScript ni guarda su contenido.

Controles del host

Son los mismos controles que usaría un sitio real para hablar con el widget. Ninguno manda identidad ni tokens por la URL.

Identidad

El ejemplo LOCAL usa el admin sembrado. Otro tenant empieza con «demo-visitor». La identidad recordada por este host puede reemplazar el ejemplo: es una simulación, nunca autenticación real. Si había otra identidad guardada, elegí manualmente «seed:bito-test:admin-inicial» para usar el nuevo admin de prueba.

Ciclo

Cerrar solo oculta. Logout deja la instancia inutilizable y espera la limpieza; después «Inicializar widget» simula un nuevo login, con la misma configuración. La identidad recordada no es autenticación real. El host controla autenticación, navegación y documentos restaurados; no hay logout ni init automáticos al navegar.

Destinatario existente del tenant. No crea humanos ni envía mensajes. Para humanos usá su ID local de chat, no externalId.

Asistentes de esta instancia

Para cambiar de empresa, recargá completamente esta página y elegí el nuevo ámbito antes de inicializar. También se requiere recarga en una SPA.

Elegí antes de Inicializar. [] no habilita ninguno; contexto no habilita asistentes. Para cambiar selección, recargá. General e historial siguen compartidos.

Contexto

Tenant: cargando…. El origen del host es el de esta página; el widget se sirve desde el origen de su script. Estos datos y la identidad se configuran fuera del JSON. No pegues secretos ni tokens.

Merge superficial. Cada clave es el agentId remoto de un asistente seleccionado; una clave que no exista se descarta. Acompaña a cada mensaje y no se persiste.

Los valores son escalares: texto, número o booleano. Un objeto anidado, un array o null se descartan, porque el asistente no los acepta.

El contexto no se puede vaciar. Se fusiona, así que las claves de primer nivel omitidas se conservan. El mapa de un asistente incluido se sustituye completo, no se fusiona por dentro. Mandar {} no borra las claves anteriores. Para partir de cero podés cerrar sesión y luego inicializar con el JSON deseado (mismo ámbito), o recargar.

Listo para inicializar. Solo se envía el JSON al pulsar un botón.

Log del host

Solo el tipo del evento y la hora. Sin payloads ni configuración: un log de demo no se convierte en una fuga de datos del visitante.