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?

  1. O servidor A (origem) detecta um evento (por exemplo: novo pedido).
  2. O servidor A envia os dados automaticamente para uma URL específica do servidor B (destino).
  3. 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?

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.