A Magia da Comunicação Orientada a Eventos
Na década passada, se o seu sistema quisesse saber se um pagamento no Asaas/Stripe foi aprovado, você faria um "Polling": um script perguntando de 5 em 5 minutos ao Stripe: "Já pagou? Já pagou?". Isso gasta banda, atrasa ações e sobrecarrega a API.
O que são Webhooks?
Webhooks invertem o processo. Você passa ao Stripe uma URL do seu sistema (ex: `/api/webhooks/pagamentos`). O Stripe não exige que você pergunte. Assim que o pagamento é aprovado lá, o Stripe envia ativamente um POST HTTP (Payload) para a sua URL, e sua aplicação processa tudo instantaneamente em milissegundos.
Criando Webhooks Resilientes
Um bom webhook precisa de:
- Validação de assinatura (HMAC) para garantir que veio realmente do provedor externo.
- Um sistema de enfileiramento (Message Queue como RabbitMQ ou SQS).
- Retornar 'Status 200 OK' o mais rápido possível e processar as coisas em jobs de background (Workers) para evitar timeout.
