Удостоверяване

Достъпът се предоставя чрез партньорски акаунт, създаден от HMS. Партньорският акаунт получава apiKey и apiSecret, а HMS определя до кои хотели има достъп. Крайната точка за вход разменя тези идентификационни данни срещу токен, обвързан с хотела.

Вход и токен#

Заявка
POST /external/public/login HTTP/1.1
Host: test.hms.gen.tr
Content-Type: application/x-www-form-urlencoded

apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4%2BAm7Q%3D&apiSecret=a143d640…&hotelCode=1000
Отговор · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…",
    "hotelSeoUrl": "demo-otel"
}
ПолеОписание
apiKeyПартньорски ключ. Съдържа base64 символи, затова в тялото на форма трябва да е URL-кодиран (+%2B, =%3D). HTTP библиотеките правят това вместо вас.
apiSecretТаен ключ. Съхранявайте го само на сървъра; никога не го включвайте в браузърно или мобилно приложение.
hotelCodeHMS ID на хотела. Ако партньорът не е оторизиран за хотела, се връща hotel_permission_is_not_found.
hotelSeoUrlSEO адресът на хотела. Използва се вместо hotelCode само от собствената резервационна система на HMS; интеграциите на трети страни изпращат hotelCode.

Заглавка Bearer#

Всички крайни точки освен входа очакват токена в заглавката Authorization:

Заявка
GET /external/currencies HTTP/1.1
Host: test.hms.gen.tr
Authorization: Bearer eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…

Ако заглавката липсва, е в неправилен формат (без префикс Bearer) или токенът е непознат, API връща 401:

401 Unauthorized
{
    "success": false,
    "error": "Authentication required"
}

Валидност и подновяване на токена#

  • Токенът е валиден 7 дни. Подновете го, като влезете отново преди изтичането му; входът е евтина операция и може да се повтаря за същия хотел.
  • Не анализирайте съдържанието на токена. Въпреки че е base64-кодирана структура, форматът му не е гарантиран; съхранявайте го и го предавайте като непрозрачен низ.
  • При 401 влезте още веднъж и повторете заявката; втори 401 означава, че двойката ключове или оторизацията за хотела са променени.

Контекст на хотела#

Токенът е обвързан с един хотел. Параметърът hotelID в крайните точки трябва да съвпада с този хотел; заявка за друг хотел води до грешка при оторизацията или до празни резултати. При интеграции с няколко хотела получавайте отделен токен за всеки хотел и го кеширайте поотделно.

Грешки при вход#

messageЗначение
partner_is_not_foundДвойката apiKey / apiSecret не съвпада. Проверете ключовете и URL кодирането.
hotel_is_not_foundНяма хотел, който да съответства на hotelSeoUrl.
hotel_permission_is_not_foundПартньорът не е оторизиран за този хотел или оторизацията е неактивна. Свържете се с поддръжката на HMS.

Тези грешки се връщат с HTTP 200, success: false и token: null.

Последна актуализация: 21 септември 2026 г.Открихте грешка? Пишете ни