API от Travelata

Travelata.ru является одним из ведущих интернет-магазинов туров, предоставляющим широкий спектр услуг для путешественников. В данной статье приводится описание запросов к API  Travelata.ru, которые возвращают список стран, курортов, отелей и самые дешёвые туры. 

Чтобы работать с API, партнёру необходимо подключиться к программе Travelata в личном кабинете и написать в нашу службу поддержки. Каждый запрос обрабатывается брендом.

Обязательно добавьте в письмо следующую информацию:

  1. Цель использования: кратко расскажите, для каких задач и как именно вы планируете применять API Travelata.
  2. Список ваших площадок: перечислите все сайты, приложения или другие ресурсы, где будет использоваться API.

При положительном решении, партнёру будет предоставлен логин и пароль, которые позволят работать с API.

 

Список самых дешёвых туров

Запрос возвращает список самых дешёвых туров и ссылки на них с группировкой по дням:

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 — идентификатор отеля;
    • mealId — идентификатор типа питания;
    • 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 схема

openapi_2711.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