דילוג לתוכן

שגיאות

כל כשל הוא מסמך problem לפי RFC 7807 עם קוד יציב שקריא למכונה.

  1. פרטי הבעיה
  2. קודים שתיתקלו בהם
  3. ניסיונות חוזרים בבטחה

פרטי הבעיה

תשובות שאינן 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), התחילו חיפוש חדש — מזהי הצעות ומפתחות תעריף אינם תקפים בין סשנים.