# Idempotência, novas tentativas e ordem de entrega

**Envio:** mande sempre um `Idempotency-Key` em POST /v1/messages. **Quem gera é você**, não nós: um UUID v4 novo para cada mensagem que você quer mandar (não para cada tentativa HTTP — a graça é justamente repetir a mesma quando você tenta de novo). Uma nova tentativa com a mesma key devolve o mesmo registro (200) em vez de duplicar. A fonte da verdade é o MariaDB (persistimos antes de enfileirar), então um 202 nunca se perde mesmo que o Redis caia.

**Entrega (webhooks):** **5 tentativas no total**: a primeira e 4 novas tentativas em **1m → 5m → 30m → 2h**. Para deduplicar use o `id` do envelope (**`evt_…`**): é o mesmo em cada nova tentativa e em cada endpoint. O `X-Connect-Delivery-Id` identifica a entrega a UM endpoint, não o evento. Depois de 20 falhas seguidas o endpoint se **autodesativa** (alerta critical) e você o reativa pelo painel.

**Ordem:** a ordem de entrega NÃO é garantida (novas tentativas + concorrência). Ordene você por `createdAt` (ISO-8601 Z) + `sequence` (monotônico por conexão; 0 quando `connection` é null).

## Notas

- O seu endpoint precisa ser **idempotente**: a mesma entrega pode chegar mais de uma vez.
