Rascunho

WebChat no seu site

Coloque o assistente do Wagend no seu site com uma única linha de script, sem número de WhatsApp.

O WebChat é um widget de chat que o seu negócio cola no próprio site. Ele conversa com o mesmo bot do WhatsApp (mesmos horários, preços e reservas), mas sem número nem aprovação de terceiros: ideal para testar e para a vitrine do seu site.

Instalar

  1. No painel, como owner, publique o WebChat e informe os domínios permitidos (por exemplo https://www.minhaloja.com.br). Você recebe uma chave publicável wg_web_….
  2. Cole o snippet antes de </body>:
<script src="https://wagend.app/widget.js" data-key="wg_web_…" defer></script>

Atributos opcionais: data-locale (pt, es ou en; por padrão usa o idioma do navegador) e data-api (origem da API, só para ambientes de teste). Cor, posição e título vêm da configuração do workspace.

Há uma página de demonstração em /demo/webchat onde você cola a chave e vê o widget funcionando.

O que o visitante vê

  • Um botão flutuante que abre o chat; textos em português, espanhol ou inglês.
  • Nome e telefone são opcionais e não são verificados: não identificam o visitante e não se unem a clientes existentes.
  • A conversa vive na memória da página: ao recarregar, começa uma nova. Nada é gravado no navegador.

Segurança

  • A chave publicável só abre conversas anônimas: não dá acesso ao painel, à API privada nem a dados de clientes. Ela pode ser revogada a qualquer momento (e rotacionada ao publicar de novo).
  • O workspace vem sempre da chave; o widget nunca envia um workspace_id.
  • Só os domínios permitidos podem usar o chat (CORS por workspace). Sem cookies.
  • A verificação de Origin não é autenticação. Só protege contra outros sites em um navegador; qualquer cliente que não seja um navegador (um script, curl) pode enviar o Origin que quiser. Por isso a chave publicável não é um segredo e a proteção real são os limites de uso, não a origem.
  • Tetos de custo: mensagens por conversa e por hora, mensagens diárias por workspace, conversas novas por hora e conexões ao vivo simultâneas. Ao esgotar, a API responde 429 com Retry-After e o assistente não é chamado. Conversas inativas expiram sozinhas e são apagadas, inclusive o nome declarado do visitante.
  • Limites de uso por IP, por conversa e por workspace; mensagens de até 1000 caracteres.
  • O texto do visitante é tratado como dado não confiável pelo assistente, e o widget mostra todo texto como texto puro (nunca HTML).
  • O chat é apenas reativo: não envia lembretes nem mensagens proativas.

API

Gestão (owner, cookie de painel): 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 e GET /v1/public/webchat/sessions/{id}/events (SSE). Veja o contrato em packages/openapi/openapi.yaml.

Desativado por padrão (PUBLIC_WEBCHAT_ENABLED=false) até a revisão de segurança e a ativação explícita.