Коды ошибок

Ошибки бывают трёх видов: ошибки аутентификации приходят с HTTP 401, ошибки бизнес-логики — внутри ответа HTTP 200 с success: false, а ошибки передачи бронирования — в BookingPushRS.Error. На этой странице перечислены все коды.

Ошибки аутентификации#

HTTPОтветПричина
401{"success": false, "error": "Authentication required"}Токен отсутствует, неизвестен или имеет неверный формат Bearer.
200message: partner_is_not_foundВход: пара ключей не совпала.
200message: hotel_is_not_foundВход: не найден отель по hotelSeoUrl.
200message: hotel_permission_is_not_foundВход: у партнёра нет доступа к отелю.

Коды message#

Текстовые коды в snake_case, возвращаются вместе с success: false.

messageЭндпоинтОписание
hotel_id_is_not_foundБольшинствоНе передан hotelID.
start_date_is_not_found / end_date_is_not_foundДоступностьНе передан параметр даты.
online_cupon_is_not_foundКупонКод неизвестен, неактивен, истёк или недоступен.
mail_host_is_not_foundНастройки почтыДля онлайн-канала не настроен SMTP.
hotel_company_info_could_not_foundДанные виртуального POSДля отеля не настроен платёжный провайдер.
bank_info_is_not_foundОплата (тип 3)Нет банковского счёта, включённого для онлайн-продаж.
required_input_info_not_submittedОплата (тип 10)Не передано обязательное поле; какие именно — перечислено в errors[].
country_info_sent_incorrectlyОплата (тип 10)countryID отсутствует в списке стран.
there_is_missing_info_in_the_shopping_cartОплата (тип 10)В элементе корзины нет id, name, piece или price; errors[] указывает на этот элемент.

Коды ошибок списка номеров#

Список номеров (POST /external/online/roomType) возвращает числовой errorCode и понятный человеку errorMessage. Сообщение переводится в зависимости от параметра language, поэтому в коде опирайтесь на errorCode.

errorCodeЗначениеЧто делать
10001Отель не найденПроверьте hotelID.
10002Не передан параметр (hotelID, startDate, endDate, adultCount)Передайте обязательные поля.
10003Отель закрыт для онлайн-продажОтель должен включить онлайн-канал в панели управления.
10004Нет типов номеров, открытых для каналовОтель должен открыть типы номеров для онлайн-продажи.
10022Неверные параметрыЗаезд сегодня или позже, выезд после заезда, не более 30 ночей, 1–40 взрослых, 0–10 детей.
20001Недостаточно мест для взрослыхПредложите другие даты или другое количество гостей.
20002Недостаточно мест для детейНе осталось номеров, вмещающих детей.
20003 / 20004Недостаточно мест для взрослых и детейОбщая вместимость не покрывает запрос.

Если свободные места есть, но конкретный тип номера продать нельзя, его roomCount равен 0, а причина указана в roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found.

Ошибки передачи бронирования#

Вместо Success: true объект BookingPushRS содержит поле Error:

Ответ · 200 (ошибка)
{
    "BookingPushRS": {
        "Error": "Could not register.",
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 0,
                "bookingType": "Book",
                "HMS_ID": null
            }
        ]
    }
}
ErrorКодПричина
No available data could be found.01Тело пустое или JSON не удалось разобрать; нет Bookings[0].hotelID.
Hotel registration not found on HMS.02Отель не подключён к онлайн-каналу, или канал неактивен.
Could not register.Ошибка при сохранении (неверный ID типа номера или типа питания, несогласованные даты).
Failed to parse information.В структуре нет ожидаемых полей.

Рекомендации по повторным попыткам#

  • 401: выполните вход ещё раз и повторите запрос.
  • 500 и сетевые ошибки: до 3 попыток с интервалами 1 с, 2 с, 4 с. При повторной передаче бронирования используйте тот же ID: Book с уже существующим кодом обновляет запись, а не создаёт дубликат.
  • success: false: не повторяйте запрос; исправьте параметр или предложите гостю альтернативу.
  • В обращениях в поддержку прикладывайте полный запрос (скрыв секреты и данные карт), ответ и время.
Последнее обновление:: 21 сентября 2026 г.Нашли ошибку? Напишите нам