Xətalar
Hər uğursuzluq sabit, maşın tərəfindən oxuna bilən kodu olan RFC 7807 problem sənədidir.
Problem təfərrüatları
2xx olmayan cavablar application/problem+json daşıyır: status, title, detail, sabit code (snake_case), problemli sorğu xassəsini göstərən istəyə bağlı field və dəstək ilə əlaqə saxlayarkən qeyd etməli olduğunuz traceId.
{
"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…"
}Rastlaşacağınız kodlar
401 api_key_invalid, api_signature_invalid, api_timestamp_skew, api_nonce_reused, api_token_invalid — autentifikasiya problemləri. 403 api_scope_missing (açarınızda skop yoxdur), api_ip_not_allowed, api_partner_suspended. 429 api_rate_limited, api_quota_exceeded. 400 validation_failed (field ilə). 404 search_session_not_found, order_not_found, booking_not_found. 409 offer_expired, rate_expired, price_changed. 402 insufficient_credit (yalnız production — depozitinizi artırın). 502 supplier_error — aviaşirkət və ya otel təchizatçısı uğursuz oldu; axtarışı təkrarlayın.
Təhlükəsiz təkrar cəhd
429-u Retry-After-dan sonra, 502/503/504-ü isə eksponensial gecikmə ilə təkrarlayın. 429-dan başqa heç bir 4xx-i təkrarlamayın. Öhdəlik yaradan çağırışları (sifarişlər, rezervasiyalar, rəsmiləşdirmə, ləğv) yalnız eyni Idempotency-Key ilə təkrarlayın. Axtarış sessiyasının müddəti bitərsə (404), yeni axtarışa başlayın — təklif ID-ləri və tarif açarları sessiyalar arasında etibarlı deyil.