Salt la conținut

Erori

Fiecare eșec este un document de problemă RFC 7807 cu un cod stabil, citibil de mașină.

  1. Detalii de problemă
  2. Coduri pe care le vei întâlni
  3. Reîncercări în siguranță

Detalii de problemă

Răspunsurile non-2xx conțin application/problem+json cu status, title, detail, un code stabil (snake_case), un field opțional care numește proprietatea problematică a cererii și un traceId de menționat când contactezi asistența.

Exemplu
{
  "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…"
}

Coduri pe care le vei întâlni

401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid — probleme de autentificare. 403 api_scope_missing (cheii tale îi lipsește scopul), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (cu field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (doar în producție — alimentează-ți depozitul). 502 supplier_error — furnizorul aerian sau hotelier a eșuat; reia căutarea.

Reîncercări în siguranță

Reîncearcă 429 după Retry-After, iar 502/503/504 cu backoff exponențial. Nu reîncerca niciodată un 4xx în afară de 429. Reîncearcă operațiunile de angajare (comenzi, rezervări, emitere, anulare) doar cu același Idempotency-Key. Dacă o sesiune de căutare expiră (404), începe o căutare nouă — ID-urile ofertelor și cheile de tarif nu sunt valabile de la o sesiune la alta.