IDEMPOTÊNCIA
Repita a requisição sem medo de duplicar.
Uma rede instável não deveria criar dois orçamentos. Envie uma Idempotency-Key em qualquer POST, PATCH ou DELETE: se a requisição se repetir com a mesma chave e o mesmo corpo, o Cord devolve a resposta original, marcada com Idempotent-Replayed, em vez de executar duas vezes. Se o corpo mudou, a resposta é um erro explícito.
- Funciona em todas as mutações de /api/v1
- A resposta repetida é idêntica, byte a byte
- Mesma chave com outro corpo: erro, nunca uma duplicata silenciosa
# 1ª tentativa: o orçamento é criado
POST /api/v1/cotizaciones
Idempotency-Key: pedido-7781
← 200 { "data": { "folio": "COT-0150", … } }
# 2ª tentativa (a rede caiu): mesma chave, mesmo corpo
POST /api/v1/cotizaciones
Idempotency-Key: pedido-7781
← 200 Idempotent-Replayed: true
{ "data": { "folio": "COT-0150", … } }
# a mesma resposta, byte a byte
# mesma chave, outro corpo
← 422 { "error": "Esta clave de idempotencia ya se usó con otra petición.",
"code": "idempotency_key_reused" }
# a primeira requisição ainda está em andamento
← 409 { "code": "idempotency_in_progress" }