Definição
Chave de idempotência é um identificador que reconhece tentativas da mesma operação segundo um contrato definido. Você associa um valor estável às tentativas, e o serviço usa esse valor para reconhecer a operação lógica. A estabilidade do valor é o que permite distinguir uma repetição de uma operação nova.
Como o serviço reconhece a chave
Quando uma chamada chega com uma chave, o serviço confere se essa chave já apareceu antes. Se apareceu, ele retoma o resultado registrado e associa a nova tentativa à operação original em vez de executar outro efeito. O resultado da primeira tentativa é devolvido de novo, e o estado permanece igual ao que foi criado no início.
Cuidados na implementação
Gerar outra chave em cada retry perde a associação entre as tentativas. Além disso, a validade da chave e o comportamento diante de expiração dependem do serviço, e o fluxo precisa tratar essas duas situações. Uma chave expirada pode permitir um novo efeito, e você precisa saber o que o serviço faz nesse caso antes de repetir a chamada.
Colisão de chaves e verificação
A falha comum é reutilizar a mesma chave para operações distintas: o serviço reconhece a segunda chamada como repetição da primeira e não executa a operação nova. Para verificar, registre o identificador junto de cada tentativa e confira o resultado devolvido. Quando duas chamadas com a mesma chave descrevem efeitos diferentes, o valor não está estável por operação, e a conferência do efeito no destino mostra se a associação está correta.
Entenda a propriedade que a chave protegeDúvidas frequentes
Perguntas frequentes sobre Chave de idempotência
- Gerar uma chave nova em cada retry mantém a associação?
- Não. Cada chave nova é tratada como uma operação distinta pelo serviço, e a associação à tentativa original se perde.
- Toda API aceita chave de idempotência?
- Não. O suporte depende do contrato do serviço, e a documentação da API precisa ser conferida antes do uso.
- A chave precisa de validade definida?
- Sim. O tempo de validade e o comportamento da chave são definidos pelo serviço e devem ser observados na implementação.
Para continuar
Recursos relacionados
Documentação
MDN: Idempotent
Define a propriedade de uma operação cuja repetição preserva o efeito pretendido.
Abrir recursoDocumentação
MDN: Idempotency-Key
Descreve o cabeçalho usado para enviar uma chave de idempotência.
Abrir recursoAplicação na formação
n8n Experts
Na formação n8n Experts, a chave de idempotência protege operações repetidas em fluxos com retry e webhooks.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.