ข้อผิดพลาด
ทุกความล้มเหลวคือเอกสารปัญหาตาม 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 ห้ามลองซ้ำ 4xx อื่นนอกจาก 429 ลองซ้ำการดำเนินการที่ผูกมัด (คำสั่งซื้อ การจอง การออกตั๋ว การยกเลิก) ด้วย Idempotency-Key เดิมเท่านั้น หากเซสชันการค้นหาหมดอายุ (404) ให้เริ่มการค้นหาใหม่ — ID ข้อเสนอและคีย์ราคาใช้ข้ามเซสชันไม่ได้