שגיאות
כל כשל הוא מסמך problem לפי 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 עם השהיה אקספוננציאלית. לעולם אל תנסו שוב 4xx אחר מלבד 429. בצעו ניסיון חוזר לפעולות מחייבות (הזמנות טיסה, הזמנות מלון, הנפקה, ביטול) רק עם אותו Idempotency-Key. אם סשן חיפוש פג (404), התחילו חיפוש חדש — מזהי הצעות ומפתחות תעריף אינם תקפים בין סשנים.