Idempotência — Mesma requisição repetida sem efeito colateral extra.
Termo frequente em vagas e arquitetura de software. Veja também o glossário completo.
Idempotente não é "sem efeito colateral"
Um endpoint idempotente pode gravar no banco — o que importa é que chamar 2 ou 10 vezes com os mesmos dados produz o mesmo resultado final, sem duplicar. DELETE /pedido/5 é idempotente (depois da primeira vez, já não existe, e as próximas retornam "não encontrado" sem erro grave). POST /pedido sem chave de idempotência não é — cada chamada cria um pedido novo.
- Retry automático de rede (timeout, 5xx) só é seguro em endpoint idempotente ou com idempotency key
- PUT geralmente é idempotente por definição; POST geralmente não é, a menos que você desenhe para isso
- Webhooks duplicados (Stripe, GitHub) são o caso clássico onde isso importa na prática