احراز هویت
دسترسی به Online Booking API با اطلاعات دسترسی شریک تجاری انجام میشود که HMS صادر میکند. اندپوینت لاگین در ازای apiKey و apiSecret یک توکن برمیگرداند که در همه درخواستهای دیگر در هدر Authorization: Bearer ارسال میشود. برای جزئیات، راهنمای احراز هویت را ببینید.
لاگین و دریافت توکن#
POST
/external/public/loginنیازی به احراز هویت نیست · بدنه: application/x-www-form-urlencoded یا multipart/form-data
اطلاعات دسترسی شریک تجاری را بررسی میکند و اگر شریک برای این هتل مجوز داشته باشد، توکن صادر میکند. توکن به یک هتل وابسته است؛ برای هر هتل جداگانه لاگین کنید.
فیلدهای فرم
apiKeystringالزامیکلید شریک تجاری که HMS صادر کرده است.
apiSecretstringالزامیکلید محرمانه شریک تجاری. آن را فقط سمت سرور نگه دارید.
hotelCodeintegerالزامیشناسه هتل در HMS (
hotelID). شریک تجاری باید برای این هتل مجوز داشته باشد.hotelSeoUrlstringنامک SEO هتل در HMS. فقط موتور رزرو خود HMS بهجای
hotelCode از آن استفاده میکند؛ یکپارچهسازیهای شخص ثالث باید hotelCode را ارسال کنند.پاسخ
200 توکن و اطلاعات هتل. توکن 7 روز معتبر است؛ پیش از انقضا با لاگین دوباره آن را تمدید کنید.
successbooleanنتیجه عملیات.
hotelCodestringشناسه هتلی که توکن به آن وابسته است.
tokenstringتوکن Bearer. آن را یک رشته مبهم (opaque) در نظر بگیرید و محتوایش را تجزیه نکنید.
hotelSeoUrlstring | nullنامک SEO هتل.
پاسخهای خطا
- 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"const res = await fetch("https://test.hms.gen.tr/external/public/login", {
method: "POST",
body: new URLSearchParams([
["apiKey", "5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q="],
["apiSecret", "a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19"],
["hotelCode", "1000"]
])
});
const data = await res.json();$ch = curl_init('https://test.hms.gen.tr/external/public/login');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query([
'apiKey' => '5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=',
'apiSecret' => 'a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19',
'hotelCode' => '1000',
]),
]);
$data = json_decode(curl_exec($ch), true);{
"success": true,
"hotelCode": "1000",
"token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIsInRpbWV6b25lX3R5cGUiOjMsInRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIn0sInRva2VuIjoiM2tkOXNscTJwbTh2eHI0dHp5Nm53YjFoYzdmajVnYTAiLCJob3RlbElEIjoxMDAwLCJ1c2VySUQiOjQyLCJkYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTA4IDEwOjI0OjMxLjAwMDAwMCJ9fQ==",
"hotelSeoUrl": "demo-otel"
}{
"success": false,
"token": null,
"message": "hotel_permission_is_not_found"
}