Um webhook é um endereço na internet que recebe um aviso quando acontece alguma coisa noutra aplicação. Em vez de perguntar de minuto a minuto «já há novidades?», a aplicação bate à porta e entrega os dados. Pode testar qualquer webhook com o curl, um programa de linha de comandos que faz pedidos HTTP.
Como funciona
| Papel |
Quem |
O que faz |
| Emissor |
A aplicação onde acontece o evento (uma loja, um formulário, um serviço de pagamentos). |
Quando algo acontece, envia um pedido para um endereço que lhe indicou, em geral com os dados em JSON. |
| Receptor |
O seu programa (o n8n, um ficheiro PHP no seu site, uma aplicação). |
Tem um endereço público, lê o pedido e responde com um código de estado. |
| Resposta |
O receptor. |
Um código como 200 diz «recebi». Muitos emissores tentam de novo se não o receberem. |
Testar com curl, passo a passo
| 1 |
Tenha o endereço do webhook. Tem de ser público e, em geral, em HTTPS. Um endereço localhost não serve: o emissor, na internet, não chega ao seu computador.
|
|
| 2 |
Um pedido simples, para ver se o endereço responde: curl -i https://n8n.asuaempresa.ao/webhook/o-seu-caminho. O -i mostra o código e os cabeçalhos da resposta.
|
|
| 3 |
Um pedido com dados, como o emissor enviaria: curl -i -X POST https://n8n.asuaempresa.ao/webhook/o-seu-caminho -H "Content-Type: application/json" -d '{"nome":"teste"}'.
|
|
| 4 |
Leia o código da resposta na tabela abaixo.
|
|
| 5 |
Veja se o receptor registou o pedido. No n8n, na lista de execuções; no seu código, no registo de erros.
|
|
O que o código quer dizer
| Código |
Significa |
| 200 ou 201 |
Recebido. Se o resto falha, é dentro do receptor. |
| 301 ou 302 |
O endereço redirecciona. Muitos emissores não seguem redirecções: use o endereço final. |
| 401 ou 403 |
Falta autenticação, ou uma firewall barrou. Veja porque o IP é bloqueado. |
| 404 |
Esse caminho não existe. Num n8n, quase sempre é o endereço de teste fora de uso ou o fluxo inactivo: webhooks do n8n. |
| 405 |
O método está errado (GET em vez de POST, ou o contrário). |
| 500 |
O receptor recebeu e rebentou. Veja o erro do lado dele. erros de sites. |
| 502 ou 504 |
Um proxy no meio não chegou ao receptor, ou este demorou demasiado. |
Sem resposta nenhuma, o problema está antes: o nome do domínio, a porta ou a firewall. Veja que portas estão abertas.
|
Um webhook aberto é uma porta aberta. Quem souber o endereço pode enviar-lhe o que quiser. Confira sempre quem enviou (um segredo no cabeçalho, uma assinatura) antes de agir, e nunca confie no conteúdo como se fosse seu. E prepare-se para receber o mesmo aviso duas vezes: os emissores repetem.
|
Pode receber webhooks num site comum: um ficheiro PHP que lê o corpo do pedido (php://input) e o guarda ou trata. Para fluxos entre várias aplicações é mais cómodo um n8n, num VPS; veja o que é o n8n. Para os da Meta, webhooks da Meta.
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |