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:
- Você pede uma pizza pelo aplicativo.
- 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.
- 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.
- 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
Postar um comentário