Быстрый старт

На этой странице вы получите токен по учётным данным партнёра и отправите запрос номеров и цен. Понадобятся apiKey, apiSecret и ID отеля в HMS (hotelID); если у вас их ещё нет, обратитесь в поддержку.

1. Получите токен#

Эндпоинт входа принимает поля формы и не требует заголовка аутентификации:

Терминал
curl "https://test.hms.gen.tr/external/public/login" \
  -d "apiKey=$HMS_API_KEY" \
  -d "apiSecret=$HMS_API_SECRET" \
  -d "hotelCode=1000"
Ответ · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…",
    "hotelSeoUrl": "demo-otel"
}

Сохраните token: в течение 7 дней он используется во всех запросах для этого отеля.

Терминал
export HMS_TOKEN="eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…"

2. Запросите номера и цены#

Поиск на две ночи для двух взрослых:

Запрос
curl "https://test.hms.gen.tr/external/online/roomType" \
  -H "Authorization: Bearer $HMS_TOKEN" \
  -d "hotelID=1000" \
  -d "startDate=2026-08-18" \
  -d "endDate=2026-08-20" \
  -d "adultCount=2" \
  -d "language=en"

3. Разберите ответ#

Каждый тип номера содержит типы питания (accommodationTypes), а каждый тип питания — варианты цены (prices). Сокращённый пример:

Ответ · 200 (фрагмент)
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Standard Room",
            "roomCount": 5,
            "currency": "TRY",
            "accommodationTypes": [
                {
                    "id": 2,
                    "title": "Bed & Breakfast",
                    "priceType": 0,
                    "prices": {
                        "2-1": {
                            "total": 2,
                            "price": "1930.00",
                            "currency": "TRY",
                            "nonRefundable": "",
                            "id": "2/2"
                        },
                        "2-0": {
                            "total": 2,
                            "price": "1737.00",
                            "currency": "TRY",
                            "nonRefundable": "[NR]",
                            "id": "2-0/2"
                        }
                    }
                }
            ]
        }
    ],
    "count": 1
}
  • 2-1: 2 человека, стандартный (возвратный) тариф. 2-0: 2 человека, невозвратный тариф (nonRefundable: "[NR]").
  • price — сумма за всё проживание, total — число ночей. Цены за каждую ночь находятся в массиве prices[] полного ответа.
  • В бронировании id типа номера передаётся как roomTypeID, а id типа питания — как ratePlanID.

Что дальше#

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