Idempotencia
Reintente una compra de forma segura, sin comprar dos veces.
Un error de red puede dejarle con la duda de si una compra se realizó. Por eso, cada POST /offsets requiere un encabezado Idempotency-Key: un valor único por compra, como un UUID.
Idempotency-Key: 7f8d0c6e-2b1a-4e9f-9d3c-5a6b7c8d9e0f
Qué sucede al reintentar
| Usted envía | Usted recibe |
|---|---|
| Una clave nueva | Una compra nueva (201). |
| La misma clave y el mismo cuerpo | La primera compra otra vez (201), con Idempotent-Replayed: true. No se compra nada dos veces. |
| La misma clave y un cuerpo diferente | 409 idempotency_key_reused. Use una clave nueva para una compra nueva. |
La repetición devuelve la compra en su estado actual, por lo que su status puede haber pasado de processing a placed.
Para tener en cuenta
- Las claves tienen de 1 a 255 caracteres ASCII imprimibles, y las conservamos de forma permanente, por modo.
- El orden de las claves y los espacios en el cuerpo no importan:
{"kg":1,"reference":"a"}y{ "reference": "a", "kg": 1 }son la misma solicitud. - Una compra que falla (por ejemplo,
402 insufficient_balanceo un error de validación) no guarda nada. Después de recargar, puede reintentar con la misma clave. - Dos solicitudes con la misma clave en el mismo momento son seguras: una realiza la compra y la otra recibe la repetición.