Запросы и ответы

На этой странице описаны форматы тела запроса, обёртка ответа, пагинация, форматы дат и сумм, а также то, как интерпретировать коды состояния HTTP.

Тело запроса#

Эндпоинты используют один из двух форматов тела. Какой именно, указано на странице эндпоинта в справочнике.

ФорматContent-TypeГде используется
Поля формыapplication/x-www-form-urlencoded или multipart/form-dataВход, список номеров, проверка купона, страны
JSONapplication/jsonПередача бронирования (BookingPushRQ), запуск оплаты
Строка запросаВсе эндпоинты GET

Поля-массивы в теле формы повторяются с квадратными скобками: childAges[]=7&childAges[]=12. Тело в JSON должно быть в кодировке UTF-8.

Обёртка ответа#

Ответы приходят в JSON. Большинство из них содержат поле success; списки возвращаются с полями count и items:

Ответ со списком (фрагмент)
{
    "success": true,
    "count": 3,
    "items": [
        {
            "id": 1,
            "titleCode": "TRY",
            "symbol": "₺",
            "price": 1
        },
        {
            "id": 2,
            "titleCode": "EUR",
            "symbol": "€",
            "price": 47.85000000000000142108547152020037174224853515625
        }
    ]
}

Если не пройдена проверка бизнес-логики, возвращается success: false и описание ошибки в одном из двух видов:

Вид с message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
Вид с errorCode (список номеров)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

Исключения: эндпоинт контактных данных возвращает объект без обёртки, а передача бронирования — объект BookingPushRS. Оба варианта приведены в справочнике.

Коды состояния HTTP#

КодКогдаЧто делать
200Запрос обработан (успех или ошибка бизнес-логики)Проверьте success, message / errorCode.
401Токен отсутствует, имеет неверный формат или неизвестенВыполните вход заново; см. Аутентификация.
404Параметр пути не соответствует ни одной записи (например, /hotel/{hotelID}/…, /payment/type/{paymentType})Проверьте ID.
405Неверный HTTP-методИспользуйте метод, указанный в справочнике (страны и список номеров — POST).
500Непредвиденная ошибка сервераПовторите запрос через небольшую паузу; если ошибка сохраняется, обратитесь в поддержку и приложите запрос.

Пагинация#

Эндпоинты-списки (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) разбиваются на страницы по номеру страницы:

ПараметрОписаниеПо умолчанию
limitЗаписей на странице.20
pageНомер страницы, начиная с 1.1
offsetСколько записей пропустить. Если задан, page игнорируется.
orderПоле сортировки; для сортировки по убыванию добавьте префикс - (-id). Допустимые поля указаны для каждого эндпоинта.

count — общее число записей; список исчерпан, когда page × limit ≥ count.

Даты, время и суммы#

ТипФорматПример
Дата в запросеYYYY-MM-DD2026-08-18
Дата доступностиYYYY-MM-DD или YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
Дата цены за ночь (ответ)DD.MM.YYYY (поле tarih)18.08.2026
Интервал дня доступности (ответ)YYYY-MM-DD HH:MM:SS, с 12:00 до 12:00 следующего дня2026-08-18 12:00:00
СуммаСтрока с двумя знаками после точки"965.00"
ВалютаISO 4217; берётся из настроек онлайн-канала отеляTRY
Часовой поясЧасовой пояс отеляEurope/Istanbul

Дата выезда не входит в проживание: с 18 по 20 августа — это две ночи. Не складывайте суммы как float; используйте библиотеку для десятичных чисел или целые значения в минимальных единицах валюты.

Язык#

Список номеров принимает поле language (ISO 639-1: tr, en, de…) и возвращает названия номеров, заголовки характеристик и сообщения об ошибках на этом языке. Список пакетов ожидает languageID; ID можно получить в эндпоинте Языки.

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