Idempotence a chyby
Idempotence vytvoření
Sekce “Idempotence vytvoření”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 OKaIdempotent-Replayed: true. - Stejná objednávka s jiným
box_idvrá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.
Formát chyby
Sekce “Formát chyby”{ "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. |
Request ID
Sekce “Request 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.