Chat web

Coloque o assistente da Fiuit no seu site com uma linha de código, com dados de contato obrigatórios e regras por canal.

Atualizado:

O chat web é um widget 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), sem número nem aprovações de terceiros. As conversas chegam ao mesmo Inbox.

Se você hospeda o Fiuit por conta própria, o chat web vem desligado: ele é ativado com PUBLIC_WEBCHAT_ENABLED=true na API.

Instalar passo a passo

  1. Entre como proprietário em Configuração → Canais → Chat web.
  2. Em Sites permitidos adicione cada site onde vai usá-lo, um por linha, com https:// e sem curingas nem caminhos (por exemplo https://www.minhaloja.com). Para testar no seu computador, http://localhost é aceito.
  3. Escolha cor principal, posição do botão, idioma padrão e um título opcional (até 40 caracteres).
  4. Toque em Ativar chat web. Você recebe uma chave publicável wg_web_… e o código para colar.
  5. Cole o snippet antes de </body> em cada página onde quiser o chat:
<script src="https://fiuit.com/widget.js" data-key="wg_web_…" defer></script>

Atributos opcionais: data-locale (pt, es ou en; por padrão usa o idioma do navegador), data-offset-bottom (pixels, para subir o botão se o seu site tem uma barra fixa embaixo) e data-api (origem da API, só para ambientes de teste).

Se você tocar em Desativar, o chat deixa de funcionar e as conversas abertas são encerradas; ao ativar de novo você recebe uma chave nova e precisa atualizar o código.

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

O que o visitante vê

  • Um botão flutuante que abre o chat (no celular abre em tela cheia, respeitando as áreas seguras), em português, espanhol ou inglês.
  • Um chat breve de propósito: respostas curtas que propõem reservar ou continuar pelo WhatsApp. Pela web o visitante é anônimo e cada resposta custa.
  • Se o bot pedir a localização (por exemplo para uma entrega), oferece Usar minha localização, com consentimento explícito.
  • A conversa continua entre páginas e recarregamentos: ao voltar, o chat mostra o que foi conversado e as respostas que chegaram nesse meio tempo (com um aviso de mensagens novas se estava fechado). Um botão Nova conversa, no menu ⋯ do chat, apaga tudo e recomeça do zero.

Continuidade entre páginas e recarregamentos

Ao abrir a conversa, o servidor emite um código de sessão opaco. O widget o guarda no armazenamento do navegador (localStorage, ou sessionStorage se não estiver disponível) do site onde você instalou o chat, com uma chave por chave publicável. Não usa cookies nem serviços de terceiros, e ali não se guarda nada pessoal: nem nome, nem telefone, nem e-mail, nem mensagens. Os dados de contato declarados ficam só no servidor, então o chat não os pede de novo dentro da mesma conversa.

  • Ao carregar outra página ou recarregar, o widget valida o código, traz o histórico e se reconecta para receber as respostas novas.
  • Vencimento: a conversa vence por inatividade e por um limite máximo de duração. Se o código venceu, foi encerrado ou apagado, o widget o descarta e começa uma conversa nova, sem mostrar erros.
  • Nova conversa: o visitante a escolhe no menu ⋯. O código é invalidado no servidor, o do navegador é apagado e o chat começa vazio. A equipe mantém o histórico anterior no Inbox até a limpeza.
  • Modo privado ou armazenamento bloqueado: o chat funciona igual, mas a conversa não sobrevive a um recarregamento.
  • Canal pausado: se você pausou o canal, o chat não aparece mesmo que o visitante tenha um código guardado; ao retomar, a conversa continua.

O código não é um segredo forte: é uma chave de uma única conversa, nunca dá acesso a outras nem ao painel. Só funciona a partir das origens que você autorizou no widget, está sujeito aos mesmos limites de uso e é invalidado ao vencer, ao escolher Nova conversa e na limpeza da conversa.

Dados de contato obrigatórios

Por padrão o bot não conversa até ter telefone e e-mail: diante de qualquer mensagem responde um texto fixo (sem IA) e o chat mostra um mini formulário (telefone com seletor de país, em formato internacional, e e-mail). Assim que é preenchido, a primeira mensagem do visitante é processada sozinha, sem que ele a repita.

Os dados são declarados, não verificados: não identificam o visitante nem se unem a clientes existentes. São guardados cifrados e apagados junto com a conversa vencida.

Regras do bot por canal

Em Canais → Regras do bot por canal (proprietário e gerente) você escolhe o canal (Chat web ou WhatsApp) e define:

RegraO que fazChat web (padrão)WhatsApp (padrão)
Dados exigidosNome, telefone e/ou e-mail antes de conversartelefone e e-mailnenhum (o telefone já chega do canal)
Quando pedeDesde a primeira mensagem, depois de algumas respostas, ou nuncadesde a primeira mensagemnunca
Texto com que pedeUm texto fixo personalizávelo padrãonão se aplica
Limite de respostasTeto de respostas do bot por conversa6sem teto
O que oferece ao chegar ao limiteContinuar pelo WhatsApp e/ou receber as informações por e-mailambosnenhum
Estilo do bot no canalUma preferência de tom (até 500 caracteres)respostas curtasnenhuma

São regras do projeto: o servidor as aplica antes de acionar a IA, mesmo que alguém use a API pública sem o widget. Ao chegar ao limite, o bot para de responder e de gastar IA, envia uma mensagem fixa com as opções e a conversa fica no Inbox como "precisa de acompanhamento", com os dados que o visitante deixou. Se não há WhatsApp conectado, essa opção não é oferecida.

Segurança

  • A chave publicável só abre conversas anônimas: não dá acesso ao painel, à API privada nem a dados de clientes. Pode ser revogada quando quiser.
  • O negócio sempre sai da chave; o widget nunca envia um identificador de negócio.
  • Só os sites permitidos podem usar o chat. Sem cookies.
  • A checagem da origem não é autenticação: só protege contra outros sites em um navegador. A proteção real são os limites de uso.
  • Há tetos de mensagens por conversa, por hora e por dia. Ao esgotar, o chat pede que você aguarde e a IA não é acionada.
  • O texto do visitante é tratado como dado não confiável, e o widget o mostra sempre como texto simples.
  • O chat só responde: não envia mensagens proativas.
  • Você pode pausar o bot ou o canal inteiro se precisar; com o canal pausado o widget se oculta.

API

Gestão (proprietário): GET|PUT|DELETE /v1/webchat-site. Regras por canal (proprietário e gerente): GET /v1/bot/channel-policies e PUT /v1/bot/channel-policies/{channel}. Os endpoints públicos do widget estão no contrato OpenAPI em /v1/public/webchat.