Skip to main content
O Webhook de Atendimento notifica seu sistema externo sempre que uma conversa é finalizada no Tartini. A cada encerramento, o Tartini envia um POST em JSON para a URL configurada, contendo os dados da conversa e do contato. Opcionalmente, o payload pode incluir o resumo gerado pelo Tino, o histórico de mensagens e a nota CSAT. A configuração fica em Configurações > Integrações > Webhooks > Finalização de Atendimento (talk.saninternet.com/settings/webhooks).
O disparo acontece quando a conversa é finalizada de fato. Isso inclui a finalização manual pelo atendente, o encerramento automático por inatividade e a finalização após a avaliação CSAT (com ou sem resposta do cliente).

Configuração

1

Ative o webhook

Em Configurações > Integrações > Webhooks > Finalização de Atendimento, ligue a chave Ativar webhook.
2

Informe a URL de destino

O endpoint do seu sistema que receberá o POST. Informe a URL completa, incluindo o protocolo (http:// ou https://).
3

Gere o secret de assinatura

Clique em Gerar novo secret e guarde o valor com segurança. Ele será usado para validar a autenticidade de cada entrega.
4

Escolha o conteúdo do payload

Conversa e contato são sempre enviados. Você pode incluir também o resumo do Tino, o histórico de mensagens e a nota CSAT.
5

Defina o filtro de relevância (opcional)

Com Registrar apenas atendimentos relevantes ativo, conversas triviais (como um cumprimento sem continuação) não são enviadas ao seu sistema.
6

Teste a entrega

O botão Testar webhook envia uma entrega de teste para a URL configurada, para validar a integração antes de ativar.

Identificando o cliente: o ID externo

Para o seu sistema saber a qual cliente o atendimento pertence, cada contato do Tartini possui um campo ID externo: um código livre que referencia o cliente no seu sistema (por exemplo, o ID dele no seu ERP ou CRM). O atendente define esse valor no painel de detalhes do contato, dentro do Inbox. Uma vez preenchido, ele acompanha o contato em todas as finalizações futuras e chega no payload como contact.externalId.
Quando o ID externo não estiver preenchido, contact.externalId chega como null. O payload também traz contact.phoneNumber.

Formato do payload

Campos especiais

Quando o resumo do Tino está habilitado, a entrega aguarda a geração do resumo e pode atrasar alguns minutos em relação ao encerramento da conversa.

Entrega e resposta

  • O POST é enviado com Content-Type: application/json.
  • Seu endpoint deve responder com um status 2xx para confirmar o recebimento.

Headers enviados


Validando a assinatura

Toda entrega é assinada com HMAC-SHA256 usando o secret configurado, enviado no header X-Webhook-Signature. Requisições com assinatura inválida devem ser rejeitadas.
O secret nunca trafega nas requisições. Se ele vazar, gere um novo na tela de configuração e salve. As próximas entregas passam a usar o novo valor imediatamente.