Xác thực

Để truy cập Online Booking API, bạn dùng thông tin xác thực đối tác do HMS cấp. Endpoint đăng nhập đổi apiKeyapiSecret lấy một token; token này được gửi dưới dạng Authorization: Bearer trong mọi yêu cầu khác. Xem hướng dẫn Xác thực để biết chi tiết.

Đăng nhập và lấy token#

POST/external/public/login

Không cần xác thực · Nội dung: application/x-www-form-urlencoded hoặc multipart/form-data

Xác minh thông tin xác thực đối tác và cấp token nếu đối tác được ủy quyền cho khách sạn. Token gắn với một khách sạn; với mỗi khách sạn, bạn cần đăng nhập riêng.

Trường form

apiKeystringbắt buộc
Khóa đối tác do HMS cấp.
apiSecretstringbắt buộc
Khóa bí mật của đối tác. Chỉ lưu ở phía máy chủ.
hotelCodeintegerbắt buộc
ID HMS của khách sạn (hotelID). Đối tác phải được ủy quyền cho khách sạn này.
hotelSeoUrlstring
Slug SEO của khách sạn trong HMS. Chỉ công cụ đặt phòng của chính HMS dùng trường này thay cho hotelCode; các tích hợp bên thứ ba nên gửi hotelCode.

Phản hồi

200 Token và thông tin khách sạn. Token có hiệu lực 7 ngày; hãy gia hạn bằng cách đăng nhập lại trước khi hết hạn.

successboolean
Cờ kết quả.
hotelCodestring
ID khách sạn mà token được gắn với.
tokenstring
Bearer token. Hãy xem token như một chuỗi nguyên khối; không phân tích nội dung của nó.
hotelSeoUrlstring | null
Slug SEO của khách sạn.

Phản hồi lỗi

  • 200 partner_is_not_found — cặp khóa không khớp; hotel_is_not_found — không có khách sạn nào ứng với hotelSeoUrl; hotel_permission_is_not_found — đối tác không được ủy quyền cho khách sạn này hoặc quyền đã bị vô hiệu hóa.
Yêu cầu
curl "https://test.hms.gen.tr/external/public/login" \
  -d "apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=" \
  -d "apiSecret=a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19" \
  -d "hotelCode=1000"
Phản hồi · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIsInRpbWV6b25lX3R5cGUiOjMsInRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIn0sInRva2VuIjoiM2tkOXNscTJwbTh2eHI0dHp5Nm53YjFoYzdmajVnYTAiLCJob3RlbElEIjoxMDAwLCJ1c2VySUQiOjQyLCJkYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTA4IDEwOjI0OjMxLjAwMDAwMCJ9fQ==",
    "hotelSeoUrl": "demo-otel"
}
Phản hồi · 200 (thất bại)
{
    "success": false,
    "token": null,
    "message": "hotel_permission_is_not_found"
}
Cập nhật lần cuối: 21 tháng 9, 2026Phát hiện lỗi? Hãy cho chúng tôi biết