Erreurs
Chaque échec est un document de problème RFC 7807 avec un code stable lisible par machine.
Détails du problème
Les réponses non-2xx sont au format application/problem+json avec status, title, detail, un code stable (snake_case), un field facultatif nommant la propriété fautive de la requête, et un traceId à citer lorsque vous contactez l’assistance.
{
"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…"
}Codes que vous rencontrerez
401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid — problèmes d’authentification. 403 api_scope_missing (votre clé n’a pas la portée), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (avec field). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (production uniquement — rechargez votre dépôt). 502 supplier_error — le fournisseur aérien ou hôtelier a échoué ; relancez la recherche.
Réessayer en toute sécurité
Réessayez un 429 après Retry-After, et les 502/503/504 avec un backoff exponentiel. Ne réessayez jamais un 4xx autre que 429. Ne réessayez les opérations d’engagement (commandes, réservations, émission, annulation) qu’avec la même Idempotency-Key. Si une session de recherche expire (404), lancez une nouvelle recherche — les identifiants d’offre et les clés de tarif ne sont pas valables d’une session à l’autre.