Receba webhooks assinados de formulários

Verifique assinaturas, deduplique entregas e trate repetições.

Revisado em 22 de outubro de 2026

Configure o destino

Use um endpoint HTTPS público nos controles do formulário. Proteja o segredo de assinatura gerado quando exibido. Selecione e associe os campos desejados. Destinos de inscrição exigem adesão explícita do visitante. Teste com respostas fictícias antes de coletar dados reais.

Verifique a requisição original

O POST JSON inclui ID, tipo form.submitted, versão, IDs de página/bloco e respostas. Os cabeçalhos incluem Capybara-Event-Id, Idempotency-Key e Capybara-Signature: t=UNIX_SECONDS,v1=HEX_SIGNATURE. Calcule HMAC-SHA256 de timestamp + "." + raw_request_body usando o segredo UTF-8. Compare em tempo constante e rejeite horários fora de uma tolerância curta. Não parseie e serialize novamente o corpo antes de verificar.

Confirme e deduplique

Deduplicate pelo ID estável, persista o evento aceito e retorne 2xx. Redirecionamentos não são seguidos. A entrega é pelo menos uma vez: falhas transitórias, 408 e 429 podem repetir com espera exponencial, até cinco tentativas automáticas. Repetições não devem repetir o efeito externo.

Retenção e falhas

Confira o status no aplicativo e repita falhas somente após resolver a causa. Respostas expiradas/excluídas não são enviadas. Desconectar remove tarefas pendentes, mas não recupera uma requisição em andamento. O conteúdo não inclui IP ou user-agent do visitante; respostas ainda podem conter dados pessoais.