Pređi na sadržaj

Greške

Svaka greška je RFC 7807 dokument o problemu sa stabilnim, mašinski čitljivim kodom.

  1. Detalji problema
  2. Kodovi na koje ćete naići
  3. Bezbedno ponavljanje

Detalji problema

Odgovori koji nisu 2xx nose application/problem+json sa poljima status, title, detail, stabilnim code (snake_case), opcionim field koje imenuje problematično svojstvo zahteva i traceId koji navodite kada se obraćate podršci.

Primer
{
  "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 sa autentifikacijom. 403 api_scope_missing (vašem ključu nedostaje opseg), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (sa 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 — dopunite depozit). 502 supplier_error — avio-kompanija ili hotelski dobavljač nije uspeo; ponovite pretragu.

Bezbedno ponavljanje

Ponovite 429 posle Retry-After, a 502/503/504 uz eksponencijalno odlaganje. Nikada ne ponavljajte 4xx osim 429. Obavezujuće operacije (porudžbine, rezervacije, izdavanje, otkazivanje) ponavljajte samo sa istim Idempotency-Key. Ako sesija pretrage istekne (404), započnite novu pretragu — ID-jevi ponuda i ključevi cena ne važe između sesija.