O que é um Webhook?
Webhook é uma forma de comunicação entre sistemas onde um servidor envia dados em tempo real para outro servidor assim que um evento específico acontece. Diferente de uma API tradicional que precisa ser constantemente consultada (requisição), o webhook envia os dados automaticamente quando o evento ocorre.
Exemplo de Utilização
Quando uma venda é realizada em um e-commerce, o sistema pode enviar um webhook para o servidor de uma plataforma de envio para gerar automaticamente a etiqueta de envio.
Como Funciona?
- O servidor A (origem) detecta um evento (por exemplo: novo pedido).
- O servidor A envia os dados automaticamente para uma URL específica do servidor B (destino).
- O servidor B recebe os dados e executa uma ação, como enviar uma notificação ou atualizar um banco de dados.
Exemplo de Webhook em PHP
<?php
// Recebe os dados enviados via webhook
$dados = json_decode(file_get_contents("php://input"), true);
// Salva em um arquivo (apenas para exemplo)
file_put_contents('webhook_log.json', json_encode($dados));
// Responde para o servidor que recebeu
http_response_code(200);
echo json_encode(["status" => "Webhook recebido com sucesso!"]);
?>
Como Enviar um Webhook (via cURL)
curl -X POST https://meusistema.com/webhook.php \
-H "Content-Type: application/json" \
-d '{"evento": "novo_pedido", "id_pedido": 12345}'
Onde Webhooks são Utilizados?
- Notificação de pagamento (ex: Mercado Pago, Stripe, PayPal)
- Envio automático de e-mails
- Automação de tarefas (ex: integração com Slack ou Trello)
- Atualização de banco de dados em tempo real
Conclusão
Webhooks são ideais para automação e integração em tempo real entre sistemas, economizando tempo e evitando a necessidade de fazer requisições constantes à API.