Описание
API предназначено для работы виджета бронирования Shelter Cloud версии v2.
Все методы требуют указания токена, который можно взять в личном кабинете на вкладке "Онлайн v2".
Общий принцип работы
Клиентское приложение запрашивает у пользователя даты заезда и нужное количество номеров, с указанием, сколько гостей будет в каждом номере и возраста детей.
Далее оно производит вызов метода getVariants, получает доступные вариации, отображает пользователю.
Пользователь выбирает нужный и переходит к заполнению данных о гостях и выбору способа оплаты. При этом разрешённые способы оплаты запрашиваются в методе getPaymentOptions.
После этого делается запрос на создание бронирования в метод putOrder. В ответ придёт информация о созданном бронировании, в том числе ссылка на оплату (при необходимости).
Если необходимо получить детали заказа, их можно запросить через метод getOrder.
Коллекция Postman во вложении:
Примеры
POST Найти варианты размещения (getVariants)
https://pms.frontdesk24.ru/api/online/getVariants
Метод производит поиск и выдаёт варианты, по которым есть наличие мест и цены на запрошенные даты и число гостей.
Результат - массив, содержащий другие массивы. Порядок следования обязателен к соблюдению.
Система сама определяет, какие номера подходят для указанного числа гостей и как рассадить гостей.
Номер считается подходящим, если число основных и доп.мест в нём больше либо равно запрошенному. Сначала занимаются основные места, потом доп.места, при этом гости рассаживаются начиная со взрослых. Например, если в номере 2 основных места и 1 дополнительное и поиск делается на 1 взрослого, 1 ребёнка и 1 младенца - на основные места будут посчитаны взрослый и ребёнок, а младенец будет определён на дополнительное место.
Пример в архиве:
POST Получить параметры отеля (getHotelParams)
https://pms.frontdesk24.ru/api/online/getHotelParams
Возвращает параметры виджета и справочники.
Пример в архиве:
POST Получить способы оплаты (getPaymentOptions)
https://pms.frontdesk24.ru/api/online/getPaymentOptions
Пример в архиве:
POST Создать бронирование (putOrder)
https://pms.frontdesk24.ru/api/online/putOrder
Создаёт бронирование.
Пример в архиве:
Возможные проблемы и их решение
Проблема 1: В ответе на запрос выводится пустой массив данных. Информация предоставлена на примере использования метода getVariants.
Решение: Проверить на сайте, есть ли в модуле бронирования варианты размещения на даты, указанные в запросе. Если сайт отсутствует, либо модуль онлайн бронирования не установлен, то можно произвести проверку через автосайт:
- Для этого переходим в Shelter CLOUD.
- Заходим в настройки, нажав по имени пользователя в правом верхнем углу экрана.
- Выбираем раздел "Онлайн для сайта v2.0".
- Проматываем страницу вниз до раздела "Автосайт".
- Заполняем поле "синоним отеля для ссылки", это необходимо для формирования страницы с модулем онлайн бронирования.
- Переходим по ссылке.
- Видим, что в указанный период, доступные номера отсутствуют. Именно поэтому запрос выдает пустой массив данных. Решением может быть:
1) Проверить, что модуль онлайн бронирования приобретен и есть в тарифе Shelter CLOUD.
2) Проверить, что категории и тарифы настроены для выгрузки онлайн.
3) Проверить, что для тарифов и категорий не выставлены ограничения.
4) Проверить, что в тарифах выставлены цены на запрашиваемый период.
5) Указать даты, в которые есть доступные варианты размещения.
Проблема 2: Некорректные данные в запросе. Информация предоставлена на примере использования метода getVariants. Используемый браузер - Google Chrome.
Решение: Необходимо получить правильный пример запроса при использовании метода getVariants. Для этого:
- Переходим в модуль бронирования на сайт или автосайт.
- Открываем консоль (инструменты разработчика).
- В модуле бронирования или автосайте, выбираем даты и запускаем поиск доступных размещений.
- В консоли переходим в раздел "Сеть". Выставляем параметр "Fetch/XDR" если он не выставлен.
- Находим запрос getVariants.
- На вкладке "Заголовки" - "Общие" видим URL и метод.
- На вкладке "Полезная нагрузка" - "Посмотреть ресурс" видим тело запроса.
- На вкладке "Ответ" видим ответ на запрос вариантов размещения.
- Переходим в инструмент тестирования API (Postman, Bruno и т.п.)
- Указываем URL и метод из примера на вкладке "Заголовки" - "Общие".
- Копируем тело запроса из вкладки "Полезная нагрузка" - "Посмотреть ресурс".
- Выполняем запрос и получаем ответ.
- Теперь можно сгенерировать код.