В предложенной статье приводится описание запросов к API интернет-магазина туров Travelata.ru.
Travelata.ru является одним из ведущих интернет-магазинов туров, предоставляющим широкий спектр услуг для путешественников. В данной статье приводится описание запросов к API Travelata.ru, которые возвращают список стран, курортов, отелей и самые дешёвые туры. Для работы с Travelata необходимо зарегистрироваться в партнёрской программе Travelpayouts.
Список самых дешёвых туров
Запрос возвращает список самых дешёвых туров и ссылки на них с группировкой по дням:
https://api-gateway.travelata.ru/statistic/cheapestTours
Данные обновляются в реальном времени.
Внимание! С ростом количества запросов к API будет введена http-авторизация для партнёра.
Параметры запроса
- countries[] — id страны тура (можно получить с помощью запроса Список стран). Поддерживается только одна страна в запросе. При передаче нескольких стран будет сгенерирована ошибка;
- departureCity — id города вылета (можно найти в файле Справочник городов вылета для API.xlsx);
- nightRange[from] — минимальное количество ночей;
- nightRange[to] — максимальное количество ночей;
- resorts[] — массив уникальных идентификаторов курортов;
- meals[] — массив уникальных идентификаторов типов питания;
- touristGroup[adults] — количество взрослых;
- touristGroup[kids] — количество детей (от 2 до 11 лет);
- touristGroup[infants] — количество младенцев (до 2 лет);
- hotelCategories[] — категория отеля (используется для фильтрации по категории отелей);
- ratingMin — минимально допустимый рейтинг отеля. Дополняет ограничения по параметру hotelCategories;
- ratingMax — максимально допустимый рейтинг отеля. Дополняет ограничения по параметру hotelCategories;
- checkInDateRange[to], checkInDateRange[from] — период от и до дат заселения в отель.
Важно: Запрос на поиск туров возможен в интервале 30 дней (период между checkInDateRange[from] и checkInDateRange[to]).
Запрос
https://api-gateway.travelata.ru/statistic/cheapestTours?countries[]=92&departureCity=2&nightRange[from]=4&resorts[]=2175&nightRange[to]=10&touristGroup[adults]=2&touristGroup[kids]=0&touristGroup[infants]=0&hotelCategories[]=2&hotelCategories[]=7&checkInDateRange[from]=2023-01-13&checkInDateRange[to]=2023-01-15
Ответ
{
"data":[
{
"tourIdentity":"ulHelbi9j08fj/5DPjePmTOBgvXglYJnHuH+dYMmo//E2YBR2GAoKYahXFq2JI4Z56E5",
"price":42994,
"publishedAt":"2020-06-04 14:23:09",
"checkinDate":"2020-10-12",
"nights":4,
"hotelId":107259,
"mealId":2,
"operatorId":55,
"resortId":2175,
"expired":"2020-06-04 16:23:08",
"tourPageUrl":"https://travelata.ru/hotel/107259/tourPage?identity=ulHelbi9j08fj%2F5DPjePmTOBgvXglYJnHuH%2BdYMmo%2F%2FE2YBR2GAoKYahXFq2JI4Z56E5",
"searchPageUrl":"https://travelata.ru/search#?fromCity=2&toCountry=92&toCity=2175&dateFrom=09.10.2020&dateTo=15.10.2020&nightFrom=4&nightTo=10&adults=2&kids=0&infants=0&hotelClass=2.7&meal=all",
"hotelName":"Naturella Hotel & Apart",
"hotelCategory":2,
"hotelCategoryName":"2*",
"hotelRating":"4.36548",
"hotelPreview":"http://images3.travelatacdn.ru/upload/2017_18/content_hotel_590b06f3c2b942.23460800.jpg?width=368&height=265"
}
],
"success":true,
"message":null
}
Параметры ответа
- data — данные ответа:
- tourIdentity — идентификатор тура;
- price — стоимость тура (в рублях);
- publishedAt — дата публикации тура;
- checkinDate — дата заселения;
- nights — количество ночей в туре;
- hotelId — идентификатор отеля;
- meailId — идентификатор типа питания;
- operatorId — идентификатор тур оператора;
- resortId — идентификатор курорта;
- expired — дата, до которой доступно данное предложение в системе Travelata.ru;
- tourPageUrl — ссылка на бронирование конкретного тура;
- searchUrl — ссылка на страницу с результатами поиска по городу ±3 дня от даты, указанной в checkinDate;
- hotelName — имя отеля;
- hotelCategoryName — категория отеля;
- hotelRating — категория отеля;
- hotelPreview — ссылка на превью изображения отеля.
- success — результат выполнения запроса (true — успешно, false — завершился с ошибкой);
- message — сообщение об ошибке.
Не забудьте использовать форму создания партнёрских ссылок! После формы приведённая выше ссылка будет выглядеть примерно так:
https://tp.media/r?marker=11501&trs=63378&p=771&u=https%3A%2F%2Ftravelata.ru%2Fhotel%2F177181%2FtourPage%3Fidentity%3DulHelbi9jE4ej%252F9DPjeKmTGBgvXglYJgHeH%252BdYMmo%252FjE2o1Z2GAoKYahXEiyJJIJ67Yzhu2y2C8gTRkEDtbLyjfQ&campaign_id=18
Yaml схема
Список стран
Запрос возвращает список стран, представленных в сервисе Travelata.ru.
Запрос
http://api-gateway.travelata.ru/directory/countries
Ответ
{
"data": [
{
"id": 11,
"name": "Беларусь",
"popular": 0
}
],
"success": true,
"message": null
}
Параметры ответа
- data — массив с полезной информацией:
- id — уникальный идентификатор страны;
- name — название страны;
- popular — внутренний коэффициент популярности от Travelata.ru.
- success — результат выполнения запроса (true — успешно, false — завершился с ошибкой);
- message — сообщение об ошибке.
Список курортов
Запрос возвращает список курортов, представленных в сервисе Travelata.ru.
Запрос
http://api-gateway.travelata.ru/directory/resorts
Ответ
{
"data": [
{
"id": 2,
"name": "Гудаута",
"isPopular": false,
"countryId": 1,
"atFiltering": false
}
],
"success": true,
"message": null
}
Параметры ответа
- data — массив с полезной информацией:
- id — уникальный идентификатор курорта;
- name — название курорта;
- isPopular — является ли курорт популярным по данным Travelata.ru;
- countryId — уникальный идентификатор страны;
- atFiltering — есть ли доступные курорты в базе (true — есть, false — нет).
- success — результат выполнения запроса (true — успешно, false — завершился с ошибкой);
- message — сообщение об ошибке.
Список отелей
Запрос возвращает список отелей на заданном курорте.
Запрос
http://api-gateway.travelata.ru/directory/resortHotels?resortId=1843
где resortId — уникальный идентификатор курорта.
Ответ
{
"success": true,
"data": [
{
"id": 137188,
"name": "Хостел Юг (Hostel Yug)",
"resortId": 1843,
"hotelCategoryId": 10
}
],
"message": null
}
Параметры ответа
- data — массив с полезной информацией:
- id — уникальный идентификатор отеля;
- name — название отеля;
- hotelCategoryId — категория отеля;
- resortId — уникальный идентификатор курорта.
- success — результат выполнения запроса (true — успешно, false — завершился с ошибкой);
- message — сообщение об ошибке.
Категории отелей
Запрос возвращает категории отелей.
Запрос
http://api-gateway.travelata.ru/directory/hotelCategories
Ответ
{
"data": [
{
"id": 17,
"name": "Пансионат"
}
],
"success": true,
"message": null
}
Параметры ответа
- data — массив с полезной информацией:
- id — уникальный идентификатор категории;
- name — название категории.
- success — результат выполнения запроса (true — успешно, false — завершился с ошибкой);
- message — сообщение об ошибке.
Типы питания
Запрос возвращает список доступных типов питания.
Запрос
http://api-gateway.travelata.ru/directory/meals
Ответ
{
"data":[
{
"id":1,
"name":"Всё включено"
}
],
"success":true,
"message":null
}
Параметры ответа
- data — массив с полезной информацией:
- id — уникальный идентификатор питания;
- name — название типа питания.
- success — результат выполнения запроса (true — успешно, false — завершился с ошибкой);
- message — сообщение об ошибке.
Задать вопросы и внести предложения по работе с API можно здесь: https://forms.gle/4GCqGxJcFyEWfxs78