Idempotency-Key. Isso permite que você reenvie uma requisição com segurança caso não tenha recebido resposta, sem risco de criar registros duplicados.
Como usar
Inclua o headerIdempotency-Key com uma string única gerada por você:
Idempotency-Key, a API retorna a resposta original sem processar novamente.
Formato da chave
A chave deve ser:- Uma string de até 255 caracteres
- Única por operação (recomendado: UUID v4)
- Gerada pelo seu sistema, não reutilizada entre operações distintas
Comportamento por cenário
Por que PATCH e DELETE são naturalmente idempotentes
EndpointsPATCH e DELETE não precisam do header Idempotency-Key porque são idempotentes por definição:
- PATCH: aplicar a mesma atualização duas vezes produz o mesmo resultado. Definir
full_namecomo"Ana Costa"uma segunda vez não altera o registro. - DELETE: deletar um registro que já foi deletado retorna
404. O estado final (registro não existe) é o mesmo independente de quantas vezes você chame.
Idempotency-Key só é necessário para operações POST, onde cada chamada sem chave criaria um novo registro.
Endpoints que suportam idempotência
O headerIdempotency-Key é aceito em todos os endpoints de escrita:
POST /v1/peoplePOST /v1/companiesPOST /v1/deals
Padrão recomendado para criações críticas
Rastreando chaves de idempotência no banco de dados
Para operações onde você precisa de trilha de auditoria ou quer correlacionar seus registros internos com respostas da API, armazene a chave de idempotência junto ao recurso criado:A chave de idempotência persiste por 24 horas. Use sempre um UUID v4 gerado no momento da
operação. Nunca reutilize chaves entre operações diferentes.