خرابیاں
ہر ناکامی ایک RFC 7807 مسئلہ دستاویز ہے جس میں ایک مستحکم، مشین سے پڑھنے کے قابل کوڈ ہوتا ہے۔
مسئلے کی تفصیلات
2xx کے علاوہ جوابات application/problem+json ہوتے ہیں جن میں status، title، detail، ایک مستحکم code (snake_case)، درخواست کی متعلقہ پراپرٹی کا نام بتانے والا اختیاری field، اور ایک 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…"
}کوڈز جن سے آپ کا سامنا ہوگا
401 api_key_invalid، api_signature_invalid، api_timestamp_skew، api_nonce_reused، api_token_invalid — تصدیقِ شناخت کے مسائل۔ 403 api_scope_missing (آپ کی کلید کے پاس مطلوبہ دائرہ نہیں)، api_ip_not_allowed، api_partner_suspended۔ 429 api_rate_limited، api_quota_exceeded۔ 400 validation_failed (field کے ساتھ)۔ 404 search_session_not_found، order_not_found، booking_not_found۔ 409 offer_expired، rate_expired، price_changed۔ 402 insufficient_credit (صرف پروڈکشن — اپنا ڈپازٹ بھریں)۔ 502 supplier_error — ایئر لائن یا ہوٹل فراہم کنندہ ناکام ہوا؛ تلاش دوبارہ کریں۔
محفوظ طریقے سے دوبارہ کوشش
429 کی صورت میں Retry-After کے بعد، اور 502/503/504 کی صورت میں بتدریج بڑھتے وقفے (exponential backoff) کے ساتھ دوبارہ کوشش کریں۔ 429 کے علاوہ کسی 4xx پر کبھی دوبارہ کوشش نہ کریں۔ پابند کرنے والے اقدامات (آرڈرز، بکنگز، اجرا، منسوخی) صرف اسی Idempotency-Key کے ساتھ دہرائیں۔ اگر تلاش کا سیشن ختم ہو جائے (404) تو نئی تلاش شروع کریں — پیشکش IDs اور نرخ کلیدیں ایک سیشن سے دوسرے میں درست نہیں رہتیں۔