Errori
Ogni errore è un documento problem RFC 7807 con un codice stabile leggibile dalle macchine.
Dettagli del problema
Le risposte non 2xx hanno tipo application/problem+json con status, title, detail, un code stabile (snake_case), un field facoltativo che indica la proprietà della richiesta non valida e un traceId da citare quando contatti l'assistenza.
{
"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…"
}Codici che incontrerai
401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid: problemi di autenticazione. 403 api_scope_missing (alla tua chiave manca lo scope), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (con field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (solo in produzione: ricarica il tuo deposito). 502 supplier_error: il fornitore aereo o alberghiero ha restituito un errore; ripeti la ricerca.
Ritentare in sicurezza
Ritenta un 429 dopo Retry-After, e i 502/503/504 con backoff esponenziale. Non ritentare mai un 4xx diverso da 429. Ritenta le operazioni di conferma (ordini, prenotazioni, emissione, cancellazione) solo con la stessa Idempotency-Key. Se una sessione di ricerca scade (404), avvia una nuova ricerca: ID offerta e chiavi tariffa non sono validi tra sessioni diverse.