El widget de chat es un script JS que integras en tu sitio web (marketing, soporte, aplicación). Abre una ventana de conversación impulsada por uno de tus pipelines de betool; las respuestas del agente se muestran a medida que se generan (streaming).
Características
- Un snippet que pegar en tu página. Sin dependencias npm; el widget vive en un Shadow DOM, así que el CSS de tu sitio no lo deforma (y a la inversa).
- Token público — regenerable en cualquier momento desde el editor. Ningún secreto del lado del cliente.
- Continuidad por pestaña — el identificador de conversación se conserva en
sessionStorage: recargar la página retoma el hilo, cerrar la pestaña lo termina. El widget no deposita ninguna cookie. - 8 idiomas — la interfaz del widget sigue el idioma del navegador del visitante.
- Protecciones antiabuso activas por defecto — 20 mensajes por minuto y por IP, 10 sesiones nuevas por minuto y por IP, 4 000 caracteres como máximo por mensaje (ajustables;
0desactiva una protección). Un límite global por widget (20 veces el límite por IP) bloquea también las avalanchas repartidas entre varias IP.
Puesta en marcha
- En el editor del modelo, configura el nodo Start con un receptor Chat (widget web).
- Al guardar, betool genera el token público y muestra el snippet de integración, listo para copiar:
<script src="https://platform.betool.ai/widget/v1/widget.js"></script>
<script>
BetoolChat.init({ token: "<token-public-du-widget>" });
</script>
- Pega este snippet en la etiqueta
<body>de tu sitio. El widget aparece automáticamente, abajo a la derecha por defecto.
Personalización
Desde la configuración del receptor:
- Apariencia — título mostrado, color primario, posición (cuatro esquinas), forma del lanzador (pestaña o burbuja) y su texto.
- Textos — mensaje de bienvenida, texto del campo de entrada, texto de estado (o indicación «en línea» traducida).
- Renderizado — visualización del markdown de las respuestas (activada por defecto).
- Contexto de página — transmite con cada mensaje el origen y la ruta de la página actual (nunca la query string). Activado por defecto, desactivable.
- Perímetro — restringir los orígenes permitidos.
Seguridad
El token es público por diseño: solo permite hablar con el modelo que lleva este receptor. Si indicas Orígenes permitidos, una petición procedente de otro origen se rechaza del lado del servidor (403); una lista vacía (o *) no impone ninguna restricción — resérvala para el desarrollo. Para revocar un token comprometido: botón regenerar junto a la URL pública, en la configuración del receptor (todos los snippets ya en producción dejan entonces de funcionar).
Limitaciones
- Sin co-browsing: el agente no ve la página del usuario, solo su origen y su ruta (si el contexto de página está activado).
- Sin envío de archivos adjuntos desde el widget. Para recibir archivos, utiliza un pipeline de correo electrónico o de webhook.
- Sin reanudación de la conversación de una visita a otra: cerrar la pestaña termina el hilo.