Webhooks



O que são Webhooks?

Um webhook é um jeito automático de um sistema avisar outro sistema quando algo acontece. Em vez de um sistema ficar perguntando o tempo todo se tem novidade, o outro simplesmente avisa na hora certa.

Como funciona?

Pensa no seguinte exemplo:
  1. Você pede uma pizza pelo aplicativo.
  2. Em vez de você ficar ligando pra pizzaria a cada 5 minutos perguntando "Já tá pronto?", a pizzaria manda uma mensagem pra você quando a pizza sair pra entrega.
  3. Essa mensagem é o webhook!
No mundo da tecnologia, isso significa que quando algo acontece em um sistema (exemplo: um pagamento é aprovado), ele manda um aviso para outro sistema (exemplo: o site que vende um produto), para que ele possa reagir (exemplo: liberar o acesso a um curso online automaticamente).

Como um webhook é configurado?

  • O sistema que quer receber notificações fornece uma URL (um endereço na internet).
  • O sistema que envia as notificações guarda essa URL e, quando o evento acontece, ele manda uma mensagem para ela.
  • Essa mensagem geralmente é enviada no formato JSON e contém detalhes do evento.

Onde os webhooks são usados?

  • Notificações de pagamento (ex: "Seu pagamento foi aprovado!")
  • Atualizações em tempo real (ex: "Seu pedido saiu para entrega!")
  • Integrações entre sistemas (ex: Quando alguém se cadastra num site, ele já é adicionado automaticamente a uma ferramenta de e-mail marketing).

Webhook é como se fosse uma WebAPI comum?

Bom, a resposta curta é: sim e não.
  • Ambos são endpoints HTTP que recebem requisições.
  • Ambos podem receber dados no formato JSON.
  • Ambos podem processar informações e responder com códigos HTTP (200 OK, 400 Bad Request, etc.).

O que diferencia um Webhook de uma Web API comum?

1️⃣Quem faz a requisição?

  • Em uma Web API comum, o cliente (navegador, app, outro sistema) faz a requisição pedindo dados.
  • Em um Webhook, é o próprio servidor externo que envia a requisição quando um evento acontece.
🔹 Exemplo:
  • Web API: Um site pede a lista de usuários (GET /api/usuarios).
  • Webhook: Um serviço de pagamento avisa seu sistema quando um pagamento foi aprovado (POST /api/webhook).

2️⃣ O fluxo de comunicação

  • Na Web API, normalmente o cliente controla quando chamar a API.
  • No Webhook, o servidor externo decide quando enviar os dados.

3️⃣ Método HTTP mais comum

  • Web API usa GET, POST, PUT, DELETE (busca, cria, atualiza e deleta dados).
  • Webhook quase sempre usa POST (enviando notificações de eventos).
    • pode ser configurado como um endpoint allowanonymous no Dotnet, mas tem que cuidar da segurança depois. Tipo validar assinatura, IP e etc.

📌 Resumo

  • Web API → Normalmente o cliente pede informações para o servidor.
  • Webhook → O servidor externo envia dados automaticamente para o seu sistema quando algo acontece.
Ou seja, um webhook é um tipo de endpoint de API, mas a diferença é que ele não é chamado pelo cliente, e sim por outro sistema quando necessário.

Segue um site para fazer teste de webhook: webhook.site

Comentários