## glossário
O que é Webhook?
Um webhook é um mecanismo pelo qual um sistema notifica outro automaticamente quando um evento acontece. Em vez de o seu servidor ficar perguntando "já mudou alguma coisa?", ele registra uma URL e espera — quando o evento ocorre, o outro sistema envia uma requisição HTTP para essa URL com os dados.
Daí a descrição clássica: webhook é uma API ao contrário. Numa API tradicional você é quem chama; num webhook, você é quem é chamado.
Polling versus webhook
Sem webhook, a alternativa é polling: consultar a API de tempos em tempos para verificar mudanças. O custo disso é alto — se você consulta a cada minuto e o evento acontece uma vez por dia, 1.439 chamadas foram desperdiçadas, e ainda assim a notícia pode chegar com até um minuto de atraso.
POST /webhooks/pagamentos HTTP/1.1
Content-Type: application/json
X-Signature: sha256=9f86d081884c7d659a2f...
{
"evento": "pagamento.aprovado",
"id": "pay_8fk29dl",
"valor": 14900,
"moeda": "BRL",
"criado_em": "2026-07-18T09:12:44Z"
}Regras para receber webhooks com segurança
Sua URL de webhook é pública — qualquer um pode descobri-la e enviar dados falsos. Por isso, alguns cuidados não são opcionais:
- Valide a assinatura. Provedores sérios assinam o corpo da requisição com um segredo compartilhado (HMAC). Recalcule o hash e compare antes de confiar em qualquer dado.
- Responda rápido, processe depois. Devolva
200em milissegundos e jogue o trabalho pesado numa fila. Provedores costumam considerar timeout como falha e reenviar. - Trate duplicatas. Reenvios acontecem. Use o ID do evento para garantir idempotência — processar o mesmo webhook duas vezes não pode cobrar o cliente duas vezes.
- Nunca confie só no payload. Em operações sensíveis, consulte a API do provedor para confirmar o estado real antes de agir.
- Exija HTTPS. Dados de eventos costumam conter informação sensível.
Onde webhooks são usados
Gateways de pagamento avisando que uma cobrança foi aprovada ou estornada. O GitHub disparando o pipeline de CI a cada push. Plataformas de e-mail informando que uma mensagem sofreu bounce. Ferramentas de automação como n8n, Zapier e Make funcionam quase inteiramente sobre webhooks — o assunto aparece de perto no artigo sobre ferramentas de automação com chatbots.
Testando em desenvolvimento
O desafio de desenvolver com webhooks é que localhost não é acessível pela internet. A solução usual é um túnel — ferramentas como ngrok ou Cloudflare Tunnel expõem sua máquina local numa URL pública temporária, permitindo receber os eventos reais durante o desenvolvimento.
## faq
Perguntas frequentes
Qual a diferença entre webhook e API?
A direção da chamada. Numa API você faz a requisição quando quer os dados. Num webhook, o servidor remoto faz a requisição para você quando o evento acontece. Webhooks são push; APIs tradicionais são pull.
O que fazer se meu servidor estiver fora do ar quando o webhook chegar?
A maioria dos provedores implementa retentativas com espera progressiva, tentando de novo por minutos ou horas. Ainda assim, é prudente registrar todos os eventos recebidos e oferecer um mecanismo de reconciliação que consulte a API do provedor para recuperar eventos perdidos.
Webhook precisa devolver algum conteúdo?
Não. Basta um código de status 2xx para confirmar o recebimento. O corpo da resposta costuma ser ignorado pelo provedor — o que importa é responder rápido e com status de sucesso.