Eventos do Deskwoot na sua própria URL no momento em que acontecem
Os webhooks enviam eventos do Deskwoot para uma URL que você escolhe, no momento em que acontecem: uma nova conversa, uma nova mensagem, uma atribuição, uma conversa resolvida, uma mudança de contato ou uma avaliação CSAT. Cada um chega como JSON em uma requisição POST assinada, e os seus sistemas reagem aos eventos em vez de consultar a API o tempo todo.
Visão geral
Os dados do seu suporte muitas vezes precisam chegar a outro sistema: um CRM que deve saber de cada contato novo, um banco de dados que conta as conversas resolvidas, uma automação sua que roda quando um cliente avalia um chat. Os webhooks fazem isso sem código que fica consultando o Deskwoot. O Deskwoot chama a sua URL assim que algo acontece.
Você escolhe os eventos de cada webhook: conversa criada, atualizada, atribuída e resolvida, mensagem criada, contato criado e atualizado, e CSAT enviado. No plano Enterprise com os tickets ativados, também ticket criado, atualizado, atribuído e resolvido. Um webhook sem nenhum evento marcado recebe todos os eventos, menos os de tickets, que vão só para os webhooks que os escolhem. Para várias URLs, crie um webhook para cada uma, com os eventos dela.
Cada evento é uma requisição POST com um corpo JSON que traz event (o nome do evento), data (os dados do evento, descritos na documentação da API), timestamp e accountId. O cabeçalho X-Deskwoot-Event traz o nome do evento, e X-Deskwoot-Signature traz sha256= seguido do HMAC SHA256 do corpo bruto, assinado com o segredo do webhook.
O Deskwoot envia cada evento na hora, sem fila. O seu endpoint tem 10 segundos para responder com um status 2xx. Se a requisição falhar, receber um erro ou demorar mais, o Deskwoot tenta mais uma vez depois de 5 segundos, e depois disso o evento é descartado. Raramente um evento chega duas vezes. O corpo não tem um ID de evento, mas uma repetição é uma cópia exata com o mesmo timestamp, então use o nome do evento, o ID do objeto em data e o timestamp juntos para pular o que você já processou. O Deskwoot só envia para endereços HTTPS públicos.
Um webhook só envia dados para fora do Deskwoot. Para responder aos clientes a partir do seu próprio servidor, use um bot Custom Webhook em Configurações → Bots (a partir do plano Startup). Para atribuir, etiquetar ou resolver conversas ou atualizar contatos a partir do seu código, use a API REST, que exige um plano Enterprise pago. Os webhooks exigem o plano Startup ou superior, e o teste de 7 dias os inclui. No plano Free, os webhooks criados antes continuam listados, mas não enviam nada até o seu plano incluir webhooks de novo.
O que você ganha com a integração com Webhooks
Eventos na hora
Novas conversas, mensagens, atribuições, conversas resolvidas, mudanças de contato e avaliações CSAT chegam à sua URL na hora, sem consultas repetidas.
JSON assinado
Cada requisição é um POST com corpo JSON, o nome do evento em X-Deskwoot-Event e uma assinatura HMAC SHA256 em X-Deskwoot-Signature.
Só os eventos de que você precisa
Escolha os eventos de cada webhook e envie eventos diferentes para URLs diferentes, com um webhook para cada.
Pausar sem excluir
Uma chave desliga e liga de novo um webhook, e Editar muda a URL ou os eventos dele.
Como começar
Conecte o Webhooks em 3 passos.
- No Deskwoot, abra Configurações → Webhooks e clique em Adicionar webhook. Só administradores veem esta página.
- Informe um endereço HTTPS público em URL do endpoint e marque os eventos que você quer em Inscrever-se em eventos.
- Clique em Criar webhook. A partir daí o Deskwoot envia uma requisição POST para a sua URL toda vez que um desses eventos acontece.
