Seu handler de webhook chama um LLM. O remetente desiste antes.
O Slack espera 3 s, a Shopify 5 s, o GitHub 10 s. Um LLM leva mais: o remetente desiste. Responda antes e trabalhe depois, ou use um relay.
Mais recente
14
2026.10
Notas de produção sobre entrega, novas tentativas, verificação de assinatura, depuração e replay, da equipe que constrói o AnyHook.
O ngrok dá uma URL nova a cada reinício, e você cola de novo na Stripe ou Shopify. Deixe uma URL permanente no provedor e aponte para o túnel ativo hoje.
Debates sobre idempotência costumam acabar numa linha duplicada no banco. Com webhooks de agendamento, acabam em duas pessoas no mesmo horário das 10:00.
O GitHub não tenta de novo entregas de webhook com falha. Nem uma vez. O registro dura três dias, e depois disso um deploy ruim custou eventos para sempre.
O HubSpot não garante a ordem e documenta que o eventId não tem garantia de ser único. Todo instinto que você criou com o event.id da Stripe falha aqui.
Perca um access.granted e alguém abre um chamado. Perca um access.revoked e ninguém percebe: de fora, tudo ainda funciona. Uptime é controle de acesso.
Merchant of record tem prazo de resposta menor e novas tentativas mais densas. O que muda quando um SaaS indie migra para a Paddle ou a Lemon Squeezy.
O Slack quer um 2xx em até três segundos e desativa suas inscrições se 95% das entregas falharem em uma hora. Uma falha de webhook que seus usuários veem.
A Twilio é o único grande remetente com cinco ajustes: timeout de conexão, de leitura, tempo total, número e política de novas tentativas. Ninguém mexe.
Sem o crypto do Node, com limite de CPU em milissegundos e um waitUntil que não é durável. O que muda quando o receptor é um Worker, na entrada do AnyHook.
O WooCommerce enfileira webhooks no Action Scheduler via WP-Cron, que roda quando alguém visita o site. Mais de cinco falhas seguidas desativam o webhook.
A maioria dos grandes provedores entrega pelo menos uma vez: duplicata é garantida, não exceção. Quatro padrões de idempotência, da menor à maior proteção.
Em nove de cada dez casos, é a URL de teste, que só escuta enquanto você está olhando. O resto: modo de resposta, corpo bruto consumido ou evento perdido.
A Shopify dá cinco segundos ao seu endpoint, tenta de novo oito vezes em quatro horas e remove a inscrição. Nenhum erro. Os pedidos só param de chegar.
A Stripe desativou seu endpoint de webhook, e a janela de recuperação de 30 dias é menor do que parece. A sequência: reativar, puxar da Events API.
Assinatura que falha sem motivo, waitUntil que some, cold start que consome o prazo de resposta: o que dá errado com webhooks em serverless e o que fazer.
O polling desperdiça requisições, mas se recupera. Webhooks são eficientes, mas falham em silêncio. E o híbrido que a maioria das integrações sérias monta.
Metade da internet ainda responde por e-mail: códigos, recibos, avisos. Uma chamada sem chave dá ao agente uma caixa de entrada real, lida como webhooks.
Um endereço catch-all, um handler de e-mail no Worker e umas sessenta linhas: todo e-mail para seu domínio vira um POST JSON no seu pipeline HTTP atual.
Num banco mutável, um log de webhooks é alegação, não prova. Como o log do AnyHook ficou verificável: cadeias por app, selo diário, âncora pública.
Se seu teste monta a assinatura com a fórmula que seu verificador confere, os dois podem estar errados e seguir verdes. Confira contra o SDK do provedor.
Agentes chamam APIs; receber eventos é a metade que falta. O que quebra se um agente precisa de uma URL de webhook e como é um serviço que agentes operam.
Como depurar a entrega de webhooks: o que olhar nos cabeçalhos, nos códigos de status, nos tempos e nos payloads quando sua integração para de funcionar.
Por que o backoff exponencial ingênuo causa thundering herd, como o jitter resolve isso e como são de fato os cronogramas de novas tentativas de produção.
Seu servidor caiu por três horas. A Stripe, o GitHub e a Shopify continuaram enviando webhooks. Como fazer o replay do que você perdeu, com e sem um relay.
O ngrok é ótimo para dev local. Não é estratégia de produção. Veja do que você precisa além do túnel: homologação, produção e a zona cinzenta entre elas.
A Stripe tenta de novo webhooks com falha por até 3 dias. Veja como funciona o cronograma, o que quebra quando seu endpoint cai e como projetar para isso.
Verificar assinatura de webhook nos provedores: o que dá errado, como funciona a tolerância de timestamp e por que novas tentativas quebram código ingênuo.
Troque uma URL e tenha novas tentativas automáticas, log de eventos completo e replay com um clique. Plano Free, sem cartão de crédito.