คำขอและการตอบกลับ

หน้านี้อธิบายรูปแบบเนื้อหาคำขอ โครงสร้างการตอบกลับ การแบ่งหน้า รูปแบบวันที่และจำนวนเงิน รวมถึงวิธีตีความรหัสสถานะ HTTP

เนื้อหาคำขอ#

เอนด์พอยต์ใช้รูปแบบเนื้อหาอย่างใดอย่างหนึ่งจากสองรูปแบบ หน้าเอกสารอ้างอิงของแต่ละเอนด์พอยต์จะระบุว่าใช้แบบใด

รูปแบบContent-Typeใช้กับ
ฟิลด์แบบฟอร์มapplication/x-www-form-urlencoded หรือ multipart/form-dataการเข้าสู่ระบบ รายการห้องพัก การตรวจสอบคูปอง รายการประเทศ
JSONapplication/jsonการส่งการจอง (BookingPushRQ) การเริ่มชำระเงิน
Query stringเอนด์พอยต์ GET ทั้งหมด

ฟิลด์แบบอาร์เรย์ในเนื้อหาแบบฟอร์มจะส่งซ้ำโดยใช้วงเล็บเหลี่ยม: childAges[]=7&childAges[]=12 เนื้อหาแบบ JSON ต้องเข้ารหัสเป็น UTF-8

โครงสร้างการตอบกลับ#

การตอบกลับเป็น JSON ส่วนใหญ่มีแฟล็ก success และรายการต่าง ๆ จะส่งกลับมาพร้อม count และ items:

การตอบกลับแบบรายการ (ตัดทอน)
{
    "success": true,
    "count": 3,
    "items": [
        {
            "id": 1,
            "titleCode": "TRY",
            "symbol": "₺",
            "price": 1
        },
        {
            "id": 2,
            "titleCode": "EUR",
            "symbol": "€",
            "price": 47.85000000000000142108547152020037174224853515625
        }
    ]
}

เมื่อไม่ผ่านการตรวจสอบตามกฎทางธุรกิจ จะส่งคืน success: false พร้อมคำอธิบายข้อผิดพลาดในรูปแบบใดรูปแบบหนึ่งจากสองรูปแบบนี้:

รูปแบบ message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
รูปแบบ errorCode (รายการห้องพัก)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

ข้อยกเว้น: เอนด์พอยต์ข้อมูลติดต่อส่งคืนออบเจ็กต์เปล่าโดยไม่มีโครงสร้างครอบ และการส่งการจองส่งคืนออบเจ็กต์ BookingPushRS ทั้งสองกรณีแสดงไว้ในเอกสารอ้างอิง

รหัสสถานะ HTTP#

รหัสเมื่อใดสิ่งที่ต้องทำ
200ประมวลผลคำขอแล้ว (สำเร็จหรือเกิดข้อผิดพลาดตามกฎทางธุรกิจ)ตรวจสอบ success, message / errorCode
401ไม่มีโทเค็น โทเค็นผิดรูปแบบ หรือไม่รู้จักโทเค็นเข้าสู่ระบบใหม่ ดูที่การยืนยันตัวตน
404พารามิเตอร์พาธไม่ตรงกับรายการใด (เช่น /hotel/{hotelID}/…, /payment/type/{paymentType})ตรวจสอบ ID
405ใช้เมธอด HTTP ผิดใช้เมธอดตามที่ระบุในเอกสารอ้างอิง (รายการประเทศและรายการห้องพักใช้ POST)
500ข้อผิดพลาดของเซิร์ฟเวอร์ที่ไม่คาดคิดลองใหม่หลังจากรอสักครู่ หากยังเกิดขึ้นอีก ให้แจ้งฝ่ายสนับสนุนพร้อมแนบคำขอ

การแบ่งหน้า#

เอนด์พอยต์แบบรายการ (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) แบ่งหน้าตามหมายเลขหน้า:

พารามิเตอร์คำอธิบายค่าเริ่มต้น
limitจำนวนรายการต่อหน้า20
pageหมายเลขหน้า เริ่มจาก 11
offsetจำนวนรายการที่จะข้าม หากระบุค่านี้ ระบบจะไม่สนใจ page
orderฟิลด์สำหรับเรียงลำดับ ใส่ - นำหน้าเพื่อเรียงจากมากไปน้อย (-id) ฟิลด์ที่ใช้ได้ระบุไว้ในแต่ละเอนด์พอยต์

count คือจำนวนรายการทั้งหมด รายการจะหมดเมื่อ page × limit ≥ count

วันที่ เวลา และจำนวนเงิน#

ประเภทรูปแบบตัวอย่าง
วันที่ในคำขอYYYY-MM-DD2026-08-18
วันที่ของห้องว่างYYYY-MM-DD หรือ YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
วันที่ของราคารายคืน (การตอบกลับ)DD.MM.YYYY (ฟิลด์ tarih)18.08.2026
ช่วงวันของห้องว่าง (การตอบกลับ)YYYY-MM-DD HH:MM:SS ตั้งแต่ 12:00 น. ถึง 12:00 น. ของวันถัดไป2026-08-18 12:00:00
จำนวนเงินสตริงทศนิยมสองตำแหน่ง ใช้จุดเป็นตัวคั่น"965.00"
สกุลเงินISO 4217 ตามการตั้งค่าช่องทางออนไลน์ของโรงแรมTRY
เขตเวลาเขตเวลาของโรงแรมEurope/Istanbul

วันเช็กเอาต์ไม่นับเป็นส่วนหนึ่งของการเข้าพัก: 18–20 สิงหาคม คือสองคืน อย่าบวกจำนวนเงินด้วย float ให้ใช้ไลบรารีทศนิยมหรือจำนวนเต็มในหน่วยย่อยของสกุลเงินแทน

ภาษา#

รายการห้องพักรับฟิลด์ language (ISO 639-1: tr, en, de…) และส่งคืนชื่อห้อง ชื่อสิ่งอำนวยความสะดวก และข้อความแสดงข้อผิดพลาดในภาษานั้น ส่วนรายการแพ็กเกจต้องการ languageID ซึ่งได้จากเอนด์พอยต์ภาษา