O problema
A rede cai depois que o servidor processou, mas antes da resposta chegar. Você não sabe se o contato foi criado ou não. Repetir a requisição arrisca duplicar; não repetir arrisca perder. AIdempotency-Key resolve isso: a segunda chamada com a mesma chave devolve a resposta original em cache, sem executar nada de novo.
Onde funciona
Como usar
Gere um UUID v4 por operação lógica e envie no headerIdempotency-Key:
Comportamento exato
Escopo e validade
A idempotência depende do cache distribuído. Se ele estiver indisponível, a requisição é processada
normalmente sem proteção contra duplicata — não há erro nem aviso na resposta. Para operações
críticas, mantenha também a sua própria checagem no destino.
Exemplo — criação segura com retentativa
Boas práticas
- Gere a chave antes de enviar, não depois de falhar — uma chave criada na retentativa não protege nada.
- Persista a chave junto com a operação, para reusá-la se o processo reiniciar no meio.
- Uma chave por operação lógica. Nunca reaproveite entre operações diferentes: como o corpo não é verificado, o resultado seria a resposta errada, sem erro nenhum.
- UUID v4. Evite chaves sequenciais ou previsíveis.
- Para as rotas não idempotentes, use uma checagem própria antes de repetir — por exemplo, buscar pelo identificador externo antes de criar de novo.

