Skip to main content

Política de retry

Se seu endpoint retornar status diferente de 2xx, a Cordialy reenvia automaticamente:
TentativaDelayTotal decorrido
1ª (inicial)0s
1 minuto~1min
5 minutos~6min
30 minutos~36min
2 horas~2h36min
Após 5 tentativas sem 2xx, o evento é descartado.
Erros 4xx (exceto 429 Too Many Requests) são tratados como falhas permanentes e não geram retry. Retorne 2xx mesmo que você decida ignorar o evento — use 4xx apenas se houver um problema real de autenticação ou formato.

Requisitos do endpoint

RequisitoDetalhe
ProtocoloHTTPS com certificado válido
TimeoutMáximo 10 segundos para retornar 2xx
MétodoSempre POST
Content-Typeapplication/json
Se o processamento for demorado, responda 200 imediatamente e processe de forma assíncrona (fila, background job).

Idempotência

Por conta dos retries, seu endpoint pode receber o mesmo evento mais de uma vez. Use o par event_type + occurred_at + payload.id como chave de deduplicação para garantir que o mesmo evento não seja processado duas vezes.
const chave = `${evento.event_type}:${evento.payload.id}`;
if (await cache.exists(chave)) return res.status(200).send('já processado');
await cache.set(chave, true, { ex: 86400 }); // TTL 24h
// processar...

Testar seu endpoint

Use o dashboard em Integrações → Webhooks → Testar para enviar um evento de exemplo sem precisar gerar o evento real na plataforma.
Durante o desenvolvimento, use ferramentas como ngrok ou webhook.site para expor seu servidor local e inspecionar os payloads recebidos.