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).
O seu endpoint precisa ser idempotente: a mesma entrega pode chegar mais de uma vez.