API для использования в мобильных приложениях

Уважаемые партнеры! Обратите внимание, что по умолчанию установлено ограничение: 100 запросов в час. Если требуется обрабатывать больше запросов, напишите на support@travelpayouts.com.

 

С помощью мобильного API партнеры встраивают в свои приложения поиск от Aviasales. Основные возможности API:

Список популярных направлений

Список популярных аэропортов, который можно внедрить в приложение. Позволяет оптимизировать работу экранов выбора аэропортов вылета и назначения, где производится поиск по введенной пользователем строке.

Запрос

Метод: GET.

URL: http://nano.aviasales.ru/places/top_ru.json

Используйте top_en.json, top_de.json и т. п. для получения выдачи на других языках.

Заголовок запроса

Accept-Encoding: gzip, deflate, bzip2, compress

Такой заголовок нужен для получения данных в сжатом виде.

Ответ

JSON массив объектов вида:

{
   "iata":"LED",
   "name":"Санкт-Петербург, Россия",
   "coordinates":[
	59.939039,
	30.315785
   ],
   "index_strings":[
	"россия",
	"russia",
	"sankt petersburg"
   ],
   "airport_name":"Пулково",
   "searches_count":7305318 }
  • iata — iata-код города.
  • name — название города и страны.
  • index_strings — список строк, по которым аэропорт можно найти (страна, город).
  • coordinates — широта и долгота.
  • airport_name — название аэропорта. Принимает значение null, если речь идет о любом аэропорте в городе.
  • searches_count — номер поиска.

Для проверки необходимости обновления файла используется заголовок ответа «Last-Modified».

Поиск городов аэропортов по строке

Получение списка городов/аэропортов, которые соответствуют заданной пользователем строке.

Запрос

Метод: GET.

URL: http://nano.aviasales.ru/places_ru?term={term}

где {term} — номер поиска (параметр searches_count из предыдущего запроса).

Используйте places_en.json, places_de.json и т. п. для получения выдачи на других языках.

Примечание: данный сервис работает при {term}, состоящем из 3 и более символов.

Ответ

JSON массив объектов вида:

[{
   "name":"Москва, Россия",
   "index_strings":[
      "มอสโก",
      "mosca",
      "москва",
      "defaultcity",
      "moscou",
      "moscow",
      "moscú",
      "moskau",
      "понаехавск",
      "莫斯科",
      "нерезиновск",
      "moskwa",
      "нерезиновая"
   ],
   "iata":"MOW",
   "airport_name":null,
   "coordinates":[
      55.755786,
      37.617633
   ],
   "searches_count":7305318,
   "location":{
      "lat":55.755786,
      "lon":37.617633
   },
   "country_iata":"RU"
}]
  • iata — iata-код города.
  • name — название города и страны.
  • index_strings — список строк, по которым аэропорт можно найти (страна, город).
  • coordinates — широта и долгота.
  • airport_name — название аэропорта. Принимает значение null, если речь идет о любом аэропорте в городе.
  • searches_count — номер поиска.

Для проверки необходимости обновления файла используется заголовок ответа «Last-Modified».

Ближайшие аэропорты к данным координатам

Список аэропортов, которые расположены недалеко от заданных координат. Используется в экране выбора аэропорта отправления для определения наиболее удобных для пользователя пунктов с учётом его текущей геопозиции.

Запрос

Метод: GET.

URL: http://nano.aviasales.ru/places/coords_to_places_ru.json?coords={lat},{lng}

где {lat}, {lng} — число типа float с точкой в качестве разделителя.

Используйте coords_to_places_en.json, coords_to_places_de.json и т. п. для получения выдачи на других языках.

Например: http://nano.aviasales.ru/places/coords_to_places_ru.json?coords=39.000,50.000

Ответ

JSON массив объектов вида:

{
   "iata":"LED",
   "name":"Санкт-Петербург, Россия",
   "coordinates":[
      59.939039,
      30.315785
   ],
   "index_strings":[
      "россия",
      "russia",
      "sankt petersburg"
   ],
   "airport_name":"Пулково",
   "searches_count":83177 }
  • iata — iata-код города.
  • name — название города и страны.
  • index_strings — список строк, по которым аэропорт можно найти (страна, город).
  • coordinates — широта и долгота.
  • airport_name — название аэропорта. Принимает значение null, если речь идет о любом аэропорте в городе.
  • searches_count — номер поиска.

Логотипы авиакомпаний

Получение логотипа авиакомпании в виде png-файла нужного размера.

Запрос

Метод: GET.

URL: http://ios.aviasales.ru/logos/{Density}/{IATA}.png

где {Density} — размер логотипа, {IATA} — IATA-код авиакомпании.

Например: http://ios.aviasales.ru/logos/nonretina/SU.png

{Density} может принимать следующие значения (в скобках указаны соответствующие максимальные размеры изображения в пикселях, в запросе их указывать не надо):

  • nonretina (66×22).
  • mdpi (88×29).
  • hdpi (132×44).
  • xhdpi (176×59).
  • xxhdpi (264×87).

Логотипы для retina-дисплеев iPhone находятся в папке hdpi.

Так же логотипы авиакомпаний доступны по адресу: http://pics.avs.io/width/height/iata.png

где, width — ширина логотипа, height — высота логотипа, iata — иата код авиакомпании. Размер может быть любым.

Пример: http://pics.avs.io/200/200/UN.png.

Календарь цен

Получение минимальных цен на перелёт для указанных даты вылета и городов вылета и назначения.

Запрос

Метод: GET.

URL: http://min-prices.aviasales.ru/calendar_preload

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

  • origin — IATA-код пункта отправления. IATA код указывается буквами верхнего регистра, например MOW.
  • destination — IATA-код пункта назначения. IATA код указывается буквами верхнего регистра, например MOW.
  • depart_date — дата вылета в формате YYYY-MM-DD.
  • one_way — поиск билетов в один конец (true или false).

Ответ

best_prices — содержит массив минимальных цен для различных дней вылета.

current_depart_date_prices — содержит массив минимальных цен, соответствующих заданной дате вылета.

Оба массива содержат параметры найденной цены в следующем формате:

{
   "best_prices":[{
      "show_to_affiliates":false,
      "trip_class":0,
      "origin":"MOW",
      "destination":"LED",
      "depart_date":"2015-05-17",
      "return_date":"2015-05-21",
      "number_of_changes":0,
      "value":4022,
      "found_at":"2015-05-04T11:49:34+04:00",
      "distance":634,
      "actual":true
}]}
  • value — цена в рублях.
  • depart_date — дата вылета в формате YYYY-MM-DD, соответствующая этой цене.
  • return_date — дата возвращения в формате YYYY-MM-DD, соответствующая этой цене.
  • number_of_changes — количество пересадок в перелёте с минимальной ценой.

Карта цен. Поддерживаемые направления

Запрос

Метод: GET.

URL: http://map.aviasales.ru/supported_directions.json?origin_iata=LED&one_way=false&locale=ru

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

  • origin_iata — IATA-код аэропорта/города, из которого ищутся билеты. IATA код указывается буквами верхнего регистра, например MOW
  • one_way — «true» для перелетов в одну сторону, «false» для туда-обратно.
  • locale — язык поиска.

Ответ

{
   "origin":{
      "iata":"LED",
      "name":"Санкт-Петербург",
      "country":"RU",
      "coordinates":[30.315785,59.939039]
   },
   "directions":[{
      "direct":false,
      "iata":"AAL",
      "name":"Ольборг",
      "country":"DK",
      "coordinates":[9.917771,57.028811]
   },
   {
      "direct":true,
      "iata":"AAQ",
      "name":"Анапа",
      "country":"RU",
      "coordinates":[37.316666,44.9]
   }   
}

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

  • iata — iata код города отправления.
  • name — название города отправления.
  • country — буквенный код страны.
  • coordinates — координаты города отправления.
  • directions — информация о направлении.
    • direct — указывает на наличие перелетов без пересадок.
    • name — название города прибытия.
    • country — страна прибытия.
    • coordinates — координаты.

Карта цен. Цены

Запрос

Метод: GET.

URL: http://map.aviasales.ru/prices.json?origin_iata=LED&period=2015-12-01:season&direct=true&one_way=false&price=50000&no_visa=true&schengen=true&need_visa=true&locale=ru&min_trip_duration_in_days=13&max_trip_duration_in_days=15

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

  • origin_iata — iata код пункта отправления. IATA код указывается буквами верхнего регистра, например MOW
  • period — период дат для поиска.
  • direct — указывает на наличие перелетов без пересадок.
  • one_way — «true» для перелетов в одну сторону, «false» для туда-обратно.
  • price — максимальная цена билета.
  • no_visa — оплата не картой виза.
  • schengen — возможность поменять билет.
  • need_visa — требуется ли Visa.
  • locale — язык поиска.
  • min_trip_duration_in_days — минимальная продолжительность поездки (дней).
  • max_trip_duration_in_days — максимальная продолжительность поездки (дней).

Ответ

[{
    "show_to_affiliates":false,
    "trip_class":0,
    "destination":"PSA",
    "depart_date":"2014-05-30",
    "return_date":"2014-06-12",
    "number_of_changes":0,
    "value":43785,
    "created_at": 1407716354,
    "ttl": 1407889154,
    "distance":2247,
    "actual":false
},
{
    "show_to_affiliates":false,
    "trip_class":0,
    "destination":"PRG",
    "depart_date":"2014-03-01",
    "return_date":"2014-03-15",
    "number_of_changes":0,
    "value":12060,
    "created_at": 1407716354,
    "ttl": 1407889154,
    "distance":1485,
    "actual":true
}]

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

  • show_to_affiliates — true: цена доступна партнерам, false: цена недоступна партнерам.
  • trip_class — класс путешествия (1 — бизнес класс, 0 — стандарт).
  • destination — iata код пункта назначения.
  • depart_date — дата отправления.
  • return_date — дата возвращения.
  • number_of_changes — количество пересадок.
  • value — стоимость перелета.
  • created_at — время, когда цена была найдена (unix timestamp)*.
  • ttl — время, до которого действует предложение (unix timestamp)*.
  • distance — расстояние между пунктом отправления и прибытия.
  • actual — принимает значения 0 или 1. 0 — цена была найдена давно и могла устареть. 1 — цена была найдена недавно и является актуальной.

* — При переводе с помощью php date(«c», «значение UNIX-time») берется время сервера и поэтому не учитываются часовые пояса. Поэтому требуется учитывать время сервера или принудительно приводить его к времени Гринвича с помощью функции date_default_timezone_set('GMT').

Перевод цены в другую валюту

Чтобы перевести цену из рублей в другую валюту, воспользуйтесь запросом:

http://yasen.aviasales.ru/adaptors/currency.json

В ответ вы получите значения курсов всех популярных валют к рублю на текущий момент.

{
    "cny":8.24394,
    "eur":57.1578,
    "mzn":1.49643,
    "nio":1.97342,
    "usd":51.1388,
    "hrk":7.48953
}

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

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