Skip to main content
Este guia é para o desenvolvedor que vai incorporar o widget de chat do Switchbord em um site. A instalação é uma única tag de script assíncrona; todo o resto desta página é aprofundamento opcional — receitas para SPAs, o SDK JavaScript, identidade assinada para usuários autenticados e resolução de problemas.

Pré-requisitos

Do operador do workspace (ou de Settings → Integrations → Channels → Website widget, se for você):
  • O snippet de instalação (ou apenas o slug do widget e a URL base da API).
  • Confirmação de que a origem do seu site está na lista de origens permitidas do widget — o esquema + host exatos, p. ex. https://www.example.com. www e o domínio raiz são origens diferentes; adicione ambos se ambos servirem o site.
A base da API hospedada é https://api.switchbord.ai. Instâncias self-hosted substituem seu próprio domínio de API em todos os lugares em que ele aparece abaixo.

O snippet

Cole isto antes da tag de fechamento </body> em cada página que deve exibir o widget:
Essa é a instalação inteira. O script injeta uma bolha de abertura e um iframe isolado; aparência, textos e comportamento de IA são todos controlados em Settings do Switchbord e publicados sem mudanças no snippet.
Se você quiser chamar o SDK antes de o script ter carregado (por exemplo setVisitor em código inline), adicione primeiro o stub de fila de comandos — chamadas feitas antes do carregamento são enfileiradas e reexecutadas:

Receitas por framework

Cole o snippet antes de </body> no seu layout/template base para que ele apareça em todas as páginas. Pronto.
Use next/script no layout raiz para que o widget carregue uma vez por sessão de navegação, apenas no cliente:
Não renderize o script dentro de páginas que remontam a cada navegação — o loader é idempotente (não vai criar um segundo iframe), mas carregá-lo uma única vez no layout é mais limpo.
Carregue uma vez em um effect de nível superior:
Crie uma tag de Custom HTML contendo o snippet, dispare-a em All Pages (ou com um acionador por caminho de página se você só quiser em algumas páginas) e publique. Lembre-se de que o GTM dispara a partir da origem do seu site, então o requisito da lista de origens permitidas permanece o mesmo.
Cole o snippet no footer.php do seu tema antes de </body>, ou use qualquer plugin do tipo “insert headers and footers” e coloque-o na seção de rodapé. Plataformas de construção de sites (Webflow, Squarespace, Shopify) todas têm uma configuração equivalente de “código personalizado antes de </body>”.

Content-Security-Policy

Se o seu site usa uma CSP, permita a origem da API do Switchbord nestas diretivas:
A interface do widget roda dentro de um iframe servido a partir da origem da API, então sua página só precisa carregar o script do loader e incorporar o frame — nenhuma permissão de script inline ou estilo é exigida do seu site.

SDK JavaScript

O loader expõe window.SwitchbordWidget: Eventos para on(event, fn):

Identidade assinada (Secure Mode)

Se o seu site tem usuários autenticados, emita um JWT HS256 de curta duração no seu servidor e passe-o para login() para que o Switchbord saiba de forma verificável quem é o visitante. Visitantes verificados retomam a conversa entre dispositivos, e os operadores veem dados de contato verificados em vez de sessões anônimas. Configuração:
  1. No Switchbord, gere o segredo de assinatura de identidade do widget em Settings → Integrations → Provider secrets (widget-identity-secret). Ele é armazenado no Vault do workspace; o navegador nunca o vê.
  2. Defina o modo de identidade do widget nas configurações do widget (e, opcionalmente, Require identity para bloquear mensagens até o login).
  3. Emita tokens no lado do servidor com estas claims:
Depois, na página para usuários autenticados:
O segredo de assinatura nunca deve chegar ao navegador. Emita tokens em um endpoint de servidor ou injete-os na página no lado do servidor. Qualquer biblioteca JWT padrão (jsonwebtoken, firebase/php-jwt, PyJWT) também funciona — os exemplos manuais acima existem apenas para evitar uma dependência.

Verifique a instalação

  1. Abra o seu site — a bolha de abertura aparece no canto inferior direito (ou inferior esquerdo, conforme o tema) em um ou dois segundos.
  2. curl https://api.switchbord.ai/api/v1/widgets/YOUR_WIDGET_SLUG/config retorna 200 com o JSON de configuração do widget.
  3. Envie uma mensagem de teste pelo widget — ela aparece na caixa de entrada do Switchbord em tempo real.
  4. Responda pela caixa de entrada — o visitante a vê (com o nome do operador) em poucos segundos; se o painel estiver fechado, um selo de não lidas aparece no botão de abertura.
  5. Se o modo de IA for draft ou auto-send, a mensagem de teste produz um rascunho do GBCA (ou uma resposta autônoma) após um breve debounce.

Resolução de problemas

Prompt de instalação para agentes de programação com IA

Entregue isto ao Cursor, Claude Code, Copilot ou qualquer agente de programação que trabalhe no seu site. Substitua os dois placeholders, cole e deixe-o executar. O prompt está intencionalmente em inglês, pois foi feito para ser colado literalmente em agentes de programação que operam em inglês.
Testes em localhost: adicione http://localhost:3000 (ou a sua porta de desenvolvimento) às origens permitidas do widget durante o desenvolvimento, e remova antes de ir ao ar. Uma lista de permissões vazia libera todas as origens — aceitável para um primeiro teste rápido, não para produção.