Documentación

Widget de chat web

Widget de chat integrable en cualquier sitio web con un único script JS.

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; 0 desactiva 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

  1. En el editor del modelo, configura el nodo Start con un receptor Chat (widget web).
  2. 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>
  1. 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.