Passar para o conteúdo principal

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

Atualizado ontem

Resumo

Os webhooks são uma forma como as aplicações enviam dados em tempo real a outros sistemas quando ocorrem eventos específicos. Ao contrário das APIs tradicionais que exigem uma sondagem 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?

Os webhooks são callbacks HTTP disparados por eventos específicos em um sistema. Quando um evento ocorre (por exemplo, um novo usuário se registra, 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. Gatilho de Evento – A ação que causa o disparo do webhook (por exemplo, novo pedido colocado).

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

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

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

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

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

Benefícios de usar webhooks

  • Atualizações em tempo real – Os dados são enviados instantaneamente em vez de serem extraídos periodicamente.

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

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

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

Como configurar um webhook

Siga essas etapas para criar e configurar um webhook:

1. Identifique o gatilho do evento

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

  • Um novo registro de usuário

  • Um pagamento concluído

  • Uma atualização de ticket de suporte

2. Configure a URL do webhook

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

URL de exemplo: https://seuapp.com/webhooks/sucesso-de-pagamento

3. Processar a carga do webhook

Seu servidor deve ser capaz de analisar e validar os dados de entrada.

Exemplo de carga JSON:

{   
"evento": "sucesso_de_pagamento",
"id_do_usuario": 12345,
"valor": 100.00,
"moeda": "USD"
}

4. Proteger o webhook

Para prevenir acesso não autorizado, considere:

  • Validar assinaturas de carga usando uma chave secreta HMAC.

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

  • Usar HTTPS para transmissão segura.

5. Lidar com respostas adequadamente

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

Resposta de exemplo:

{   
"status": "sucesso",
"mensagem": "Webhook recebido com sucesso."
}

Casos de uso comuns para webhooks

  • Comércio eletrônico: Atualizações de status de pedido

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

  • CRM: Atualizações de leads e interações de cliente

  • DevOps: Gatilhos de pipeline de CI/CD

  • Mensagens: Notificações de chatbot

Solução de problemas de webhooks

1. Webhook não disparado

  • Certifique-se de que o gatilho do evento esteja configurado corretamente.

  • Verifique se a URL do webhook é alcançável.

2. Dados de carga inválidos

  • Verifique o formato da carga e certifique-se de que ele atende às expectativas.

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

3. Problemas de autenticação

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

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

Detalhes adicionais

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

  • Para saber mais sobre webhooks da WATI, visite a documentação Webhooks (wati.io).

Perguntas frequentes (FAQs)

Perguntas gerais

1. O que são webhooks?

Os webhooks são notificações automatizadas enviadas de um sistema para outro quando ocorrem eventos específicos. Em vez de exigir uma sondagem constante, os webhooks enviam atualizações em tempo real usando solicitações HTTP.

2. Como os webhooks funcionam?

Quando um evento é disparado, 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:

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

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

  • Carga – Os dados enviados no formato JSON.

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

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

Configurando Webhooks

4. Como configuro um webhook?

Para configurar um webhook:

  • Identifique o evento que disparará o webhook.

  • Configure uma URL de webhook publicamente acessível.

  • Certifique-se de que seu servidor possa processar os dados de entrada.

  • Proteja 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 proteger meu webhook?

Para proteger os webhooks:

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

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

  • Sempre use HTTPS para transmissão segura.

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 bem-sucedido.

Solução de problemas de webhooks

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

  • Certifique-se de que o gatilho do evento esteja configurado corretamente.

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

  • Verifique os logs do servidor para erros.

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

  • Confirme se o formato da carga atende à estrutura esperada.

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

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

9. O que devo fazer se a autenticação do meu webhook falhar?

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

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

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

API do WhatsApp e webhooks da WATI

10. A API do WhatsApp Business suporta webhooks?

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

11. Onde posso aprender mais sobre webhooks da WATI?

Para detalhes sobre webhooks da WATI, visite a documentação Webhooks (wati.io).

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

As falhas de webhook geralmente ocorrem porque a Wati não está recebendo uma resposta 200 do endpoint do webhook. Certifique-se de que a URL do seu webhook esteja otimizada para lidar e responder às solicitações dentro de 5 segundos. Configure o webhook para enviar um aceno de recebimento e processe os dados do webhook posteriormente para evitar falhas.

Respondeu à sua pergunta?