API Суточно.ру

С помощью API партнёрской программы Суточно.ру партнёры Travelpayouts могут получать данные о доступности и ценах номерного фонда за заданный период.

Базовый URL: https://api.sutochno.ru

Запрос

URL: /api/json/objects/getPricesAndAvailabilities/

Параметры передаются следующим образом:

  • токен в HEADERS запроса. Чтобы получить токен, напишите в службу поддержки Travelpayouts запрос с описанием вашего проекта;
  • параметры в теле POST-запроса в виде текстовой строки.

Параметры запроса

Параметр

Тип данных

Пример значения

Значение по-

умолчанию

Описание

objects

массив — int

[829871,726405]

-

ID категорий номеров / объектов. Получить ID можно из фида данных.

date_begin

datetime

2021-12-15 14:00

-

Начало периода

date_end

datetime

2021-12-20 12:00

-

Конец периода (включительно)

guests

integer

4

-

Общее количество гостей

currency_id

integer

1

-

ID валюты (1 — RUR)

no_time

integer

1

0

Не учитывать время заезда/отъезда при расчёте стоимости

platform

string

 

-

Логин приложения

version

string

 

1.10

Версия API

Пример запроса

curl --request POST 'https://api.sutochno.ru/api/json/objects/getPricesAndAvailabilities/' \
--header 'api-token: UO1N8VjCtTZp3DggfDSw129466587' \
--header 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
--data-raw 'guests=2&time_end=0&time_begin=0&date_end=2021-11-11+00%3A00%3A00&date_begin=2021-11-18+00%3A00%3A00&no_time=1&objects%5B%5D=443115&platform=js'

Ответ

Структура ответа

После отправки запроса сервер вернёт http-код состояния (описание см. ниже) и ответ в формате JSON, содержащий:

  • success — флаг успешности выполнения;
  • errors — массив ошибок;
  • actions — массив последующих рекомендуемых действий;
  • data — данные выполнения запроса;
  • timestamp — метка времени отправки ответа;
  • uuid — уникальный идентификатор запроса.

Список кодов состояния HTTP

  • 200 OK — успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.
  • 202 Accepted — запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, т. к. может быть начат очень долгий процесс;
  • 304 Not Modified — сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела.
  • 400 Bad Request — сервер обнаружил в запросе клиента синтаксическую ошибку или не указаны обязательные параметры.
  • 401 Unauthorized — для доступа к запрашиваемому ресурсу требуется аутентификация.
  • 403 Forbidden — сервер понял запрос, но отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.
  • 426 Upgrade Required — сервер указывает клиенту на необходимость обновить протокол/версию клиента. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection.

Пример ответа

actions: [] data: {
objects: [
{ данные о стоимости и доступности объекта 829871},
{ данные о стоимости и доступности объекта 726405}
]
},
errors: []
platform: your-sitename.com success: true
timestamp: 1429791672
uuid: CQqK8A4WGSsIWXeivG459pe

Поля ответа

  • actions — не используется (deprecated)
  • errors — ошибки работы метода
  • platform — не используется (deprecated)
  • success — true/false — успешность вызова метода
  • timestamp — не используется (deprecated)
  • uuid — не используется (deprecated)
  • data — данные по запросу
  • data.objects — массив расчетов для объектов
  • data.objects.0 — индекс расчета
  • data.objects.0.data — данные расчета для объекта ID 
  • data.objects.0.data.busy — свободен объект «unbusy», или занят «busy»
  • data.objects.0.data.cnt — число ночей, на которое производился расчет
  • data.objects.0.data.currency — валюта
  • data.objects.0.data.detail — детальная информация по расчету, можно не использовать
  • data.objects.0.data.detail_dop — дополнительные платежи
  • data.objects.0.data.detail_dop.0 — если есть доп. оплаты, то тут перечислены
  • data.objects.0.data.detail_dop.0.cost — стоимость (в валюте «currency»)
  • data.objects.0.data.detail_dop.0.tp — тип доплаты: «cleaning» — уборка
  • data.objects.0.data.is_booking_now — можно ли забронировать мгновенно (оплата сразу, не дожидаясь подтверждения арендодателя)
  • data.objects.0.data.max_guests — максимальное число гостей, которое вмещает объект
  • data.objects.0.data.precost — сумма предоплаты, которую необходимо будет внести
  • data.objects.0.data.price — общая стоимость проживания
  • data.objects.0.data.rooms_available — не используется (deprecated)
  • data.objects.0.data.rooms_cnt — не используется (deprecated)
  • data.objects.0.data.service_fee — не используется (deprecated)
  • data.objects.0.data.bonus — не используется (deprecated)
  • data.objects.0.data.can_hold — не используется (deprecated)
  • data.objects.0.data.cnt_guests — не используется (deprecated)
  • data.objects.0.data.comission — не используется (deprecated)
  • data.objects.0.data.is_booking_no_precost — не используется (deprecated)
  • data.objects.0.data.is_object_hot — не используется (deprecated)
  • data.objects.0.data.object_hot — не используется (deprecated)
  • data.objects.0.data.price_default — не используется (deprecated)
  • data.objects.0.actions — не используется (deprecated)
  • data.objects.0.errors — ошибки расчета ID 
  • data.objects.0.success — успешность расчета для ID 
  • data.objects.0.id — ID объекта Суточно.ру

Если в данных о стоимости объекта пришло success=false, значит имеются какие-то ограничения и
необходимо вывести текст ошибки из errors.

Была ли эта статья полезной?

Еще есть вопросы? Отправить запрос