การยืนยันตัวตน

การเข้าถึง Online Booking API ใช้ข้อมูลรับรองของพาร์ทเนอร์ที่ HMS ออกให้ เอนด์พอยต์เข้าสู่ระบบจะแลก apiKey และ apiSecret เป็นโทเค็น ซึ่งต้องส่งเป็น Authorization: Bearer ในทุกคำขออื่น ดูรายละเอียดได้ที่คู่มือการยืนยันตัวตน

เข้าสู่ระบบและรับโทเค็น#

POST/external/public/login

ไม่ต้องยืนยันตัวตน · เนื้อหา: application/x-www-form-urlencoded หรือ multipart/form-data

ตรวจสอบข้อมูลรับรองของพาร์ทเนอร์ และออกโทเค็นให้หากพาร์ทเนอร์ได้รับสิทธิ์สำหรับโรงแรมนั้น โทเค็นผูกกับโรงแรมเดียว หากมีหลายโรงแรมให้เข้าสู่ระบบแยกกันสำหรับแต่ละโรงแรม

ฟิลด์แบบฟอร์ม

apiKeystringจำเป็น
คีย์พาร์ทเนอร์ที่ HMS ออกให้
apiSecretstringจำเป็น
คีย์ลับของพาร์ทเนอร์ เก็บไว้ฝั่งเซิร์ฟเวอร์เท่านั้น
hotelCodeintegerจำเป็น
ID ของโรงแรมใน HMS (hotelID) พาร์ทเนอร์ต้องได้รับสิทธิ์สำหรับโรงแรมนี้
hotelSeoUrlstring
SEO slug ของโรงแรมใน HMS ใช้แทน hotelCode เฉพาะในระบบจองห้องพักของ HMS เอง การเชื่อมต่อจากบุคคลที่สามควรส่ง hotelCode

การตอบกลับ

200 โทเค็นและข้อมูลโรงแรม โทเค็นมีอายุ 7 วัน ให้ต่ออายุด้วยการเข้าสู่ระบบใหม่ก่อนหมดอายุ

successboolean
แฟล็กผลลัพธ์
hotelCodestring
ID ของโรงแรมที่โทเค็นผูกอยู่
tokenstring
Bearer token ให้ถือเป็นค่าทึบ (opaque) และไม่ต้องแยกวิเคราะห์เนื้อหา
hotelSeoUrlstring | null
SEO slug ของโรงแรม

การตอบกลับเมื่อเกิดข้อผิดพลาด

  • 200 partner_is_not_found — คู่คีย์ไม่ตรงกัน; hotel_is_not_found — ไม่พบโรงแรมสำหรับ hotelSeoUrl; hotel_permission_is_not_found — พาร์ทเนอร์ไม่ได้รับสิทธิ์สำหรับโรงแรมนี้ หรือสิทธิ์ถูกปิดใช้งาน
คำขอ
curl "https://test.hms.gen.tr/external/public/login" \
  -d "apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=" \
  -d "apiSecret=a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19" \
  -d "hotelCode=1000"
การตอบกลับ · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIsInRpbWV6b25lX3R5cGUiOjMsInRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIn0sInRva2VuIjoiM2tkOXNscTJwbTh2eHI0dHp5Nm53YjFoYzdmajVnYTAiLCJob3RlbElEIjoxMDAwLCJ1c2VySUQiOjQyLCJkYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTA4IDEwOjI0OjMxLjAwMDAwMCJ9fQ==",
    "hotelSeoUrl": "demo-otel"
}
การตอบกลับ · 200 (ไม่สำเร็จ)
{
    "success": false,
    "token": null,
    "message": "hotel_permission_is_not_found"
}