त्रुटियाँ
हर विफलता एक 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), तो नई खोज शुरू करें — ऑफ़र ID और दर कुंजियाँ सत्रों के बीच मान्य नहीं होतीं।