Passar para o conteúdo principal

Guia de Webhooks: Webhooks do Wati ou Gateway de API do WhatsApp?

Atualizado há mais de 2 semanas

Resumo

Webhooks são uma forma de aplicativos enviarem dados em tempo real para outros sistemas quando eventos específicos ocorrem. Diferente de APIs tradicionais que exigem poling constante, os webhooks enviam atualizações automaticamente, tornando-os eficientes para notificações e ações baseadas em eventos. Este guia explica como os webhooks funcionam, seus benefícios e como configurá-los.

Webhooks: Um Guia Completo

O Que São Webhooks?

Webhooks são retornos HTTP acionados por eventos específicos em um sistema. Quando um evento ocorre (por exemplo, um novo usuário se cadastra, um pagamento é processado), o sistema envia uma solicitação HTTP (geralmente uma solicitação POST) para uma URL configurada.

Componentes Principais de um Webhook

  1. Disparador de Evento – A ação que aciona o webhook (por exemplo, novo pedido feito).

  2. URL do Webhook – O endpoint para onde os dados serão enviados.

  3. Carga Útil – Os dados enviados na solicitação HTTP, geralmente em formato JSON.

  4. Método HTTP – Geralmente POST, usado para entregar os dados.

  5. Tratamento de Resposta – O servidor receptor processa a solicitação e pode responder com uma mensagem de sucesso ou erro.

Quando o evento disparador ocorre, o cliente do WhatsApp Business API detecta-o, coleta os dados relevantes e envia imediatamente uma solicitação HTTP para a URL do Webhook configurada nas configurações da aplicação. Essa solicitação atualiza o status das mensagens enviadas ou nota quando uma nova mensagem é recebida.

Benefícios de Usar Webhooks

  • Atualizações em tempo real – Os dados são enviados instantaneamente, não necessitando de consultas periódicas.

  • Eficiente – Reduz chamadas desnecessárias de API, economizando recursos.

  • Fácil de implementar – Requere apenas um endpoint para receber os dados.

  • Escalável – Funciona bem para aplicações de alto volume baseadas em eventos.

Como Configurar um Webhook

Siga estas etapas para criar e configurar um webhook:

1. Identificar o Disparador de Evento

Determine qual ação acionará o webhook, como:

  • Um novo cadastro de usuário

  • Um pagamento concluído

  • Uma atualização no ticket de suporte

2. Configurar a URL do Webhook

Configure um endpoint do servidor para receber solicitações de webhooks. Esta URL deve ser acessível publicamente e capaz de lidar com solicitações HTTP POST recebidas.

Exemplo de URL:https://seuapp.com/webhooks/payment-success

3. Processar a Carga Útil do Webhook

Seu servidor deve poder analisar e validar os dados recebidos.

Exemplo de carga útil em JSON:

{   "event": "payment_success",   "user_id": 12345,   "amount": 100.00,   "currency": "USD" }

4. Segurando o Webhook

Para evitar acesso não autorizado, considere:

  • Validar assinaturas de carga útil usando uma chave secreta HMAC.

  • Restringir endereços IP a fontes confiáveis.

  • Usar HTTPS para transmissão segura.

5. Tratar Respostas Adequadamente

Seu servidor deve retornar um código de status HTTP 2xx (200 OK) para confirmar o recebimento com sucesso. Se ocorrer uma falha, o remetente pode reenviar a solicitação.

Exemplo de resposta:

{   "status": "success",   "message": "Webhook recebido com sucesso." }

Casos de Uso Comuns para Webhooks

  • E-commerce: Atualizações de status de pedidos

  • Pagamentos: Notificações de transações

  • CRM: Atualizações de leads e interações com clientes

  • DevOps: Disparadores de pipeline CI/CD

  • Mensagens: Notificações de chatbot

Solução de Problemas com Webhooks

1. Webhook Não Acionado

  • Garanta que o disparador de evento está configurado corretamente.

  • Verifique se a URL do webhook está acessível.

2. Dados de Carga Útil Inválidos

  • Verifique o formato da carga útil e garanta que ele corresponda às expectativas.

  • Registre solicitações recebidas para fins de depuração.

3. Problemas de Autenticação

  • Confirme se as chaves de API ou assinaturas correspondem aos valores esperados.

  • Use registros para capturar falhas de autenticação.

Detalhes Adicionais

  • O WhatsApp API Gateway suporta webhooks. Você pode encontrar a documentação aqui.

  • Para saber mais sobre webhooks do WATI, visite Webhooks (wati.io).

Perguntas Frequentes (FAQs)

Perguntas Gerais

1. O que são webhooks?

→ Webhooks são notificações automáticas enviadas de um sistema para outro quando eventos específicos ocorrem. Em vez de exigir poling constante, os webhooks enviam atualizações em tempo real usando solicitações HTTP.

2. Como funcionam os webhooks?

→ Quando um evento é acionado, o sistema coleta os dados relevantes e os envia como uma solicitação HTTP POST para uma URL de Webhook pré-definida. O sistema receptor processa os dados e pode responder com uma mensagem de sucesso ou erro.

3. Quais são os componentes principais de um webhook?

→ Um webhook consiste em:

  • Disparador de Evento – A ação que inicia o webhook (por exemplo, novo pedido, pagamento concluído).

  • URL do Webhook – O endpoint para onde os dados são enviados.

  • Carga Útil – Os dados enviados no formato JSON.

  • Método HTTP – Geralmente uma solicitação POST.

  • Tratamento de Resposta – O servidor receptor processa e confirma a solicitação.

Configurando Webhooks

4. Como configurar um webhook?

→ Para configurar um webhook:

  • Identifique o evento que acionará o webhook.

  • Configure uma URL de Webhook acessível publicamente.

  • Garanta que seu servidor possa processar os dados recebidos.

  • Segure o webhook usando métodos de autenticação como assinaturas HMAC.

  • Retorne um código de status HTTP 2xx para confirmar o recebimento.

5. Como posso segura meu webhook?

→ Para segurar webhooks:

  • Use validação de assinatura HMAC para verificar a integridade da carga útil.

  • Restrinja solicitações a endereços IP confiáveis.

  • Sempre use HTTPS para transmissão criptografada.

6. O que meu servidor deve retornar após receber um webhook?

→ Seu servidor deve retornar um código de status HTTP 2xx (por exemplo, 200 OK) para confirmar o recebimento com sucesso.

Solução de Problemas com Webhooks

7. Por que meu webhook não está sendo acionado?

  • Garanta que o disparador de evento está configurado corretamente.

  • Verifique se a URL do webhook é acessível.

  • Verifique os logs do servidor em busca de erros.

8. Por que meu webhook está retornando um erro de carga útil inválida?

  • Confirme se o formato da carga útil corresponde à estrutura esperada.

  • Valide os dados JSON recebidos antes de processá-los.

  • Registre as solicitações recebidas para fins de depuração.

9. O que devo fazer se minha autenticação de webhook falhar?

  • Verifique se as chaves de API ou assinaturas HMAC correspondem aos valores esperados.

  • Verifique se os headers da solicitação contêm os detalhes de autenticação corretos.

  • Ative o registro para rastrear falhas de autenticação.

WhatsApp API e Webhooks do WATI

10. O WhatsApp Business API suporta webhooks?

→ Sim, o WhatsApp API Gateway suporta webhooks. Você pode encontrar a documentação oficial de webhooks aqui.

11. Onde posso aprender mais sobre webhooks do WATI?

→ Para obter detalhes sobre webhooks do WATI, consulte a documentação Webhooks (wati.io).

12. Por que meus webhooks estão falhando no Wati?

→ Falhas em webhooks geralmente acontecem porque o Wati não está recebendo uma resposta 200 do seu endpoint de webhook. Certifique-se de que sua URL do webhook está otimizada para lidar e responder a solicitações dentro de 5 segundos. Configure o webhook para enviar um reconhecimento de recebimento e processar os dados do webhook posteriormente para evitar falhas.

Respondeu à sua pergunta?