Stripe · Shopify · GitHub · mais 19
A Stripe enviou. Você perdeu.Ainda está aqui.
Aponte o webhook para o AnyHook; encaminhamos para você. Todo evento fica em um único log, tenha seu servidor respondido ou não, e você pode enviar qualquer um deles de novo com um clique.
Assinaturas verificadas na edge para 22 origens. Adicione o segredo de assinatura e requisições forjadas nunca chegam ao seu servidor.
- Stripe
- GitHub
- Shopify
- Slack
- LINE
- Discord
- Twilio
- Sentry
- Linear
- Vercel
- Paddle
- Clerk
- Lemon Squeezy
- Intercom
- HubSpot
- Resend
- WooCommerce
- PayPal
- SendGrid
- Svix
- Meta
- Xero
Os remetentes desistem. Seu handler roda duas vezes.
A Shopify espera 5 s. Processar o pedido leva 12 s.
Troque uma URL.
Sem SDK. Responda 200 depois do trabalho, e uma falha vira uma nova tentativa.
Veja cada evento.
O que chegou, o que seu servidor respondeu, quando vem a próxima tentativa. Corrija o bug, clique em Replay.
{
"id": 820982911946154508,
"name": "#1042",
"total_price": "129.00",
"financial_status": "paid"
}{ "ok": true }APIs para agentes de IA.
Adicione uma URL ao Claude, ao Codex ou ao VS Code e faça login. Seu agente configura, confere e faz o replay dos seus webhooks, por MCP ou REST puro.
Nosso servidor ficou fora do ar ontem à noite e os pagamentos da Stripe nunca chegaram. Resolva isso.
{ "count": 12, "events": [{ "eventType": "invoice.paid", "status": "failed", "outboundStatus": 503 }, …] }{ "replayed": true, "appSlug": "stripe-payments", "response": { "replayed": 12, … } }{ "events": [{ "eventType": "invoice.paid", "isReplay": true, "status": "success", "outboundStatus": 200 }, …] }O AnyHook guardou todos os 12 enquanto seu endpoint respondia 503 durante a noite. Fiz o replay de todos e cada um recebeu um 200.
MCP https://anyhook.net/mcp·REST Authorization: Bearer ahk_live_…
Tráfego visível, controle total.
Um evento, quatro paradas dentro do AnyHook.
Dispense os SDKs. Verifique um cabeçalho.
22 origens verificadas na edge, e toda entrega assinada do mesmo jeito.
import { verifyWebhook } from "anyhook-verify";if (!(await verifyWebhook(req, secret)))return new Response(null, { status: 401 });
Seu servidor cai.
Nada se perde.
Todo evento fica guardado. As novas tentativas (retries) rodam sozinhas; o botão Replay envia o resto.
Feito para quem constrói.
O mesmo relay de webhooks, três situações que as equipes enfrentam primeiro.
Remetentes tentam de novo. Seu agente roda duas vezes.
O remetente recebe o 200 em cerca de um segundo. Seu agente tem de 60 a 300 s, conforme o plano.
Preços simples.
Comece grátis. O preço dos planos pagos depende de quanto tempo seus eventos ficam guardados e de quantos apps os enviam. Excedente medido nos planos pagos, para que nada seja descartado em silêncio.
- Histórico3 dias
- Eventos10.000 / mês
- Timeout60 s
Todos os limites
- Apps1
- Destinos por app3
- Tentativas de entrega3
- Payload máximo512 KB
- ExcedenteNenhum
- Controles de entregaNão incluído
- AlertasE-mail
- 3 dias de histórico
- Limite de 1.000 eventos / dia
- Alertas por e-mail
- Histórico1 ano
- Eventos50.000 / mês
- Timeout120 s
Todos os limites
- Apps10
- Destinos por app20
- Tentativas de entrega5
- Payload máximo2 MB
- Excedente$0.15 / mil
- Controles de entregaFiltros, rate limit, atraso
- AlertasE-mail + Slack / Discord
- Cada evento guardado por um ano
- Alertas no Slack / Discord, filtros de eventos
- Excedente medido até o seu teto de gastos
- Histórico7 anos
- Eventos250.000 / mês
- Timeout5 min
Todos os limites
- Apps50
- Destinos por app50
- Tentativas de entrega10
- Payload máximo4 MB
- Excedente$0.17 / mil
- Controles de entregaFiltros, rate limit, atraso
- AlertasE-mail + Slack / Discord
- Sete anos, com adulteração detectável
- Sem limite diário
- Domínios personalizados em breve
- HistóricoFlexível
- EventosFlexível
- TimeoutFlexível
Todos os limites
- AppsFlexível
- Destinos por appFlexível
- Tentativas de entregaFlexível
- Payload máximoSob medida
- ExcedenteSob medida
- Controles de entregaIncluído
- AlertasE-mail + Slack / Discord
- SSO e revisões
- Onboarding dedicado
- Opções de roteamento sob medida
O Pro adiciona um ano de histórico, alertas no Slack ou no Discord, filtros de eventos e excedente medido em vez de eventos descartados.
Perguntas e respostas.
Responda primeiro, trabalhe depois. O Slack espera 3 s pelo seu 2xx; a Shopify, 5 s; o GitHub, 10 s. Uma chamada ao modelo costuma demorar mais, então o remetente tenta de novo e seu bot roda duas vezes, e com o tempo o Slack ou a Shopify desativam o webhook.
Aponte o webhook para o AnyHook e o remetente recebe o 200 em cerca de um segundo. Seu handler passa a ter 60 s no Free, 120 s no Pro e 5 min no Scale para terminar a chamada, com novas tentativas se ela falhar. Nenhuma fila para construir.
→ Por que handlers com LLM dão timeout, e a solução para cada plataforma
Pode. Veja no que você está se metendo:
Confiabilidade: uma fila durável, tratamento de dead-letter, máquinas de estado de backoff. Um caso extremo esquecido e você libera o mesmo pedido duas vezes ou descarta um evento em silêncio. A maioria das equipes encontra esses bugs em produção, às 2h da manhã.
Segurança: cada provedor assina de um jeito. Stripe HMAC-SHA256 + timestamp, GitHub HMAC-SHA256 em hex, Shopify HMAC-SHA256 em Base64. Você mantém um verificador por provedor e cuida da rotação de chaves e do armazenamento criptografado. Esqueceu um = aceita tráfego sem assinatura.
Observabilidade: depurar significa fazer grep no CloudWatch entre invocações de Lambda. Nada de log de eventos pesquisável, nada de replay, nada de histórico completo de payloads.
Custo: a infra custa de $50 a $200 por mês. O custo real é de $3000 a $5000 por mês em tempo de engenharia: plantão, migrações, depuração de novas tentativas travadas. O AnyHook Pro custa $20/mês e tem zero manutenção.
Saltos diferentes. O relógio da Stripe corre na conexão com sua URL pública. Aponte essa URL para o AnyHook e a Stripe passa a esperar a nossa edge, que responde 2xx em cerca de um segundo, antes mesmo de o seu código rodar.
A linha Timeout é o nosso relógio de entrega: quanto tempo esperamos seu endpoint responder (60 s no Free, 120 s no Pro e 5 min no Scale). A maioria dos endpoints responde bem antes disso. Para tarefas que demoram ainda mais, responda 202 Accepted e processe de forma assíncrona.
Zapier/Make são plataformas de automação low-code: editores visuais, fluxos de arrastar e soltar. O AnyHook é um relay feito para desenvolvedores: seu webhook, seu endpoint, seu código, sua infraestrutura.
Você escreve código para processar webhooks? Use o AnyHook. Monta fluxos no n8n, no Make ou no Zapier? Coloque o AnyHook na frente do trigger de webhook do workflow: o provedor envia para o AnyHook, o AnyHook encaminha para a URL do trigger, e os eventos que chegam enquanto o workflow está fora do ar esperam um replay em vez de sumir.
Gravamos os eventos em uma fila durável antes de responder 200 ao remetente. Se o nosso forwarder estiver fora do ar, eles esperam na fila e saem quando ele volta: o remetente já recebeu o 200.
Se a edge não conseguir armazenar um evento de jeito nenhum (a fila e os dois fallbacks indisponíveis), ela responde 503 em vez disso, e a própria nova tentativa do remetente cobre o caso. O AnyHook nunca responde 200 a um evento que não guardou.
Uptime publicado em status.anyhook.net.
Sim: é exatamente para isso que o AnyHook existe. Respondemos à Stripe em cerca de um segundo, não importa quanto tempo seu agente leve.
Seu endpoint deve responder 202 Accepted imediatamente e depois processar de forma assíncrona. O timeout de entrega do AnyHook (60 s no Free, 120 s no Pro e 5 min no Scale) vale só para essa primeira ida e volta HTTP.
O que cada remetente faz quando seu servidor para de responder.
Todos desistem, e cada um desiste de um jeito. Aqui estão as regras que eles publicam, a janela que você tem para recuperar os eventos e o que se perde quando ela fecha.
- A Stripe desativou seu endpoint de webhook. Este é o roteiro de recuperação.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.
- A Shopify excluiu sua inscrição de webhook. Os 5 segundos explicam tudo.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.
- Webhook do GitHub não chega: você tem uma tentativa e três diasO 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.
- Webhooks do WooCommerce não são enviados na hora do pedidoO 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.
Todos os 28 guias, incluindo Slack, Twilio, HubSpot, n8n e os que tratam de receber o mesmo evento duas vezes.
Ainda está montando tudo localmente? A URL do seu túnel muda a cada reinício, e o provedor nunca precisa ficar sabendo.
O mesmo formato, com um modelo do outro lado: o callback quer sua resposta em segundos, e a chamada ao modelo do seu handler leva mais tempo.