Přeskočit na obsah

Idempotence a chyby

external_order_id musí být unikátní v rámci klienta a funguje jako idempotency key.

  • První úspěšné vytvoření vrátí 201 Created.
  • Stejná objednávka a stejný box vrátí původní zásilku i PIN, 200 OK a Idempotent-Replayed: true.
  • Stejná objednávka s jiným box_id vrátí 409 idempotency_conflict.

Při timeoutu tedy stejný request bezpečně zopakujte. Nevytvářejte nové external_order_id, dokud neověříte výsledek původního requestu.

{
"error": {
"code": "box_full",
"message": "No customer compartment is currently available.",
"request_id": "req_4c98d6d9d1f6405a",
"details": null
}
}

code je stabilní hodnota pro programové rozhodování. message je diagnostický text. request_id přiložte při komunikaci s podporou; zároveň jej najdete v response hlavičce X-Request-ID.

HTTP Typické kódy Doporučená reakce
401 invalid_api_key Zkontrolujte host, typ klíče a jeho aktivaci.
404 box_not_found, shipment_not_found Neopakujte bez opravy ID.
409 box_full, idempotency_conflict, invalid_transition Zobrazte stav obsluze nebo změňte vstup.
422 validation_error Opravte request podle details.
429 rate_limit_exceeded Počkejte podle Retry-After a použijte jitter.
5xx internal_error Opakujte s exponenciálním backoffem a stejným external_order_id.

Můžete poslat vlastní identifikátor v hlavičce X-Request-ID (1 až 80 znaků: písmena, čísla, ., _, :, -). EasyPick jej vrátí v odpovědi. Jinak jej automaticky vygeneruje.