Borrador

WebChat en tu sitio

Pon el asistente de Wagend en tu sitio con una sola línea de script, sin número de WhatsApp.

El WebChat es un widget de chat que tu negocio pega en su propio sitio. Conversa con el mismo bot de WhatsApp (mismos horarios, precios y reservas), pero sin número ni aprobaciones de terceros: ideal para probar y como vitrina en tu web.

Instalar

  1. En el panel, como owner, publica el WebChat e indica los dominios permitidos (por ejemplo https://www.mitienda.com). Recibes una clave publicable wg_web_….
  2. Pega el snippet antes de </body>:
<script src="https://wagend.app/widget.js" data-key="wg_web_…" defer></script>

Atributos opcionales: data-locale (pt, es o en; por defecto usa el idioma del navegador) y data-api (origen de la API, solo para entornos de prueba). Color, posición y título vienen de la configuración del workspace.

Hay una página de demostración en /demo/webchat donde pegas la clave y ves el widget funcionando.

Qué ve el visitante

  • Un botón flotante que abre el chat; textos en portugués, español o inglés.
  • Nombre y teléfono son opcionales y no se verifican: no identifican al visitante ni se unen a clientes existentes.
  • La conversación vive en la memoria de la página: al recargar empieza una nueva. No se guarda nada en el navegador.

Seguridad

  • La clave publicable solo abre conversaciones anónimas: no da acceso al panel, a la API privada ni a datos de clientes. Se puede revocar en cualquier momento (y rota al publicar de nuevo).
  • El workspace sale siempre de la clave; el widget nunca envía un workspace_id.
  • Solo los dominios permitidos pueden usar el chat (CORS por workspace). Sin cookies.
  • El chequeo de Origin no es autenticación. Solo protege contra otros sitios web en un navegador; cualquier cliente que no sea un navegador (un script, curl) puede enviar el Origin que quiera. Por eso la clave publicable no es un secreto y la protección real son los límites de uso, no el origen.
  • Topes de costo: mensajes por conversación y por hora, mensajes diarios por workspace, conversaciones nuevas por hora y conexiones en vivo simultáneas. Al agotarse, la API responde 429 con Retry-After y el asistente no se invoca. Las conversaciones inactivas vencen solas y se purgan, incluido el nombre declarado del visitante.
  • Límites de uso por IP, por conversación y por workspace; mensajes de hasta 1000 caracteres.
  • El texto del visitante es un dato no confiable para el asistente, y el widget muestra todo texto como texto plano (nunca HTML).
  • El chat es solo reactivo: no envía recordatorios ni mensajes proactivos.

API

Gestión (owner, cookie de panel): GET|PUT|DELETE /v1/webchat-site. Públicos: GET /v1/public/webchat/config, POST /v1/public/webchat/sessions, GET|POST /v1/public/webchat/sessions/{id}/messages y GET /v1/public/webchat/sessions/{id}/events (SSE). El contrato está en packages/openapi/openapi.yaml.

Desactivado por defecto (PUBLIC_WEBCHAT_ENABLED=false) hasta la revisión de seguridad y la activación explícita.