รหัสข้อผิดพลาด

ข้อผิดพลาดมีสามรูปแบบ ได้แก่ ข้อผิดพลาดในการยืนยันตัวตนเป็น HTTP 401 ข้อผิดพลาดตามกฎทางธุรกิจอยู่ใน HTTP 200 พร้อม success: false และข้อผิดพลาดในการส่งการจองอยู่ใน BookingPushRS.Error หน้านี้รวบรวมรหัสทั้งหมดไว้

ข้อผิดพลาดในการยืนยันตัวตน#

HTTPการตอบกลับสาเหตุ
401{"success": false, "error": "Authentication required"}ไม่มีโทเค็น ไม่รู้จักโทเค็น หรือรูปแบบ Bearer ไม่ถูกต้อง
200message: partner_is_not_foundการเข้าสู่ระบบ: คู่คีย์ไม่ตรงกัน
200message: hotel_is_not_foundการเข้าสู่ระบบ: ไม่พบโรงแรมสำหรับ hotelSeoUrl
200message: hotel_permission_is_not_foundการเข้าสู่ระบบ: พาร์ทเนอร์ไม่ได้รับสิทธิ์สำหรับโรงแรมนี้

รหัส message#

รหัสข้อความแบบ snake_case ที่ส่งกลับมาพร้อมกับ success: false

messageเอนด์พอยต์คำอธิบาย
hotel_id_is_not_foundส่วนใหญ่ไม่ได้ส่ง hotelID
start_date_is_not_found / end_date_is_not_foundห้องว่างขาดพารามิเตอร์วันที่
online_cupon_is_not_foundคูปองไม่รู้จักรหัส รหัสถูกปิดใช้งาน หมดอายุ หรือใช้ไม่ได้
mail_host_is_not_foundการตั้งค่าอีเมลยังไม่ได้ตั้งค่า SMTP สำหรับช่องทางออนไลน์
hotel_company_info_could_not_foundข้อมูล Virtual POSโรงแรมยังไม่ได้ตั้งค่าผู้ให้บริการชำระเงิน
bank_info_is_not_foundการชำระเงิน (ประเภท 3)ไม่มีบัญชีธนาคารที่เปิดใช้สำหรับการขายออนไลน์
required_input_info_not_submittedการชำระเงิน (ประเภท 10)ขาดฟิลด์ที่จำเป็น โดย errors[] จะระบุว่าขาดฟิลด์ใด
country_info_sent_incorrectlyการชำระเงิน (ประเภท 10)countryID ไม่อยู่ในรายการประเทศ
there_is_missing_info_in_the_shopping_cartการชำระเงิน (ประเภท 10)รายการในตะกร้าขาด id, name, piece หรือ price โดย errors[] จะชี้ไปยังรายการนั้น

รหัสข้อผิดพลาดของรายการห้องพัก#

รายการห้องพัก (POST /external/online/roomType) ส่งคืน errorCode ที่เป็นตัวเลข และ errorMessage ที่มนุษย์อ่านได้ ข้อความจะแปลตามพารามิเตอร์ language ดังนั้นให้เขียนโค้ดโดยอิงกับ errorCode

errorCodeความหมายสิ่งที่ต้องทำ
10001ไม่พบโรงแรมตรวจสอบ hotelID
10002ขาดพารามิเตอร์ (hotelID, startDate, endDate, adultCount)ส่งฟิลด์ที่จำเป็นให้ครบ
10003โรงแรมปิดการขายออนไลน์โรงแรมต้องเปิดใช้ช่องทางออนไลน์ในแผงควบคุม
10004ไม่มีประเภทห้องพักที่เปิดให้ช่องทางขายโรงแรมต้องเปิดประเภทห้องพักสำหรับการขายออนไลน์
10022พารามิเตอร์ไม่ถูกต้องวันเช็กอินต้องเป็นวันนี้หรือหลังจากนั้น วันเช็กเอาต์ต้องอยู่หลังวันเช็กอิน สูงสุด 30 คืน ผู้ใหญ่ 1–40 คน เด็ก 0–10 คน
20001ห้องว่างสำหรับผู้ใหญ่ไม่เพียงพอเสนอวันที่หรือจำนวนผู้เข้าพักอื่น
20002ห้องว่างสำหรับเด็กไม่เพียงพอไม่มีห้องที่รองรับเด็กเหลืออยู่
20003 / 20004ห้องว่างสำหรับผู้ใหญ่และเด็กไม่เพียงพอความจุรวมไม่เพียงพอต่อคำขอ

เมื่อมีห้องว่างแต่ขายประเภทห้องพักบางประเภทไม่ได้ roomCount ของประเภทนั้นจะเป็น 0 และเหตุผลจะอยู่ใน roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found

ข้อผิดพลาดในการส่งการจอง#

BookingPushRS จะมีฟิลด์ Error แทน Success: true:

การตอบกลับ · 200 (ข้อผิดพลาด)
{
    "BookingPushRS": {
        "Error": "Could not register.",
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 0,
                "bookingType": "Book",
                "HMS_ID": null
            }
        ]
    }
}
Errorรหัสสาเหตุ
No available data could be found.01เนื้อหาว่างหรือแยกวิเคราะห์ JSON ไม่ได้ หรือไม่มี Bookings[0].hotelID
Hotel registration not found on HMS.02โรงแรมไม่ได้เชื่อมกับช่องทางออนไลน์ หรือช่องทางถูกปิดใช้งาน
Could not register.เกิดข้อผิดพลาดขณะบันทึก (ID ประเภทห้องพัก/แผนอาหารไม่ถูกต้อง วันที่ไม่สอดคล้องกัน)
Failed to parse information.โครงสร้างขาดฟิลด์ที่คาดไว้

แนวทางการลองใหม่#

  • 401: เข้าสู่ระบบอีกครั้งแล้วส่งคำขอใหม่
  • 500 และข้อผิดพลาดของเครือข่าย: ลองใหม่ได้สูงสุด 3 ครั้ง โดยเว้นระยะ 1 วินาที 2 วินาที และ 4 วินาที เมื่อลองส่งการจองใหม่ ให้ใช้ ID เดิม เพราะ Book ที่ใช้รหัสซึ่งมีอยู่แล้วจะอัปเดตรายการเดิมแทนการสร้างรายการซ้ำ
  • success: false: ไม่ต้องลองใหม่ ให้แก้ไขพารามิเตอร์หรือเสนอทางเลือกอื่นให้ผู้เข้าพัก
  • เมื่อแจ้งฝ่ายสนับสนุน ให้แนบคำขอฉบับเต็ม (ปิดบังข้อมูลลับและข้อมูลบัตร) การตอบกลับ และเวลาที่ส่ง