Pogreške
Svaki neuspjeh je dokument problema prema RFC 7807 sa stabilnim, strojno čitljivim kodom.
Pojedinosti problema
Odgovori koji nisu 2xx nose application/problem+json sa status, title, detail, stabilnim code (snake_case), neobaveznim field koji imenuje problematično svojstvo zahtjeva i traceId koji navodite kada se obratite podršci.
{
"type": "https://dubaitrip.com/docs/api/errors#price_changed",
"title": "Price changed",
"status": 409,
"detail": "The fare is now 412.50 USD (was 398.00 USD). Re-price and confirm.",
"code": "price_changed",
"traceId": "00-3f2a…"
}Kodovi na koje ćete naići
401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid — problemi s autentifikacijom. 403 api_scope_missing (vašem ključu nedostaje ovlast), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (s field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (samo u produkciji — nadoplatite depozit). 502 supplier_error — dobavljač zrakoplovne tvrtke ili hotela nije uspio; ponovite pretraživanje.
Sigurno ponavljanje
Ponovite 429 nakon Retry-After, a 502/503/504 s eksponencijalnim odmakom. Nikada ne ponavljajte 4xx osim 429. Operacije koje obvezuju (narudžbe, rezervacije, izdavanje, otkazivanje) ponavljajte samo s istim Idempotency-Key. Ako sesija pretraživanja istekne (404), pokrenite novo pretraživanje — ID-jevi ponuda i ključevi cijena ne vrijede između sesija.