Idempotencia
Reintenta sin emitir dos veces el mismo comprobante.
POST /documents, POST /voids y POST /guides exigen el header Idempotency-Key. Si la conexión se corta y no sabes si el comprobante se emitió, repite la petición con la misma clave: nunca se emite dos veces.
http
Cómo funciona
| Situación | Respuesta |
|---|---|
| Clave nueva | Se procesa la petición. |
| Misma clave y mismo cuerpo, ya terminada | Devuelve el recurso creado la primera vez, con su estado actual. No se emite otra vez. |
| Misma clave y mismo cuerpo, todavía en proceso | 409 REQUEST_IN_PROGRESS (retryable: true). Espera y reintenta. |
| Misma clave con otro cuerpo | 409 IDEMPOTENCY_CONFLICT. |
| Sin el header | 400 IDEMPOTENCY_REQUIRED. |
- Las claves son por workspace y por modo, y duran 7 días: la misma clave usada con
asu_test_y conasu_live_son dos operaciones distintas, así que puedes reutilizar el id de tu venta al pasar de pruebas a producción. - Se compara el contenido del cuerpo: cambiar cualquier campo cuenta como otro cuerpo.
- Si la petición falla con un error, la clave se libera y puedes reutilizarla.
Recomendaciones
- Usa un identificador estable de tu sistema: el id de la venta, del pedido o del movimiento (
venta-<id>,guia-<id>). - No uses un valor aleatorio nuevo en cada reintento: anularía la protección.
- Máximo 255 caracteres.
