Api aviasales: Страница не найдена — Aviasales

Содержание

Aviasales API доступа к данным для участников партнёрской программы

Travelpayouts предоставляет участникам партнёрской сети API для доступа к данным о популярных направлениях и самых низких ценах на авиабилеты от метапоисковика aviasales.ru.

Уважаемые партнёры! Обратите внимание, все данные передаются из кеша, который формируется на основании поисков пользователей сайтов Aviasales.ru и Jetradar.com за последние 48 часов. Эти данные рекомендуется использовать для формирования статичных страниц, на которых актуальность информации некритична.

Для разработчиков доступна документация с примерами запросов и ответов на различных языках программирования, а так же ссылкой на Postman: https://travelpayouts.github.io/slate/.

Введение

  • Для доступа к API вам необходимо передавать свой токен в заголовке X-Access-Token или в адресной строке параметром token. Партнёрский токен находится в личном кабинете: в разделе «Инструменты» программы Aviasales / Jetradar, на вкладке API.

  • Даты принимаются в форматах YYYY-MM и YYYY-MM-DD.
  • Ответ от сервера всегда отдается в формате json и имеет следующую структуру:
    • success — принимает значения true для успешного запроса и false в случае ошибки;
    • data — результат выполнения запроса, в случае ошибки будет иметь значение null;
    • error — краткое описание ошибки, помешавшей выполнить запрос, в случае успешного запроса будет иметь значение null.

Даты и время в UTC и отформатированы по стандарту ISO 8601. Цены указаны в рублях и актуальны на момент попадания билета в результаты поиска. Не рекомендуется использовать цены, срок актуальности которых истёк (указывается в значении параметра expires_at).

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

Важно!

Настоятельно рекомендуется получать данные сжатыми в gzip — это существенно сократит время получения ответа. Чтобы получить данные в сжатом виде, необходимо передать заголовок Accept-Encoding: gzip, deflate.

Цены на авиабилеты

Описание

Возвращает список цен, найденных нашими пользователями за последние 48 часов, в соответствии с выставленными фильтрами.

Запрос

http://api.travelpayouts.com/v2/prices/latest

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
  • destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.

Обратите внимание!

Если не указывать пункт отправления и назначения, то API вернёт 30 самых дешевых билетов, которые были найдены за последние 48 часов. При этом нельзя использовать period_type=month.

  • beginning_of_period — первое число месяца, в который попадают даты отправления (в формате YYYY-MM-DD, например 2018-05-01). Обязательно указывать при period_type, равном month. Если указать только beginning_of_period, то period_type можно не указывать.
  • period_type — период, в котором искали билеты. Если период не указан, то отображаются билеты для перелётов в текущем месяце.
    • year — билеты, найденные в текущем году.
    • month — за указанный в beginning_of_period месяц.
  • one_way — true — в одну сторону, false — туда и обратно. Значение по умолчанию — false.
  • page — номер страницы. Значение по умолчанию — 1.
  • limit— количество записей на странице. Значение по умолчанию — 30. Не более 1000.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • sorting — сортировка цен:
    • price — по цене (значение по умолчанию). Для направлений город — город возможна сортировка только по цене.
    • route — по популярности маршрута.
    • distance_unit_price — по цене за километр.
  • trip_duration — длительность пребывания в неделях.

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

http://api.travelpayouts.com/v2/prices/latest?currency=rub&period_type=year&page=1&limit=30&show_to_affiliates=true&sorting=price&token=РазместитеЗдесьВашТокен

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

{
   "success":true,
   "data":[{
      "show_to_affiliates":true,
      "origin":"WMI",
      "destination":"WRO",
      "depart_date":"2015-12-07",
      "return_date":"2015-12-13",
      "number_of_changes":0,
      "value":1183,
      "found_at":"2015-09-22T14:08:45+04:00",
      "distance":298,
      "actual":true
   }]
} 

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

  • success — результат запроса.
  • data — полученные данные:
    • origin — пункт отправления.
    • destination — пункт назначения.
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Календарь цен на месяц

Описание

Возвращает цены за каждый день месяца, сгруппированные по количеству пересадок.

Запрос

http://api.travelpayouts.com/v2/prices/month-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города. Длина — 3 символа. Значение по умолчанию — LED.
  • destination — пункт назначения. IATA-код города. Длина — 3 символа. Значение по умолчанию — HKT.

Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт список самых дешевых билетов, которые были найдены за последние 48 часов.

  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • month — первый день месяца, в формате «YYYY-MM-DD». По умолчанию используется месяц, следующий за текущим.
  • trip_duration — длительность пребывания в неделях. Если не указано, то в результате будут билеты в одну сторону.

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

http://api.travelpayouts.com/v2/prices/month-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен

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

{{
   "success":true,
   "data":[{
      "show_to_affiliates":true,
      "trip_class":0,
      "origin":"LED",
      "destination":"HKT",
      "depart_date":"2015-10-01",
      "return_date":"",
      "number_of_changes":1,
      "value":29127,
      "found_at":"2015-09-24T00:06:12+04:00",
      "distance":8015,
      "actual":true
   }]
}

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

  • success — результат запроса.
  • data — полученные данные:
    • origin — пункт отправления.
    • destination — пункт назначения.
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • trip_class — класс перелёта (только 0 — Эконом).
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Цены по альтернативным направлениям

Описание

Возвращает цены на направления между ближайшими к целевым городам.

Запрос

http://api.travelpayouts.com/v2/prices/nearest-places-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
  • destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • depart_date — дата отправления в формате ‘YYYY-MM-DD’.
  • return_date — дата возвращения в формате ‘YYYY-MM-DD’.
  • distance — расстояние (в километрах) от пунктов назначения и отправления, на котором ищутся соседние города.
  • limit — количество выводимых вариантов от 1 до 20. Где 1 — это только вариант с указанными пунктами назначения и отправления.
  • flexibility — расширение диапазона дат в большую и меньшую сторону. Значение может быть от 0 до 7, где 0 — в результате будут только варианты на указанные даты, 7 — все найденные варианты за неделю до указанных дат и неделю после.

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

http://api.travelpayouts.com/v2/prices/nearest-places-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен

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

{
"prices":[
{
"value":26000.0,
"trip_class":0,
"show_to_affiliates":true,
"return_date":"2018-09-18",
"origin":"BAX",
"number_of_changes":0,
"gate":"AMADEUS",
"found_at":"2018-07-28T04:57:47Z",
"duration":null,
"distance":3643,
"destination":"SIP",
"depart_date":"2018-09-09",
"actual":true
}
],
"origins":[
"BAX"
],
"errors":{
"amadeus":{
}
},
"destinations":[
"SIP"
]
}

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

  • prices — массив, полученных цен:
    • value — стоимость перелёта в указанной валюте.
    • trip_class — класс перелёта (только 0 — Эконом).
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • return_date — дата возвращения.
    • origin — список пунктов отправления, ближайших к указанному.
    • number_of_changes — количество пересадок.
    • gate — агентство, в котором был найден билет.
    • found_at — время и дата, когда был найден билет.
    • duration — продолжительность полёта в минутах с учетом пересадок и ожидания.
    • distance — расстояние между пунктом вылета и назначения по карте.
    • destination — список пунктов назначения, ближайших к указанному.
    • depart_date — дата отправления.
    • actual — является ли предложение актуальным.
  • origins — массив пунктов отправления в ответе.
  • destinations — массив пунктов назначения в ответе.
  • errors — сообщение об ошибке. Если возвращается ошибка «Some error occured», значит, по этому направлению нет данных в кеше.

Самые дешевые авиабилеты

Описание

Возвращает самые дешевые билеты без пересадок, а также с 1 и 2 пересадками для выбранного направления с фильтрами по датам вылета и возвращения. Билеты возвращаются на рейсы туда-обратно.

Запрос

http://api.travelpayouts.com/v1/prices/cheap

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (необязательно) — месяц вылета (формат YYYY-MM).
  • return_date (необязательно) — месяц возвращения (формат YYYY-MM).
  • token — индивидуальный токен доступа.
  • page — необязательный параметр, используется для отображения найденных данных (по умолчанию на странице отображается 100 найденных вариантов. Если не выбран destination, то данных может быть больше. В этом случае используйте page, для отображения следующего набора данных, например, page=2).
  • currency — валюта цен на билеты. Значение по умолчанию — rub. Допустимые значения: [«USD», «EUR», «RUB»].

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

http://api.travelpayouts.com/v1/prices/cheap?origin=MOW&destination=HKT&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен

Обратите внимание! Если в запросе указаны старые даты, то в результате его работы ошибки не будет, но и данных никаких не вернется.

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

{
   "success": true,
   "data": {
      "HKT": {
         "0": {
            "price": 35443,
            "airline": "UN",
            "flight_number": 571,
            "departure_at": "2015-06-09T21:20:00Z",
            "return_at": "2015-07-15T12:40:00Z",
            "expires_at": "2015-01-08T18:30:40Z"
         },
         "1": {
            "price": 27506,
            "airline": "CX",
            "flight_number": 204,
            "departure_at": "2015-06-05T16:40:00Z",
            "return_at": "2015-06-22T12:00:00Z",
            "expires_at": "2015-01-08T18:38:45Z"
         },
         "2": {
            "price": 31914,
            "airline": "AB",
            "flight_number": 8113,
            "departure_at": "2015-06-12T13:45:00Z",
            "return_at": "2015-06-24T20:30:00Z",
            "expires_at": "2015-01-08T15:17:42Z"
         }
      }
   }

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

  • success — результат запроса.
  • data — полученные данные:
    • 0, 1, 2 — порядковый номер в результатах выдачи.
      • price — цена билета (в заданной валюте, параметр currency).
      • airline — IATA-код авиакомпании, выполняющей перелет.
      • flight_number — номер рейса.
      • departure_at — дата вылета.
      • return_at — дата возвращения.
      • expires_at — дата истечения актуальности найденной цены (UTC+0).

Билет без пересадок

Описание

Возвращает самый дешевый билет без пересадок для выбранного направления с фильтрами по датам вылета и возвращения.

Запрос

http://api.travelpayouts.com/v1/prices/direct

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (необязательно) — месяц вылета (YYYY-MM).
  • return_date (необязательно) — месяц возвращения (YYYY-MM).
  • currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.
  • token — индивидуальный токен доступа.

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

http://api.travelpayouts.com/v1/prices/direct?origin=MOW&destination=LED&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "HKT": {
         "0": {
            "price": 35443,
            "airline": "UN",
            "flight_number": 571,
            "departure_at": "2015-06-09T21:20:00Z",
            "return_at": "2015-07-15T12:40:00Z",
            "expires_at": "2015-01-08T18:30:40Z"
         },
         "1": {
            "price": 27506,
            "airline": "CX",
            "flight_number": 204,
            "departure_at": "2015-06-05T16:40:00Z",
            "return_at": "2015-06-22T12:00:00Z",
            "expires_at": "2015-01-08T18:38:45Z"
         },
         "2": {
            "price": 31914,
            "airline": "AB",
            "flight_number": 8113,
            "departure_at": "2015-06-12T13:45:00Z",
            "return_at": "2015-06-24T20:30:00Z",
            "expires_at": "2015-01-08T15:17:42Z"
         }
      }
   }

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

  • success — результат запроса.
  • data — полученные данные (в разрезе IATA-кодов):
    • 0, 1, 2 — порядковый номер в результатах выдачи.
      • price — цена билета (в заданной валюте).
      • airline — IATA-код авиакомпании, выполняющей перелёт.
      • flight_number — номер рейса.
      • departure_at — дата вылета.
      • return_at — дата возвращения.
      • expires_at — дата истечения актуальности найденной цены (UTC+0).

Билеты из города на любое число месяца

Описание

Возвращает самый дешевый билет (без пересадки, с одной или двумя пересадками) для указанного направления для каждого дня выбранного месяца.

Важно: у данного метода установлен лимит — 10 запросов в секунду.

Запрос

http://api.travelpayouts.com/v1/prices/calendar

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения. IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (опционально) — месяц вылета (в формате YYYY-MM). По умолчанию передаётся текущий месяц. Если не передать параметр, и до конца месяца меньше недели — будет использована дата следующего месяца в формате YYYY-MM. Если передать пустую строку, то будут выведены результаты на год вперёд.
  • return_date (опционально) — месяц возвращения (в формате YYYY-MM). Если не передать параметр, но передать depart_date, то выведутся билеты на указанный там месяц. Если передать пустую строку в depart_date и передать return_date, то он выступит ограничителем даты и выведет билеты до конца месяца return_date с текущей даты.
  • calendar_type — поле, по которому будет строиться календарь. Одно из двух значений: departure_date или return_date.
  • trip_duration (опционально) — длительность пребывания в городе назначения.
  • token — индивидуальный токен доступа.
  • currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.

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

http://api.travelpayouts.com/v1/prices/calendar?depart_date=2018-11&origin=MOW&destination=BCN&calendar_type=departure_date&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "2015-06-01": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 12449,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 576,
         "departure_at": "2015-06-01T06:35:00Z",
         "return_at": "2015-07-01T13:30:00Z",
         "expires_at": "2015-01-07T12:34:14Z"
      },
      "2015-06-02": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 13025,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 578,
         "departure_at": "2015-06-02T17:00:00Z",
         "return_at": "2015-06-11T13:30:00Z",
         "expires_at": "2015-01-06T17:15:47Z"
      },
      ...
      "2015-06-30": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 13025,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 578,
         "departure_at": "2015-06-30T17:00:00Z",
         "return_at": "2015-07-23T13:30:00Z",
         "expires_at": "2015-01-07T20:15:34Z"
      }
   }
} 

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

  • success — результат запроса.
  • data — полученные данные (в разрезе дат):
    • origin — IATA-код города вылета.
    • destination — IATA-код города назначения.
    • price — цена билета в заданной валюте.
    • transfers — количество пересадок.
    • airline — IATA-код авиакомпании.
    • flight_number — номер рейса.
    • departure_at — дата вылета.
    • return_at — дата возвращения.
    • expires_at — срок истечения актуальности цены (UTC+0).
    • source — источник данных. Если не указано, значит, данные подгружаются из нашей базы. Обратите внимание! Если данные отдаются от нашего партнёра (например, skypicker), то в параметре origin и destination указывается IATA-код аэропорта, а не города.

Популярные направления авиакомпании

Описание

Возвращает направления, по которым авиакомпания осуществляет перелеты, отсортированные по популярности.

Запрос

http://api.travelpayouts.com/v1/airline-directions

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

  • airline_code — IATA-код авиакомпании. IATA-код указывается буквами верхнего регистра, например SU.
  • limit — количество записей на странице. Значение по умолчанию — 30. Не более 1000.
  • token — индивидуальный токен доступа.

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

http://api.travelpayouts.com/v1/airline-directions?airline_code=SU&limit=10&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "MOW-BKK": 187491,
      "MOW-BCN": 113764,
      "MOW-PAR": 91889,
      "MOW-NYC": 77417,
      "MOW-PRG": 71449,
      "MOW-ROM": 67190,
      "MOW-TLV": 62132,
      "MOW-HKT": 58549,
      "MOW-GOI": 47341,
      "MOW-IST": 45553
   },
   "error": null,
   "currency": "rub"
}

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

  • success — результат запроса.
  • data — перечень популярных направлений авиакомпании с указанием популярности направления.
  • currency — валюта ответа (USD, EUR, RUB). Никакого отношения к данным в ответе не имеет.

Специальные предложения

Возвращает последние специальные предложения от авиакомпаний в формате XML.

http://api.travelpayouts.com/v2/prices/special-offers?token=РазместитеЗдесьВашТокен&market=ru

Параметр market отвечает за страну, для которой формируется список спецпредложений. Может принимать значения:

  • ru — Россия;
  • by — Беларусь;
  • kz — Казахстан;
  • uz — Узбекистан.

Для получения списка спецпредложений авиакомпаний, летающих в других странах, используйте ссылку: http://www.jetradar.com/deals.atom/

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

Описание

Возвращает цены на ближайшие к целевым датам.

Запрос

http://api.travelpayouts.com/v2/prices/week-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города. Значение по умолчанию — LED.
  • destination — пункт назначения. IATA-код города. Значение по умолчанию — HKT.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • depart_date — вылет туда. Дата в формате ‘YYYY-MM-DD’.
  • return_date — вылет обратно. Дата в формате ‘YYYY-MM-DD’.

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

http://api.travelpayouts.com/v2/prices/week-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&depart_date=2018-09-04&return_date=2018-09-18&token=РазместитеЗдесьВашТокен

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

{
"success":true,
"data":[
{
"show_to_affiliates":true,
"trip_class":0,
"origin":"LED",
"destination":"HKT",
"depart_date":"2018-03-01",
"return_date":"2018-03-15",
"number_of_changes":1,
"value":71725,
"found_at":"2018-02-19T00:04:37+04:00",
"distance":8015,
"actual":true
}]
}

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

  • success — результат запроса.
  • data — полученные данные:
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • origin — пункт отправления.
    • destination — пункт назначения.
    • trip_class — класс перелёта (только 0 — Эконом).
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Популярные направления из города

Описание

Возвращает самые популярные направления из заданного города

Запрос

http://api.travelpayouts.com/v1/city-directions

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

  • origin — пункт отправления. IATA-код города.
  • currency — валюта цен на билеты. Значение по умолчанию — rub.

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

http://api.travelpayouts.com/v1/city-directions?origin=MOW&currency=usd&token=РазместитеЗдесьВашТокен

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

{
  "success":true,
  "data":{
    "AER":{
      "origin":"MOW",
      "destination":"AER",
      "price":3673,
      "transfers":0,
      "airline":"WZ",
      "flight_number":125,
      "departure_at":"2018-03-08T16:35:00Z",
      "return_at":"2018-03-17T16:05:00Z",
      "expires_at":"2018-02-22T09:32:44Z"
    }
  },
  "error":null,
  "currency":"rub"
}

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

  • success — результат запроса.
  • data — полученные данные (в разрезе дат):
    • origin — пункт отправления.
    • destination — пункт назначения.
    • departure_at — дата и время отправления.
    • return_at — дата и время возвращения.
    • number_of_changes — количество пересадок.
    • price — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • transfers — количество пересадок.
    • airline — IATA-код авиакомпании.
    • flight_number — номер рейса.
  • currency — валюта ответа.

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

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

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

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

Текущий курс валют к рублю

Описание

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

Запрос

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
}

Aviasales API доступа к данным для участников партнёрской программы

Travelpayouts предоставляет участникам партнёрской сети API для доступа к данным о популярных направлениях и самых низких ценах на авиабилеты от метапоисковика aviasales.ru.

Уважаемые партнёры! Обратите внимание, все данные передаются из кеша, который формируется на основании поисков пользователей сайтов Aviasales.ru и Jetradar.com за последние 48 часов. Эти данные рекомендуется использовать для формирования статичных страниц, на которых актуальность информации некритична.

Для разработчиков доступна документация с примерами запросов и ответов на различных языках программирования, а так же ссылкой на Postman: https://travelpayouts.github.io/slate/.

Введение

  • Для доступа к API вам необходимо передавать свой токен в заголовке X-Access-Token или в адресной строке параметром token. Партнёрский токен находится в личном кабинете: в разделе «Инструменты» программы Aviasales / Jetradar, на вкладке API.

  • Даты принимаются в форматах YYYY-MM и YYYY-MM-DD.
  • Ответ от сервера всегда отдается в формате json и имеет следующую структуру:
    • success — принимает значения true для успешного запроса и false в случае ошибки;
    • data — результат выполнения запроса, в случае ошибки будет иметь значение null;
    • error — краткое описание ошибки, помешавшей выполнить запрос, в случае успешного запроса будет иметь значение null.

Даты и время в UTC и отформатированы по стандарту ISO 8601. Цены указаны в рублях и актуальны на момент попадания билета в результаты поиска. Не рекомендуется использовать цены, срок актуальности которых истёк (указывается в значении параметра expires_at).

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

Важно!

Настоятельно рекомендуется получать данные сжатыми в gzip — это существенно сократит время получения ответа. Чтобы получить данные в сжатом виде, необходимо передать заголовок Accept-Encoding: gzip, deflate.

Цены на авиабилеты

Описание

Возвращает список цен, найденных нашими пользователями за последние 48 часов, в соответствии с выставленными фильтрами.

Запрос

http://api.travelpayouts.com/v2/prices/latest

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
  • destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.

Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт 30 самых дешевых билетов, которые были найдены за последние 48 часов. При этом нельзя использовать period_type=month.

  • beginning_of_period — первое число месяца, в который попадают даты отправления (в формате YYYY-MM-DD, например 2018-05-01). Обязательно указывать при period_type, равном month. Если указать только beginning_of_period, то period_type можно не указывать.
  • period_type — период, в котором искали билеты. Если период не указан, то отображаются билеты для перелётов в текущем месяце.
    • year — билеты, найденные в текущем году.
    • month — за указанный в beginning_of_period месяц.
  • one_way — true — в одну сторону, false — туда и обратно. Значение по умолчанию — false.
  • page — номер страницы. Значение по умолчанию — 1.
  • limit— количество записей на странице. Значение по умолчанию — 30. Не более 1000.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • sorting — сортировка цен:
    • price — по цене (значение по умолчанию). Для направлений город — город возможна сортировка только по цене.
    • route — по популярности маршрута.
    • distance_unit_price — по цене за километр.
  • trip_duration — длительность пребывания в неделях.

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

http://api.travelpayouts.com/v2/prices/latest?currency=rub&period_type=year&page=1&limit=30&show_to_affiliates=true&sorting=price&token=РазместитеЗдесьВашТокен

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

{
   "success":true,
   "data":[{
      "show_to_affiliates":true,
      "origin":"WMI",
      "destination":"WRO",
      "depart_date":"2015-12-07",
      "return_date":"2015-12-13",
      "number_of_changes":0,
      "value":1183,
      "found_at":"2015-09-22T14:08:45+04:00",
      "distance":298,
      "actual":true
   }]
} 

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

  • success — результат запроса.
  • data — полученные данные:
    • origin — пункт отправления.
    • destination — пункт назначения.
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Календарь цен на месяц

Описание

Возвращает цены за каждый день месяца, сгруппированные по количеству пересадок.

Запрос

http://api.travelpayouts.com/v2/prices/month-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города. Длина — 3 символа. Значение по умолчанию — LED.
  • destination — пункт назначения. IATA-код города. Длина — 3 символа. Значение по умолчанию — HKT.

Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт список самых дешевых билетов, которые были найдены за последние 48 часов.

  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • month — первый день месяца, в формате «YYYY-MM-DD». По умолчанию используется месяц, следующий за текущим.
  • trip_duration — длительность пребывания в неделях. Если не указано, то в результате будут билеты в одну сторону.

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

http://api.travelpayouts.com/v2/prices/month-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен

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

{{
   "success":true,
   "data":[{
      "show_to_affiliates":true,
      "trip_class":0,
      "origin":"LED",
      "destination":"HKT",
      "depart_date":"2015-10-01",
      "return_date":"",
      "number_of_changes":1,
      "value":29127,
      "found_at":"2015-09-24T00:06:12+04:00",
      "distance":8015,
      "actual":true
   }]
}

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

  • success — результат запроса.
  • data — полученные данные:
    • origin — пункт отправления.
    • destination — пункт назначения.
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • trip_class — класс перелёта (только 0 — Эконом).
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Цены по альтернативным направлениям

Описание

Возвращает цены на направления между ближайшими к целевым городам.

Запрос

http://api.travelpayouts.com/v2/prices/nearest-places-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
  • destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • depart_date — дата отправления в формате ‘YYYY-MM-DD’.
  • return_date — дата возвращения в формате ‘YYYY-MM-DD’.
  • distance — расстояние (в километрах) от пунктов назначения и отправления, на котором ищутся соседние города.
  • limit — количество выводимых вариантов от 1 до 20. Где 1 — это только вариант с указанными пунктами назначения и отправления.
  • flexibility — расширение диапазона дат в большую и меньшую сторону. Значение может быть от 0 до 7, где 0 — в результате будут только варианты на указанные даты, 7 — все найденные варианты за неделю до указанных дат и неделю после.

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

http://api.travelpayouts.com/v2/prices/nearest-places-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен

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

{
"prices":[
{
"value":26000.0,
"trip_class":0,
"show_to_affiliates":true,
"return_date":"2018-09-18",
"origin":"BAX",
"number_of_changes":0,
"gate":"AMADEUS",
"found_at":"2018-07-28T04:57:47Z",
"duration":null,
"distance":3643,
"destination":"SIP",
"depart_date":"2018-09-09",
"actual":true
}
],
"origins":[
"BAX"
],
"errors":{
"amadeus":{
}
},
"destinations":[
"SIP"
]
}

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

  • prices — массив, полученных цен:
    • value — стоимость перелёта в указанной валюте.
    • trip_class — класс перелёта (только 0 — Эконом).
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • return_date — дата возвращения.
    • origin — список пунктов отправления, ближайших к указанному.
    • number_of_changes — количество пересадок.
    • gate — агентство, в котором был найден билет.
    • found_at — время и дата, когда был найден билет.
    • duration — продолжительность полёта в минутах с учетом пересадок и ожидания.
    • distance — расстояние между пунктом вылета и назначения по карте.
    • destination — список пунктов назначения, ближайших к указанному.
    • depart_date — дата отправления.
    • actual — является ли предложение актуальным.
  • origins — массив пунктов отправления в ответе.
  • destinations — массив пунктов назначения в ответе.
  • errors — сообщение об ошибке. Если возвращается ошибка «Some error occured», значит, по этому направлению нет данных в кеше.

Самые дешевые авиабилеты

Описание

Возвращает самые дешевые билеты без пересадок, а также с 1 и 2 пересадками для выбранного направления с фильтрами по датам вылета и возвращения. Билеты возвращаются на рейсы туда-обратно.

Запрос

http://api.travelpayouts.com/v1/prices/cheap

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (необязательно) — месяц вылета (формат YYYY-MM).
  • return_date (необязательно) — месяц возвращения (формат YYYY-MM).
  • token — индивидуальный токен доступа.
  • page — необязательный параметр, используется для отображения найденных данных (по умолчанию на странице отображается 100 найденных вариантов. Если не выбран destination, то данных может быть больше. В этом случае используйте page, для отображения следующего набора данных, например, page=2).
  • currency — валюта цен на билеты. Значение по умолчанию — rub. Допустимые значения: [«USD», «EUR», «RUB»].

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

http://api.travelpayouts.com/v1/prices/cheap?origin=MOW&destination=HKT&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен

Обратите внимание! Если в запросе указаны старые даты, то в результате его работы ошибки не будет, но и данных никаких не вернется.

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

{
   "success": true,
   "data": {
      "HKT": {
         "0": {
            "price": 35443,
            "airline": "UN",
            "flight_number": 571,
            "departure_at": "2015-06-09T21:20:00Z",
            "return_at": "2015-07-15T12:40:00Z",
            "expires_at": "2015-01-08T18:30:40Z"
         },
         "1": {
            "price": 27506,
            "airline": "CX",
            "flight_number": 204,
            "departure_at": "2015-06-05T16:40:00Z",
            "return_at": "2015-06-22T12:00:00Z",
            "expires_at": "2015-01-08T18:38:45Z"
         },
         "2": {
            "price": 31914,
            "airline": "AB",
            "flight_number": 8113,
            "departure_at": "2015-06-12T13:45:00Z",
            "return_at": "2015-06-24T20:30:00Z",
            "expires_at": "2015-01-08T15:17:42Z"
         }
      }
   }

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

  • success — результат запроса.
  • data — полученные данные:
    • 0, 1, 2 — порядковый номер в результатах выдачи.
      • price — цена билета (в заданной валюте, параметр currency).
      • airline — IATA-код авиакомпании, выполняющей перелет.
      • flight_number — номер рейса.
      • departure_at — дата вылета.
      • return_at — дата возвращения.
      • expires_at — дата истечения актуальности найденной цены (UTC+0).

Билет без пересадок

Описание

Возвращает самый дешевый билет без пересадок для выбранного направления с фильтрами по датам вылета и возвращения.

Запрос

http://api.travelpayouts.com/v1/prices/direct

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (необязательно) — месяц вылета (YYYY-MM).
  • return_date (необязательно) — месяц возвращения (YYYY-MM).
  • currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.
  • token — индивидуальный токен доступа.

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

http://api.travelpayouts.com/v1/prices/direct?origin=MOW&destination=LED&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "HKT": {
         "0": {
            "price": 35443,
            "airline": "UN",
            "flight_number": 571,
            "departure_at": "2015-06-09T21:20:00Z",
            "return_at": "2015-07-15T12:40:00Z",
            "expires_at": "2015-01-08T18:30:40Z"
         },
         "1": {
            "price": 27506,
            "airline": "CX",
            "flight_number": 204,
            "departure_at": "2015-06-05T16:40:00Z",
            "return_at": "2015-06-22T12:00:00Z",
            "expires_at": "2015-01-08T18:38:45Z"
         },
         "2": {
            "price": 31914,
            "airline": "AB",
            "flight_number": 8113,
            "departure_at": "2015-06-12T13:45:00Z",
            "return_at": "2015-06-24T20:30:00Z",
            "expires_at": "2015-01-08T15:17:42Z"
         }
      }
   }

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

  • success — результат запроса.
  • data — полученные данные (в разрезе IATA-кодов):
    • 0, 1, 2 — порядковый номер в результатах выдачи.
      • price — цена билета (в заданной валюте).
      • airline — IATA-код авиакомпании, выполняющей перелёт.
      • flight_number — номер рейса.
      • departure_at — дата вылета.
      • return_at — дата возвращения.
      • expires_at — дата истечения актуальности найденной цены (UTC+0).

Билеты из города на любое число месяца

Описание

Возвращает самый дешевый билет (без пересадки, с одной или двумя пересадками) для указанного направления для каждого дня выбранного месяца.

Важно: у данного метода установлен лимит — 10 запросов в секунду.

Запрос

http://api.travelpayouts.com/v1/prices/calendar

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения. IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (опционально) — месяц вылета (в формате YYYY-MM). По умолчанию передаётся текущий месяц. Если не передать параметр, и до конца месяца меньше недели — будет использована дата следующего месяца в формате YYYY-MM. Если передать пустую строку, то будут выведены результаты на год вперёд.
  • return_date (опционально) — месяц возвращения (в формате YYYY-MM). Если не передать параметр, но передать depart_date, то выведутся билеты на указанный там месяц. Если передать пустую строку в depart_date и передать return_date, то он выступит ограничителем даты и выведет билеты до конца месяца return_date с текущей даты.
  • calendar_type — поле, по которому будет строиться календарь. Одно из двух значений: departure_date или return_date.
  • trip_duration (опционально) — длительность пребывания в городе назначения.
  • token — индивидуальный токен доступа.
  • currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.

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

http://api.travelpayouts.com/v1/prices/calendar?depart_date=2018-11&origin=MOW&destination=BCN&calendar_type=departure_date&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "2015-06-01": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 12449,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 576,
         "departure_at": "2015-06-01T06:35:00Z",
         "return_at": "2015-07-01T13:30:00Z",
         "expires_at": "2015-01-07T12:34:14Z"
      },
      "2015-06-02": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 13025,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 578,
         "departure_at": "2015-06-02T17:00:00Z",
         "return_at": "2015-06-11T13:30:00Z",
         "expires_at": "2015-01-06T17:15:47Z"
      },
      ...
      "2015-06-30": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 13025,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 578,
         "departure_at": "2015-06-30T17:00:00Z",
         "return_at": "2015-07-23T13:30:00Z",
         "expires_at": "2015-01-07T20:15:34Z"
      }
   }
} 

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

  • success — результат запроса.
  • data — полученные данные (в разрезе дат):
    • origin — IATA-код города вылета.
    • destination — IATA-код города назначения.
    • price — цена билета в заданной валюте.
    • transfers — количество пересадок.
    • airline — IATA-код авиакомпании.
    • flight_number — номер рейса.
    • departure_at — дата вылета.
    • return_at — дата возвращения.
    • expires_at — срок истечения актуальности цены (UTC+0).
    • source — источник данных. Если не указано, значит, данные подгружаются из нашей базы. Обратите внимание! Если данные отдаются от нашего партнёра (например, skypicker), то в параметре origin и destination указывается IATA-код аэропорта, а не города.

Популярные направления авиакомпании

Описание

Возвращает направления, по которым авиакомпания осуществляет перелеты, отсортированные по популярности.

Запрос

http://api.travelpayouts.com/v1/airline-directions

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

  • airline_code — IATA-код авиакомпании. IATA-код указывается буквами верхнего регистра, например SU.
  • limit — количество записей на странице. Значение по умолчанию — 30. Не более 1000.
  • token — индивидуальный токен доступа.

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

http://api.travelpayouts.com/v1/airline-directions?airline_code=SU&limit=10&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "MOW-BKK": 187491,
      "MOW-BCN": 113764,
      "MOW-PAR": 91889,
      "MOW-NYC": 77417,
      "MOW-PRG": 71449,
      "MOW-ROM": 67190,
      "MOW-TLV": 62132,
      "MOW-HKT": 58549,
      "MOW-GOI": 47341,
      "MOW-IST": 45553
   },
   "error": null,
   "currency": "rub"
}

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

  • success — результат запроса.
  • data — перечень популярных направлений авиакомпании с указанием популярности направления.
  • currency — валюта ответа (USD, EUR, RUB). Никакого отношения к данным в ответе не имеет.

Специальные предложения

Возвращает последние специальные предложения от авиакомпаний в формате XML.

http://api.travelpayouts.com/v2/prices/special-offers?token=РазместитеЗдесьВашТокен&market=ru

Параметр market отвечает за страну, для которой формируется список спецпредложений. Может принимать значения:

  • ru — Россия;
  • by — Беларусь;
  • kz — Казахстан;
  • uz — Узбекистан.

Для получения списка спецпредложений авиакомпаний, летающих в других странах, используйте ссылку: http://www.jetradar.com/deals.atom/

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

Описание

Возвращает цены на ближайшие к целевым датам.

Запрос

http://api.travelpayouts.com/v2/prices/week-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города. Значение по умолчанию — LED.
  • destination — пункт назначения. IATA-код города. Значение по умолчанию — HKT.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • depart_date — вылет туда. Дата в формате ‘YYYY-MM-DD’.
  • return_date — вылет обратно. Дата в формате ‘YYYY-MM-DD’.

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

http://api.travelpayouts.com/v2/prices/week-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&depart_date=2018-09-04&return_date=2018-09-18&token=РазместитеЗдесьВашТокен

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

{
"success":true,
"data":[
{
"show_to_affiliates":true,
"trip_class":0,
"origin":"LED",
"destination":"HKT",
"depart_date":"2018-03-01",
"return_date":"2018-03-15",
"number_of_changes":1,
"value":71725,
"found_at":"2018-02-19T00:04:37+04:00",
"distance":8015,
"actual":true
}]
}

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

  • success — результат запроса.
  • data — полученные данные:
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • origin — пункт отправления.
    • destination — пункт назначения.
    • trip_class — класс перелёта (только 0 — Эконом).
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Популярные направления из города

Описание

Возвращает самые популярные направления из заданного города

Запрос

http://api.travelpayouts.com/v1/city-directions

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

  • origin — пункт отправления. IATA-код города.
  • currency — валюта цен на билеты. Значение по умолчанию — rub.

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

http://api.travelpayouts.com/v1/city-directions?origin=MOW&currency=usd&token=РазместитеЗдесьВашТокен

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

{
  "success":true,
  "data":{
    "AER":{
      "origin":"MOW",
      "destination":"AER",
      "price":3673,
      "transfers":0,
      "airline":"WZ",
      "flight_number":125,
      "departure_at":"2018-03-08T16:35:00Z",
      "return_at":"2018-03-17T16:05:00Z",
      "expires_at":"2018-02-22T09:32:44Z"
    }
  },
  "error":null,
  "currency":"rub"
}

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

  • success — результат запроса.
  • data — полученные данные (в разрезе дат):
    • origin — пункт отправления.
    • destination — пункт назначения.
    • departure_at — дата и время отправления.
    • return_at — дата и время возвращения.
    • number_of_changes — количество пересадок.
    • price — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • transfers — количество пересадок.
    • airline — IATA-код авиакомпании.
    • flight_number — номер рейса.
  • currency — валюта ответа.

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

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

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

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

Текущий курс валют к рублю

Описание

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

Запрос

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
}

Aviasales API доступа к данным для участников партнёрской программы

Travelpayouts предоставляет участникам партнёрской сети API для доступа к данным о популярных направлениях и самых низких ценах на авиабилеты от метапоисковика aviasales.ru.

Уважаемые партнёры! Обратите внимание, все данные передаются из кеша, который формируется на основании поисков пользователей сайтов Aviasales.ru и Jetradar.com за последние 48 часов. Эти данные рекомендуется использовать для формирования статичных страниц, на которых актуальность информации некритична.

Для разработчиков доступна документация с примерами запросов и ответов на различных языках программирования, а так же ссылкой на Postman: https://travelpayouts.github.io/slate/.

Введение

  • Для доступа к API вам необходимо передавать свой токен в заголовке X-Access-Token или в адресной строке параметром token. Партнёрский токен находится в личном кабинете: в разделе «Инструменты» программы Aviasales / Jetradar, на вкладке API.

  • Даты принимаются в форматах YYYY-MM и YYYY-MM-DD.
  • Ответ от сервера всегда отдается в формате json и имеет следующую структуру:
    • success — принимает значения true для успешного запроса и false в случае ошибки;
    • data — результат выполнения запроса, в случае ошибки будет иметь значение null;
    • error — краткое описание ошибки, помешавшей выполнить запрос, в случае успешного запроса будет иметь значение null.

Даты и время в UTC и отформатированы по стандарту ISO 8601. Цены указаны в рублях и актуальны на момент попадания билета в результаты поиска. Не рекомендуется использовать цены, срок актуальности которых истёк (указывается в значении параметра expires_at).

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

Важно!

Настоятельно рекомендуется получать данные сжатыми в gzip — это существенно сократит время получения ответа. Чтобы получить данные в сжатом виде, необходимо передать заголовок Accept-Encoding: gzip, deflate.

Цены на авиабилеты

Описание

Возвращает список цен, найденных нашими пользователями за последние 48 часов, в соответствии с выставленными фильтрами.

Запрос

http://api.travelpayouts.com/v2/prices/latest

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
  • destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.

Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт 30 самых дешевых билетов, которые были найдены за последние 48 часов. При этом нельзя использовать period_type=month.

  • beginning_of_period — первое число месяца, в который попадают даты отправления (в формате YYYY-MM-DD, например 2018-05-01). Обязательно указывать при period_type, равном month. Если указать только beginning_of_period, то period_type можно не указывать.
  • period_type — период, в котором искали билеты. Если период не указан, то отображаются билеты для перелётов в текущем месяце.
    • year — билеты, найденные в текущем году.
    • month — за указанный в beginning_of_period месяц.
  • one_way — true — в одну сторону, false — туда и обратно. Значение по умолчанию — false.
  • page — номер страницы. Значение по умолчанию — 1.
  • limit— количество записей на странице. Значение по умолчанию — 30. Не более 1000.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • sorting — сортировка цен:
    • price — по цене (значение по умолчанию). Для направлений город — город возможна сортировка только по цене.
    • route — по популярности маршрута.
    • distance_unit_price — по цене за километр.
  • trip_duration — длительность пребывания в неделях.

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

http://api.travelpayouts.com/v2/prices/latest?currency=rub&period_type=year&page=1&limit=30&show_to_affiliates=true&sorting=price&token=РазместитеЗдесьВашТокен

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

{
   "success":true,
   "data":[{
      "show_to_affiliates":true,
      "origin":"WMI",
      "destination":"WRO",
      "depart_date":"2015-12-07",
      "return_date":"2015-12-13",
      "number_of_changes":0,
      "value":1183,
      "found_at":"2015-09-22T14:08:45+04:00",
      "distance":298,
      "actual":true
   }]
} 

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

  • success — результат запроса.
  • data — полученные данные:
    • origin — пункт отправления.
    • destination — пункт назначения.
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Календарь цен на месяц

Описание

Возвращает цены за каждый день месяца, сгруппированные по количеству пересадок.

Запрос

http://api.travelpayouts.com/v2/prices/month-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города. Длина — 3 символа. Значение по умолчанию — LED.
  • destination — пункт назначения. IATA-код города. Длина — 3 символа. Значение по умолчанию — HKT.

Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт список самых дешевых билетов, которые были найдены за последние 48 часов.

  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • month — первый день месяца, в формате «YYYY-MM-DD». По умолчанию используется месяц, следующий за текущим.
  • trip_duration — длительность пребывания в неделях. Если не указано, то в результате будут билеты в одну сторону.

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

http://api.travelpayouts.com/v2/prices/month-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен

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

{{
   "success":true,
   "data":[{
      "show_to_affiliates":true,
      "trip_class":0,
      "origin":"LED",
      "destination":"HKT",
      "depart_date":"2015-10-01",
      "return_date":"",
      "number_of_changes":1,
      "value":29127,
      "found_at":"2015-09-24T00:06:12+04:00",
      "distance":8015,
      "actual":true
   }]
}

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

  • success — результат запроса.
  • data — полученные данные:
    • origin — пункт отправления.
    • destination — пункт назначения.
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • trip_class — класс перелёта (только 0 — Эконом).
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Цены по альтернативным направлениям

Описание

Возвращает цены на направления между ближайшими к целевым городам.

Запрос

http://api.travelpayouts.com/v2/prices/nearest-places-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
  • destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • depart_date — дата отправления в формате ‘YYYY-MM-DD’.
  • return_date — дата возвращения в формате ‘YYYY-MM-DD’.
  • distance — расстояние (в километрах) от пунктов назначения и отправления, на котором ищутся соседние города.
  • limit — количество выводимых вариантов от 1 до 20. Где 1 — это только вариант с указанными пунктами назначения и отправления.
  • flexibility — расширение диапазона дат в большую и меньшую сторону. Значение может быть от 0 до 7, где 0 — в результате будут только варианты на указанные даты, 7 — все найденные варианты за неделю до указанных дат и неделю после.

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

http://api.travelpayouts.com/v2/prices/nearest-places-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен

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

{
"prices":[
{
"value":26000.0,
"trip_class":0,
"show_to_affiliates":true,
"return_date":"2018-09-18",
"origin":"BAX",
"number_of_changes":0,
"gate":"AMADEUS",
"found_at":"2018-07-28T04:57:47Z",
"duration":null,
"distance":3643,
"destination":"SIP",
"depart_date":"2018-09-09",
"actual":true
}
],
"origins":[
"BAX"
],
"errors":{
"amadeus":{
}
},
"destinations":[
"SIP"
]
}

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

  • prices — массив, полученных цен:
    • value — стоимость перелёта в указанной валюте.
    • trip_class — класс перелёта (только 0 — Эконом).
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • return_date — дата возвращения.
    • origin — список пунктов отправления, ближайших к указанному.
    • number_of_changes — количество пересадок.
    • gate — агентство, в котором был найден билет.
    • found_at — время и дата, когда был найден билет.
    • duration — продолжительность полёта в минутах с учетом пересадок и ожидания.
    • distance — расстояние между пунктом вылета и назначения по карте.
    • destination — список пунктов назначения, ближайших к указанному.
    • depart_date — дата отправления.
    • actual — является ли предложение актуальным.
  • origins — массив пунктов отправления в ответе.
  • destinations — массив пунктов назначения в ответе.
  • errors — сообщение об ошибке. Если возвращается ошибка «Some error occured», значит, по этому направлению нет данных в кеше.

Самые дешевые авиабилеты

Описание

Возвращает самые дешевые билеты без пересадок, а также с 1 и 2 пересадками для выбранного направления с фильтрами по датам вылета и возвращения. Билеты возвращаются на рейсы туда-обратно.

Запрос

http://api.travelpayouts.com/v1/prices/cheap

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (необязательно) — месяц вылета (формат YYYY-MM).
  • return_date (необязательно) — месяц возвращения (формат YYYY-MM).
  • token — индивидуальный токен доступа.
  • page — необязательный параметр, используется для отображения найденных данных (по умолчанию на странице отображается 100 найденных вариантов. Если не выбран destination, то данных может быть больше. В этом случае используйте page, для отображения следующего набора данных, например, page=2).
  • currency — валюта цен на билеты. Значение по умолчанию — rub. Допустимые значения: [«USD», «EUR», «RUB»].

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

http://api.travelpayouts.com/v1/prices/cheap?origin=MOW&destination=HKT&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен

Обратите внимание! Если в запросе указаны старые даты, то в результате его работы ошибки не будет, но и данных никаких не вернется.

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

{
   "success": true,
   "data": {
      "HKT": {
         "0": {
            "price": 35443,
            "airline": "UN",
            "flight_number": 571,
            "departure_at": "2015-06-09T21:20:00Z",
            "return_at": "2015-07-15T12:40:00Z",
            "expires_at": "2015-01-08T18:30:40Z"
         },
         "1": {
            "price": 27506,
            "airline": "CX",
            "flight_number": 204,
            "departure_at": "2015-06-05T16:40:00Z",
            "return_at": "2015-06-22T12:00:00Z",
            "expires_at": "2015-01-08T18:38:45Z"
         },
         "2": {
            "price": 31914,
            "airline": "AB",
            "flight_number": 8113,
            "departure_at": "2015-06-12T13:45:00Z",
            "return_at": "2015-06-24T20:30:00Z",
            "expires_at": "2015-01-08T15:17:42Z"
         }
      }
   }

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

  • success — результат запроса.
  • data — полученные данные:
    • 0, 1, 2 — порядковый номер в результатах выдачи.
      • price — цена билета (в заданной валюте, параметр currency).
      • airline — IATA-код авиакомпании, выполняющей перелет.
      • flight_number — номер рейса.
      • departure_at — дата вылета.
      • return_at — дата возвращения.
      • expires_at — дата истечения актуальности найденной цены (UTC+0).

Билет без пересадок

Описание

Возвращает самый дешевый билет без пересадок для выбранного направления с фильтрами по датам вылета и возвращения.

Запрос

http://api.travelpayouts.com/v1/prices/direct

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (необязательно) — месяц вылета (YYYY-MM).
  • return_date (необязательно) — месяц возвращения (YYYY-MM).
  • currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.
  • token — индивидуальный токен доступа.

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

http://api.travelpayouts.com/v1/prices/direct?origin=MOW&destination=LED&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "HKT": {
         "0": {
            "price": 35443,
            "airline": "UN",
            "flight_number": 571,
            "departure_at": "2015-06-09T21:20:00Z",
            "return_at": "2015-07-15T12:40:00Z",
            "expires_at": "2015-01-08T18:30:40Z"
         },
         "1": {
            "price": 27506,
            "airline": "CX",
            "flight_number": 204,
            "departure_at": "2015-06-05T16:40:00Z",
            "return_at": "2015-06-22T12:00:00Z",
            "expires_at": "2015-01-08T18:38:45Z"
         },
         "2": {
            "price": 31914,
            "airline": "AB",
            "flight_number": 8113,
            "departure_at": "2015-06-12T13:45:00Z",
            "return_at": "2015-06-24T20:30:00Z",
            "expires_at": "2015-01-08T15:17:42Z"
         }
      }
   }

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

  • success — результат запроса.
  • data — полученные данные (в разрезе IATA-кодов):
    • 0, 1, 2 — порядковый номер в результатах выдачи.
      • price — цена билета (в заданной валюте).
      • airline — IATA-код авиакомпании, выполняющей перелёт.
      • flight_number — номер рейса.
      • departure_at — дата вылета.
      • return_at — дата возвращения.
      • expires_at — дата истечения актуальности найденной цены (UTC+0).

Билеты из города на любое число месяца

Описание

Возвращает самый дешевый билет (без пересадки, с одной или двумя пересадками) для указанного направления для каждого дня выбранного месяца.

Важно: у данного метода установлен лимит — 10 запросов в секунду.

Запрос

http://api.travelpayouts.com/v1/prices/calendar

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

  • origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
  • destination — IATA-код города назначения. IATA-код указывается буквами верхнего регистра, например, MOW.
  • depart_date (опционально) — месяц вылета (в формате YYYY-MM). По умолчанию передаётся текущий месяц. Если не передать параметр, и до конца месяца меньше недели — будет использована дата следующего месяца в формате YYYY-MM. Если передать пустую строку, то будут выведены результаты на год вперёд.
  • return_date (опционально) — месяц возвращения (в формате YYYY-MM). Если не передать параметр, но передать depart_date, то выведутся билеты на указанный там месяц. Если передать пустую строку в depart_date и передать return_date, то он выступит ограничителем даты и выведет билеты до конца месяца return_date с текущей даты.
  • calendar_type — поле, по которому будет строиться календарь. Одно из двух значений: departure_date или return_date.
  • trip_duration (опционально) — длительность пребывания в городе назначения.
  • token — индивидуальный токен доступа.
  • currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.

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

http://api.travelpayouts.com/v1/prices/calendar?depart_date=2018-11&origin=MOW&destination=BCN&calendar_type=departure_date&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "2015-06-01": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 12449,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 576,
         "departure_at": "2015-06-01T06:35:00Z",
         "return_at": "2015-07-01T13:30:00Z",
         "expires_at": "2015-01-07T12:34:14Z"
      },
      "2015-06-02": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 13025,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 578,
         "departure_at": "2015-06-02T17:00:00Z",
         "return_at": "2015-06-11T13:30:00Z",
         "expires_at": "2015-01-06T17:15:47Z"
      },
      ...
      "2015-06-30": {
         "origin": "MOW",
         "destination": "BCN",
         "price": 13025,
         "transfers": 1,
         "airline": "PS",
         "flight_number": 578,
         "departure_at": "2015-06-30T17:00:00Z",
         "return_at": "2015-07-23T13:30:00Z",
         "expires_at": "2015-01-07T20:15:34Z"
      }
   }
} 

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

  • success — результат запроса.
  • data — полученные данные (в разрезе дат):
    • origin — IATA-код города вылета.
    • destination — IATA-код города назначения.
    • price — цена билета в заданной валюте.
    • transfers — количество пересадок.
    • airline — IATA-код авиакомпании.
    • flight_number — номер рейса.
    • departure_at — дата вылета.
    • return_at — дата возвращения.
    • expires_at — срок истечения актуальности цены (UTC+0).
    • source — источник данных. Если не указано, значит, данные подгружаются из нашей базы. Обратите внимание! Если данные отдаются от нашего партнёра (например, skypicker), то в параметре origin и destination указывается IATA-код аэропорта, а не города.

Популярные направления авиакомпании

Описание

Возвращает направления, по которым авиакомпания осуществляет перелеты, отсортированные по популярности.

Запрос

http://api.travelpayouts.com/v1/airline-directions

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

  • airline_code — IATA-код авиакомпании. IATA-код указывается буквами верхнего регистра, например SU.
  • limit — количество записей на странице. Значение по умолчанию — 30. Не более 1000.
  • token — индивидуальный токен доступа.

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

http://api.travelpayouts.com/v1/airline-directions?airline_code=SU&limit=10&token=РазместитеЗдесьВашТокен

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

{
   "success": true,
   "data": {
      "MOW-BKK": 187491,
      "MOW-BCN": 113764,
      "MOW-PAR": 91889,
      "MOW-NYC": 77417,
      "MOW-PRG": 71449,
      "MOW-ROM": 67190,
      "MOW-TLV": 62132,
      "MOW-HKT": 58549,
      "MOW-GOI": 47341,
      "MOW-IST": 45553
   },
   "error": null,
   "currency": "rub"
}

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

  • success — результат запроса.
  • data — перечень популярных направлений авиакомпании с указанием популярности направления.
  • currency — валюта ответа (USD, EUR, RUB). Никакого отношения к данным в ответе не имеет.

Специальные предложения

Возвращает последние специальные предложения от авиакомпаний в формате XML.

http://api.travelpayouts.com/v2/prices/special-offers?token=РазместитеЗдесьВашТокен&market=ru

Параметр market отвечает за страну, для которой формируется список спецпредложений. Может принимать значения:

  • ru — Россия;
  • by — Беларусь;
  • kz — Казахстан;
  • uz — Узбекистан.

Для получения списка спецпредложений авиакомпаний, летающих в других странах, используйте ссылку: http://www.jetradar.com/deals.atom/

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

Описание

Возвращает цены на ближайшие к целевым датам.

Запрос

http://api.travelpayouts.com/v2/prices/week-matrix

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

  • currency — валюта цен на билеты. Значение по умолчанию — rub.
  • origin — пункт отправления. IATA-код города. Значение по умолчанию — LED.
  • destination — пункт назначения. IATA-код города. Значение по умолчанию — HKT.
  • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
  • depart_date — вылет туда. Дата в формате ‘YYYY-MM-DD’.
  • return_date — вылет обратно. Дата в формате ‘YYYY-MM-DD’.

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

http://api.travelpayouts.com/v2/prices/week-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&depart_date=2018-09-04&return_date=2018-09-18&token=РазместитеЗдесьВашТокен

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

{
"success":true,
"data":[
{
"show_to_affiliates":true,
"trip_class":0,
"origin":"LED",
"destination":"HKT",
"depart_date":"2018-03-01",
"return_date":"2018-03-15",
"number_of_changes":1,
"value":71725,
"found_at":"2018-02-19T00:04:37+04:00",
"distance":8015,
"actual":true
}]
}

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

  • success — результат запроса.
  • data — полученные данные:
    • show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
    • origin — пункт отправления.
    • destination — пункт назначения.
    • trip_class — класс перелёта (только 0 — Эконом).
    • depart_date — дата отправления.
    • return_date — дата возвращения.
    • number_of_changes — количество пересадок.
    • value — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • distance — расстояние между пунктом вылета и назначения.
    • actual — является ли предложение актуальным.

Популярные направления из города

Описание

Возвращает самые популярные направления из заданного города

Запрос

http://api.travelpayouts.com/v1/city-directions

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

  • origin — пункт отправления. IATA-код города.
  • currency — валюта цен на билеты. Значение по умолчанию — rub.

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

http://api.travelpayouts.com/v1/city-directions?origin=MOW&currency=usd&token=РазместитеЗдесьВашТокен

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

{
  "success":true,
  "data":{
    "AER":{
      "origin":"MOW",
      "destination":"AER",
      "price":3673,
      "transfers":0,
      "airline":"WZ",
      "flight_number":125,
      "departure_at":"2018-03-08T16:35:00Z",
      "return_at":"2018-03-17T16:05:00Z",
      "expires_at":"2018-02-22T09:32:44Z"
    }
  },
  "error":null,
  "currency":"rub"
}

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

  • success — результат запроса.
  • data — полученные данные (в разрезе дат):
    • origin — пункт отправления.
    • destination — пункт назначения.
    • departure_at — дата и время отправления.
    • return_at — дата и время возвращения.
    • number_of_changes — количество пересадок.
    • price — стоимость перелёта в указанной валюте.
    • found_at — время и дата, когда был найден билет.
    • transfers — количество пересадок.
    • airline — IATA-код авиакомпании.
    • flight_number — номер рейса.
  • currency — валюта ответа.

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

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

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

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

Текущий курс валют к рублю

Описание

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

Запрос

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
}

alex7kom/node-travelpayouts: Travelpayouts (JetRadar/Aviasales) API for Node.js

In English

(Минималистичная) обертка для API Travelpayouts (Aviasales/JetRadar).

Поддерживаются следующие API:

См. также: модуль для работы с файлами данных Travelpayouts — travelpayouts-data.

Содержание

  • Установка
  • Использование
  • API
    • travelpayoutsAPI([options])
    • Все методы
    • Цены
      • prices.latest(options, callback)
      • prices.monthMatrix(options, callback)
      • prices.weekMatrix(options, callback)
      • prices.nearestPlacesMatrix(options, callback)
      • prices.cheap(options, callback)
      • prices.monthly(options, callback)
      • prices.direct(options, callback)
      • prices.calendar(options, callback)
      • prices.holidaysByRoutes(options, callback)
      • minPricesCalendar(options, callback)
      • specialOffers(callback)
    • Поиск авиабилетов
    • Партнерская статистика
    • Карта цен
    • Направления
    • Разное
  • Пример
  • Тесты
  • Лицензия
npm i travelpayouts
  1. Зарегистрируйтесь на Travelpayouts.
  2. В разделе Разработчикам → API получите API токен.
  3. В своем коде подключите библиотеку и передайте ей токен следующим образом:
var travelpayoutsAPI = require('travelpayouts');
var tapi = travelpayoutsAPI({ token: 'ваш_токен' });

Теперь вы можете использовать методы API.

travelpayoutsAPI([options])

Функция, возвращающая объект API, принимает объект со следующими параметрами:

  • token — API токен, обязательный параметр, если вы собираетесь работать с API, закрытыми токеном.

  • marker — партнерский маркер, обязательный параметр, если вы собираетесь работать с API поиска авиабилетов.

  • host — название вашего сайта или приложения, обязательный параметр, если вы собираетесь работать с API поиска авиабилетов.

  • requestOptions — опции модуля request, которые будут использованы по умолчанию. Используйте, если хотите поменять таймаут по умолчанию, использовать прокси и т.д.

Все методы

Все параметры запроса, если необходимы, передаются внутри объекта, идущего первым аргументом. Все методы принимают в качестве одного из аргументов callback, который будет вызван с результатами выполнения запроса. Первым аргументом в callback всегда передается ошибка или null, если ошибок не было.

Для каждого метода ниже дается ссылка на релевантную часть официальной документации.

Обратите внимание, что токен, маркер и хост всегда, где необходимо, передаются автоматически и вам это делать не нужно!

Цены

Позволяет получать разнообразные данные из кэша поиска авиабилетов.

Обратите внимание, все данные передаются из кэша, поэтому их следует использовать для формирования статичных страниц, на которых актуальность информации не критична.

prices.latest(options, callback)

Цены на авиабилеты за 48 часов

prices.monthMatrix(options, callback)

Календарь цен на месяц

prices.weekMatrix(options, callback)

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

prices.nearestPlacesMatrix(options, callback)

Цены по альтернативным направлениям

prices.cheap(options, callback)

Самые дешевые авиабилеты

prices.monthly(options, callback)

Самые дешевые авиабилеты по месяцам

prices.direct(options, callback)

Билеты без пересадок

prices.calendar(options, callback)

Билеты из города на любое число месяца

prices.holidaysByRoutes(options, callback)

Самые дешевые билеты на выходные

minPricesCalendar(options, callback)

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

specialOffers(callback)

Специальные предложения

Несмотря на то, что API возвращает XML, на выходе модуля вы получаете уже готовый JS-объект.

Поиск авиабилетов

Условия предоставления доступа к API поиска билетов

Обратите внимание, что подпись (md5 signature) формируется модулем автоматически на основе переданных параметров, и вам это делать не нужно.

flight.search(params, callback)

Инициализация поиска

flight.results(params, callback)

Получение результатов поиска

flight.click(params, callback)

Получение ссылки для перехода на сайт агентства

Партнерская статистика

statistics.balance(callback)

Баланс

statistics.payments(callback)

Выплаты партнерского вознаграждения

statistics.sales(options, callback)

Данные по переходам и покупкам

statistics.detailedSales(options, callback)

Данные по дате и доп. маркеру

Карта цен

map.directions(options, callback)

Поддерживаемые направления

map.prices(options, callback)

Цены

Направления

directions.airline(options, callback)

Популярные направления авиакомпании

directions.city(options, callback)

Популярные направления из города

Разное

whereami(options, callback)

Определение местоположения пользователя по IP-адресу

Указывать callback среди других параметров не нужно, так как это делает модуль автоматически.

currency(callback)

Текущий курс популярных валют к рублю

var travelpayoutsAPI = require('travelpayouts');
var tapi = travelpayoutsAPI({ token: 'ваш_токен' });

tapi.prices.latest({
    currency: 'rub',
    period_type: 'year',
    page: 1,
    limit: 30,
    show_to_affiliates: true,
    sorting: 'price',
    trip_class: 0
}, function (err, result) {
    if (err) throw err;
    console.log(result);
});

Для запуска тестов нужно склонировать данный репозиторий, выполнить npm install и запустить npm test. Будет выполнен тест модуля на тестовых данных.

Чтобы запустить тест против настоящего API, например, для проверки совместимости модуля с текущим API, используйте команду

mocha --reporter=spec -t 10000 -s 10000 tests/test.api.js --token ваш_токен

The MIT License (MIT)

Copyright (c) 2016 Alexey Komarov [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

KosyanMedia/Aviasales-iOS-SDK: Aviasales/Jetradar iOS SDK (Static Library + Template Project)

README in English

Описание

Aviasales Travel iOS SDK — набор библиотек, позволяющий добавить поиск авиабилетов и отелей в ваше приложение. Когда пользователь покупает билет или бронирует отель, вы получаете вознаграждение. SDK используется при разработке официальных приложений Aviasales и Hotellook. SDK включает в себя:

  • две библиотеки для интеграции с поисковой системой поиска авиабилетов и отелей;
  • шаблонный проект с пользовательским интерфейсом. Вы можете использовать шаблонный проект для создания своего собственного поискового приложения. Чтобы отслеживать выплаты, посетите нашу партнерскую сеть — Travelpayouts.com. Узнайте подробнее о доходах в Travelpayouts FAQ.

Использование шаблонного проекта

📲 Установка

  1. Скачайте себе последний release (не beta) шаблонного проекта отсюда: https://github.com/KosyanMedia/Aviasales-iOS-SDK/releases.
  2. Скачайте зависимости, выполнив команду pod install --repo-update в каталоге с шаблонным проектом. После этого для работы с проектом используйте файл AviasalesSDKTemplate.xcworkspace.
  3. Подставьте правильные значения партнерского токена и маркера в файле default_config.plist в константы partner_marker и api_token.
  4. Если у вас еще нет партнерского маркера и токена, получите их в Travelpayouts.
  5. В конфиге default_config.plist дополнительно можно включать и выключать вкладки поиска билетов / отелей, добавлять описание приложения, email для обратной связи и ссылку на приложение в App Store, которые будут отображаться в разделе «About», плюс локализованные значения для внешних ссылок, подставлять параметры поиска, которые будут выставлены по умолчанию при первом запуске приложения.

📱 Поддержка версий iOS

Поддерживаются версии, начиная с iOS 9.0

🖼 Иконка приложения

Не забудьте заменить иконку приложения (по умолчанию, в шаблоне используются иконки, залитые белым цветом). Для этого в папке AviasalesSDKTemplate/Resources/App.xcassets/AppIcon.appiconset достаточно заменить картинки (20.png, 29.png, 40.png и т.д.) на свои с аналогичными именами.

✈️🏨 Выбор вкладок

Если вы хотите убрать вкладку поиска билетов или поиска отелей, поменяйте значения flights_enabled или hotels_enabled на NO в конфиге проекта. Вкладку настроек убрать таким способом нельзя.

🔧 Предустановка фильтров

Если вы хотите ограничить выдачу билетов по одной или нескольким авиакомпаниям, добавьте IATA этих компаний в конфиг по ключу available_airlines как элементы массива. Также можно ограничить выбор города поиска отелей. Для этого в конфиге следует перевести параметр selectable в значение NO и заполнить текст, который будет использоваться в качестве заголовка на форме (параметр headers по ключам локализации). И обязательно нужно прописать id и название города поиска.

🇺🇸🇷🇺 Локализация

Локализации для текстов можно настроить через установку NSLSKey в разделе «Attributes Inspector» в xib-файлах.

✍🏻 Поддержка RTL

Шаблонное приложение адаптировано под RTL языки. Раздел отели при включении RTL языка в настройках устройства становится недоступен.

🔧🌻 Настройка цветов

Выбрать цветовую схему можно в файле ColorSchemeManager.swift. Достаточно прописать в переменной current одно из значений BlackColorScheme() / BlueColorScheme() / PurpleColorScheme(). Или установить значение CustomColorScheme() и настроить схему по своему усмотрению в файле CustomColorScheme.swift. Внешний вид и цвета элементов тоже можно настроить в xib-файлах. Смотрите доступные для изменения поля в разделе «Attributes Inspector». В качестве ключей для цветов можно использовать любые значения из JRColorScheme.h. Вот список основных полей с пояснениями:

НазваниеОписание
mainColorОсновной цвет приложения
actionColorЦвет выделения основных действий
formTintColorЦвет иконок и кнопок на формах поиска
formBackgroundColorЦвет фона в формах поиска
formTextColorЦвет текстов в формах поиска

Если вам нужно больше настроек, например, цвета индикатора загрузки фотографий отелей или цвета элементов в фильтрах, воспользуйтесь настройками в файле JRColorScheme.m.

🤑 Настройка рекламы Appodeal

Для того чтобы вы могли получать дополнительную прибыль с рекламы, мы интегрировали в приложение рекламный SDK Appodeal. Для его настройки задайте параметр appodeal_key в конфиге default_config.plist (получите ключ API, зарегистрировавшись в Appodeal). По умолчанию, реклама будет отображаться на экранах ожидания поиска билетов и отелей.

⭐️ Обратная связь и оценка приложения

Задайте значения параметрам feedback_email и itunes_link в файле default_config.plist чтобы активировать пункты меню «Написать нам письмо» и «Оценить приложение».

🏭 Использование Firebase

Шаблонное приложение поддерживает сервисы Firebase. Для этого нужно подключить приложение в консоли Firebase, скачать и скопировать в папку проекта GoogleService-Info.plist и перевести флаг firebase_enabled в состояние YES в default_config.plist. Из коробки поддерживается работа аналитики, а именно поиск / переход на билет / покупка в билетной части и поиск / выбор отеля / покупка в отельной части.

travelpayouts-js — npm

Node.js библиотека для работы с Travelpayouts API с некоторыми opinionated defaults и использованием промисов. Поддерживается только получение данных об авиабилетах. Библиотека вдохновлена node-travelpayouts, в ней можно найти так же работу с поиском авиабилетов и партнерской статистикой.

Установка

$ npm install travelpayouts-js

Использование

  1. Зарегистрируйтесь в Travelpayouts
  2. Получите API-токен в разделе Разработчикам → API
  3. Подключите библиотеку в коде:
const lib = require('travelpayouts-js');
const api = lib({token: 'полученный_токен'})

Или в одну строку:

const api = require('travelpayouts-js')({token: 'полученный_токен'});

Также можно передать токен как TPAPITOKEN=token через process.env при запуске приложения или указав в .env-файле.

  1. Готово. Теперь можно вызывать методы API.

Дефолтные настройки

Во многих методах есть некоторые предустановленные по умолчанию опции, которые используются при запросе. Чтобы перезаписать их, нужно явно передать нужную опцию и ее значение. В целом в качестве дефолтов я старался использовать дефолтные значения из документации API, но это не везде так.

Возможно, вам понадобится, чтобы запрос прошел без каких-то опций, у которых установлены дефолты (и даже если их не указать, они все равно будут подставлены в строку запроса). Для этого можно передать в опциях параметр removeParams со значением в виде массива названий параметров, которые нужно удалить из запроса, например:

Мы хотим убрать из метода api.weekMatrix() дефолтные параметры depart_date и return_date (там, в случае если не передать их, они устанавливаются как завтрашняя дата и сегодняшняя дата + 2 недели соответственно):

api.weekMatrix({ origin: "MOW", destination: "BKK", removeParams: ['depart_date', 'return_date'] })

Теперь эти два параметра не будут подставлены в запрос, даже если для них были какие-то дефолты. Чтобы точно понять какие данные уходят в запрос, можно использовать параметр debug (подробнее ниже в разделе Отладка).

Всё это я постарался подробно описать в каждом из методов. Также я попытался максимально описать некоторые, не всегда очевидные, моменты использования API.

Обработка ошибок

Поскольку мне нужна была стабильная работа модуля, даже в случае если API вернет ошибку (неважно по какой причине — упало API или неправильно переданы параметры) — на ошибки возвращается пустой массив (кроме методов holidaysByRoutes, minPricesCalendar directions и airline — тут вернется пустой объект). В будущем постараюсь сделать это опциональным или настраиваемым.

Результаты ответа API и переформатирование

Результаты некоторых методов API я переформатирую в другой вид, для своего удобства. Например объект в массив. Об этом подробно написано в каждом из методов, которые это затронуло, с пояснениями что было и что стало.

Генерация ссылок на поиск билетов

У вас есть возможность возвращать данные по билетам, которые уже будут содержать нужную ссылку на поисковую выдачу с подставленными данными (город вылета и прилета, даты вылета/прилета, кол-во взрослых, детей и младенцев и прочее). Подробнее можно почитать в разделе Партнерские ссылки.

Для генерации ссылки нужно передать вместе с опциями запроса параметр generateUrls, например:

api.city({
	origin: "MOW",
	generateUrls: {
		oneway: 0,
		adults: 1,
		children: 0,
		infants: 0,
		trip_class: 0
		marker: 666777888
		with_request: true
		currency: 'rub'
		locale: 'ru'
		url: 'http://whitelabel.yoursite.ru'
	}
})
.then(data => console.log(data))

Можно передавать все параметры из таблицы описания параметров запроса (здесь, пролистать чуть ниже после открытия), кроме: origin_iata, destination_iata, depart_date, return_date (они подставляются из параметров каждого конкретного билета).

Кроме того можно подставить URL запроса: по умолчанию он http://hydra.aviasales.ru. Полезно, если у вас есть White Label или вы хотите спрятать ссылку на aviasales. Для этого нужно добавить в опции параметр url со значением в виде домена (показано выше в примере).

В каждом методе где можно сгенерировать ссылку — она будет параметром searchlink в каждом из билетов. Например:

{
	origin: 'MOW',
	destination: 'TBS',
	price: 7280,
	transfers: 1,
	airline: 'A3',
	flight_number: 973,
	departure_at: '2018-01-24T05:20:00Z',
	return_at: '2018-02-04T11:50:00Z',
	expires_at: '2017-07-22T13:27:20Z',
	searchlink: 'http://hydra.aviasales.ru/searches/new?origin_iata=MOW&destination_iata=TBS&depart_date=2018-01-24&return_date=2018-02-04&adults=1&children=0&infants=0&trip_class=0&marker=2178729379&with_request=true&currency=rub&locale=ru'
}

Отладка

В любой из методов можно передать параметр debug: true. В таком случае в консоль будет выводиться следующая информация:

  • опции которые были переданы в запросе к API;
  • конечный URL запроса (из консоли можно кликнуть этот URL и открыть в браузере (обычно нужно зажать для этого клавишу Cmd (MacOS) или Ctrl (Windows))).

Выглядит это так:

Методы

Цены

api.latest(options)

Цены на авиабилеты за 48 часов

Замечания
  1. Если не указывать period_type = month явно, то он будет использован по умолчанию и будет автоматически подставлен beginning_of_period = дата текущего месяца с первого числа.
  2. Если не указывать period_type = month явно и указать beginning_of_period, то будет использован period_type = month и переданный beginning_of_period.
  3. Если указать period_type = year, то beginning_of_period (даже если передать его) не будет использован (потому что в случае запроса с сочетанием этих двух параметров API отдает пустой ответ).
  4. Если не передаются оба значения origin и destination — из запроса удаляются period_type и beginning_of_period (в случае если сделать запрос с ними — запрос зависнет и ничего не вернет). В случае, если запрос идет без origin и destinationAPI вернет 30 самых дешевых билетов, которые были найдены за последние 48 часов (это из документации к API. Если передать параметр limit — то вернет не 30, а кол-во указанное в нем).
  5. Можно делать запросы указывая отдельно origin или destination. В этом случае будут выводиться билеты все из origin в разных направлениях или соответственно наоборот все в destination из разных origin.
  6. Этот метод поддерживает использование двухзначных кодов страны.
Параметры
currency

Type: string

Default: rub

origin

Type: string

Default: none

destination

Type: string

Default: none

beginning_of_period

Type: string

Default: первый день текущего месяца (в формате YYYY-MM-DD)

period_type

Type: string

Default: month

Supported: year, month

one_way

Type: Boolean

Default: false

page

Type: Number

Default: 1

limit

Type: Number

Default: 30

Maximum: 1000

show_to_affiliates

Type: Boolean

Default: true

sorting

Type: string

Default: price

Supported: price, route, distance_unit_price

trip_class

Type: Number

Default: 0

Supported: 0, 1, 2

trip_duration

Type: Number

Default: none

api.monthMatrix(options)

Календарь цен на месяц

Замечания
  1. Если не передать явно month, будет использована дата указанная выше в Default. Так сделано потому, что если не передать этот параметр — API почему-то отдает билеты, как будто использована дата следующего месяца.
  2. По дефолту, если не передавать origin или destination — API Travelpayouts использует коды LED (Санкт-Петербург) и HKT (Пхукет) соответственно. Потому передавать их нужно здесь явно, если конечно вам не нужен именно этот маршрут.
  3. Несмотря на заявление в документации к API, что можно передавать двузначный код страны в origin и destination — это не работает и API возвращает ошибку, в которой пишет, что код короче чем 3 знака.
Параметры
currency

Type: string

Default: rub

origin

Type: string

Default: LED (API defaults)

destination

Type: string

Default: HKT (API defaults)

show_to_affiliates

Type: Boolean

Default: true

month

Type: string

Default: первый день текущего месяца (в формате YYYY-MM-DD)

api.weekMatrix(options)

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

Параметры
currency

Type: string

Default: rub

origin

Type: string

Default: LED (API defaults)

destination

Type: string

Default: HKT (API defaults)

show_to_affiliates

Type: Boolean

Default: true

depart_date

Type: string

Default: дата завтрашнего дня (в формате YYYY-MM-DD)

return_date

Type: string

Default: дата: сегодня + 2 недели (в формате YYYY-MM-DD)

api.nearestPlacesMatrix(options)

Цены по альтернативным направлениям

Параметры
currency

Type: string

Default: rub

origin

Type: string

Default: LED (API defaults)

destination

Type: string

Default: HKT (API defaults)

show_to_affiliates

Type: Boolean

Default: true

depart_date

Type: string

Default: дата: сегодня + 2 дня (в формате YYYY-MM-DD)

return_date

Type: string

Default: дата: сегодня + 2 недели (в формате YYYY-MM-DD)

distance

Type: Number

Default: 1000

Описание: расстояние (в километрах) от пунктов назначения и отправления, на котором ищутся соседние города

limit

Type: Number

Default: 1

Описание: количество выводимых вариантов от 1 до 20. Где 1 — это только вариант с указанынми пунктами назначения и отправления

flexibility

Type: Number

Default: 0

Описание: расширение диапазона дат в большую и меньшую сторону. Значение может быть от 0 до 7, где 0 — в результате будут только варианты на указанные даты, 7 — все найденные варианты за неделю до указанных дат и неделю после

api.cheap(options)

Самые дешевые авиабилеты

Замечания

Данный метод переформатирует ответ от API из объекта в массив. В оригинале ответ представляет собой объект с ключами в виде кода города назначения, внутри которого также лежат объекты с ключами в виде чисел, означающих количество пересадок (0-3). В переформатированном виде в каждый из объектов билетов добавляются параметры origin, destination и number_of_changes (количество пересадок). В массиве значения располагаются по возрастанию кол-ва пересадок. В случае если в качестве destination использовать прочерк (-, что означает в любом направлении, объекты для каждого из destination так же располагаются в порядке возрастания кол-ва пересадок).

Параметры
origin

Type: string

Default: MOW (Москва, моя дефолтная настройка)

destination

Type: string

Default: - (тире, при этом значении выводятся любые направления из origin)

depart_date

Type: string

Default: none (указывать в формате YYYY-MM)

return_date

Type: string

Default: none (указывать в формате YYYY-MM)

page

Type: Number

Default: 1

Описание: необязательный параметр, используется для отображения найденных данных (по умолчанию на странице отображается 100 найденных вариантов. Если не выбран destination, то данных может быть больше. В этом случае используйте page, для отображения следующего набора данных, например, page=2).

currency

Type: string

Default: rub

api.monthly(options)

Самые дешевые авиабилеты по месяцам

Возвращает самые дешевые билеты для выбранного направления на год вперёд. По одной цене на каждый месяц.

Замечания

Данный метод переформатирует ответ от API из объекта в массив. В оригинале ответ представляет собой объект с ключами в виде даты в формате YYYY-MM. В переформатированном ответе эта дата добавляется в объект каждого из билетов как параметр month.

Nota bene: Можно передать в origin и destination одновременно двухзначный код страны и трехзначный код города соответственно, и наоборот.

Параметры
currency

Type: string

Default: rub

origin

Type: string

Default: MOW (Москва, API default)

Замечания: можно передавать двузначный код страны (несмотря на то, что в API написано Длина не более 3. Длина не менее 3.)

destination

Type: string

Default: LED (Санкт-Петербург, моя дефолтная настройка) Замечания: можно передавать двузначный код страны

api.direct(options)

Билеты без пересадок

Возвращает самый дешевый билет без пересадок для выбранного направления с фильтрами по датам вылета и возвращения.

Замечания

Данный метод переформатирует ответ от API из объекта в массив.

Параметры
origin

Type: string

Default: MOW (Москва, моя дефолтная настройка)

destination

Type: string

Default: - (любые направления, моя дефолтная настройка)

depart_date

Type: string

Required: false

Default: none (указывать в формате YYYY-MM)

return_date

Type: string

Required: false

Default: none (указывать в формате YYYY-MM)

currency

Type: string

Default: rub

api.calendar(options)

Билеты из города на любое число месяца

Замечания

Данный метод переформатирует ответ от API из объекта в массив. В оригинале ответ представляет собой объект с ключами в виде даты в формате YYYY-MM-DD, для каждого из дней месяца из depart_date. В переформатированном виде эта дата добавляется в объект каждого из билетов как параметр day_of_month.

Параметры
origin

Type: string

Default: MOW (Москва, моя дефолтная настройка)

destination

Type: string

Default: LED (Санкт-Петербург, моя дефолтная настройка)

depart_date

Type: string

Default: текущий месяц (в формате YYYY-MM) Замечания: если не передать сюда ничего, то будет использован текущий месяц в формате YYYY-MM. Если же передать пустую строку, то будут выведены результаты аж на год вперёд. Какие-то особенности API. Также, если ничего не передать и до конца месяца меньше недели — будет использована дата следующего месяца в формате YYYY-MM.

return_date

Type: string

Default: none

Замечания: если не передать сюда ничего, но передать depart_date, то выведутся просто билеты на указанный там месяц. Если передать пустую строку в depart_date и передать return_date, то он выступит своеобразные ограничителем даты и выведет билеты до конца месяца return_date с текущей даты (но почему-то иногда не по 30-31 число, а до 25-29). Если передавать оба параметра, то соответственно выведутся билеты подходящие под оба параметра.

calendar_type

Type: string

Default: departure_date

Supported: departure_date, return_date

trip_duration

Type: Number

Default: none

currency

Type: string

Default: rub

api.holidaysByRoutes(options)

Самые дешевые билеты на выходные

Параметры
currency

Type: string

Default: rub

api.minPricesCalendar(options)

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

Параметры
origin

Type: string

Default: none

destination

Type: string

Default: none

depart_date

Type: string

Default: сегодняшняя дата + 2 дня (в формате YYYY-MM-DD)

one_way

Type: Boolean

Default: false

Карта цен

api.directions(options)

Поддерживаемые направления

Параметры
origin_iata

Type: string

Default: MOW (Москва, моя дефолтная настройка)

one_way

Type: Boolean

Default: false

locale

Type: string

Default: ru

api.prices(options)

Цены

Параметры
origin_iata

Type: string

Default: MOW

period

Type: string

Default: текущий месяц с первого числа:month (пример: 2017-07-01:month)

Supported: month (указывать как 2017-08-01:month), season (указывать как 2017-08-01:season), year (указывать как year без месяца)

direct

Type: Boolean

Default: true

one_way

Type: Boolean

Default: false

no_visa

Type: Boolean

Default: true

schengen

Type: Boolean

Default: true

need_visa

Type: Boolean

Default: true

locale

Type: string

Default: ru

min_trip_duration_in_days

Type: Number

Default: 13

max_trip_duration_in_days

Type: Number

Default: 31

Направления

api.airline(options)

Популярные направления авиакомпании

Замечания

Стоит отметить, что это достаточно медленный метод API.

Параметры
airline_iata

Type: string

Default: SU (Аэрофлот, моя дефолтная настройка)

limit

Type: Number

Default: 10 (моя дефолтная настройка) Max: 1000

api.city(options)

Популярные направления из города

Замечания

Данный метод переформатирует ответ от API из объекта в массив. В оригинале ответ представляет собой объект с ключами в виде кода города назначения. В переформатированном виде просто возвращается массив с объектами.

Параметры
origin

Type: string

Default: MOW (Москва, моя дефолтная настройка)

currency

Type: string

Default: rub

Использование с async/await

Минимально необходимая версия NodeJS >= 7.6.

Пример:

const api = require('travelpayouts-js')({token: "your_token_here"});

async function getAll() {

	const week   = api.weekMatrix({origin: "MOW", destination: "BKK"});
	const month  = api.monthMatrix({origin: "MOW", destination: "BKK"});
	const cheap  = api.cheap({origin: "MOW", destination: "BKK", generateUrls: { adults: 1, infants: 0 }});
	const direct = api.direct({origin: "MOW", destination: "BKK"});
	const latest = api.latest({origin: "MOW", limit: 10});

	return await Promise.all([week, month, cheap, direct, latest])
}

// Получить данные:
getAll().then(data => console.log(data))

// Получить именованные данные (ES6 destructuring):
getAll.then(([week, month, cheap, direct, latest]) => {

	console.log(week);
	console.log(month);
	console.log(cheap);
	console.log(direct);
	console.log(latest);

})

Хелперы

Пока что в модуле есть один хелпер — daysBeforeNextMonth. Возвращает количество дней до следующего месяца. Может быть полезно для некоторых методов API, которые возвращают пустые значения, когда до конца месяц остается меньше чем несколько дней.

Использование:

api.helpers.daysBeforeNextMonth

Тесты

To-do.

Todos

[ ] Тесты [ ] Написать лучше оформленную и более понятную документацию [ ] Почистить дублирующийся код

Не откажусь от любой помощи, присылайте пулл-реквесты!

Лицензия

The MIT License (MIT)

Copyright (c) 2017 Alexander Sharabarov [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Партнёрская программа Авиасейлс RU CIS

Товары

Внимание! Чтобы получить возможность загрузить каталог товаров, начните сотрудничать с данным рекламодателем.

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

Доступно товаров: &nbsp&nbsp Обновлено: &nbsp&nbsp Обновлено рекламодателем:

Информация о программе

Почему Admitad:

  • подробная статистика и полезные инструменты,
  • экспресс-выплаты без комиссии,
  • многообразие партнёрских программ,
  • доверие 861497 веб-мастеров,
  • ещё многое-многое другое.

Эта партнерская программа является частью сети Admitad

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

Партнерская программа Aviasales.

Последние обновления Aviasales.ru

ТОП-100 направлений

Обновленный https://top100.aviasales.ru/ поддерживает параметры по городам и длительности путешествия.

Руководство по настройке ссылок и другие новости можно найти здесь:

https://docs.google.com/document/d/1ykurdlv08rFFD7y34UcE6RaA0HmKkjVUqbI_o5KYQHs

Aviasales.ru – проверенный помощник в поиске авиабилетов, первый и единственный в Рунете метапоиск дешевых авиабилетов. Мы ищем авиабилеты в 728 авиакомпаниях, 15 авиакассах и 5 системах. Никаких сборов или наценок – на aviasales.ru лишь максимально низкие тарифы от надежных агентств, а где покупать – решать вам. 

В партнерской программе Aviasales WW добавлен домен aviasales.kz. Пассажиропоток в Казахстане в 2018 году составил более 14 млн человек. И в ближайшие годы будет расти. Продавайте билеты на домене aviasales.kz и зарабатываете ещё больше.

Премущества Aviasales.ru:

—  инновационный нанопоиск авиабилетов найдет для вас не только самый лучший вариант на конкретные даты, но и предложит другие даты, когда стоимость перелета может быть ещё ниже. Выбирайте самые «дешёвые даты» в специальном разделе сайта Цены на авиабилеты

 

— на сайте собрана самая большая база спецпредложений авиакомпаний летающих по России и из России за рубеж. Редакция имеет прямые контакты со многими авиакомпаниями и получает информацию об акциях порой раньше, чем она публикуется на сайте самой авиакомпании.

В статистике admitad партнеры видят оплаченные заказы.
Среднее время оплаты заказов = 30 мин, одно из максимальных — до 3х дней.
Максимальное (редко) = 1 месяц

Информация для наиболее эффективных настроек таргетинга:

ГЕО/ ТОП регионов по продажам:
 

  • 30% Москва
  • 10% Санкт-Петербург
  • остальные


Целевая аудитория:
 

  • 25-35 лет
  • 55% Женщины
  • 45% Мужчины

Хотим напомнить, что программа Aviasales WW перешли на работу по модели Revenue Share.
Вебмастера, работающие с кэшбек трафиком, могут указать, что вознаграждение будет до 1.7% от стоимости билета.
Но обязательно прописать, что Aviasales платит % от прибыли с авиабилета, которую они получают от авиакомпаний и агентств.

К программе временно не будут подключаться новые кэшбек сервисы через другие сетки.

аналитических данных о путешествиях с помощью API данных Travelpayouts — База знаний Travelpayouts

Travelpayouts Data API — способ получить информацию о путешествиях для вашего сайта или блога. Узнавайте тенденции цен на авиабилеты и находите популярные направления для ваших клиентов.

Данные передаются из кеша, который формируется на основе поисков пользователей сайтов Aviasales.ru и Jetradar.com за последние 48 часов. Поэтому рекомендуется использовать их для создания статических страниц.

Для разработчиков доступна документация с примерами запросов и ответов на разных языках программирования, а также ссылка на Postman: https: // travelpayouts.github.io/slate/.

Эта документация предназначена для одноименного общедоступного API Aviasales.

Чтобы получить доступ к API, вы должны передать свой токен в заголовке X-Access-Token или в параметре токена. Чтобы получить токен для API доступа к данным, перейдите по адресу https://www.travelpayouts.com/programs/100/tools/api.

Даты принимаются в форматах ГГГГ-ММ и ГГГГ-ММ-ДД.

Ответ сервера всегда отправляется в формате JSON со следующей структурой:

  • success — true при успешном запросе, false при ошибках
  • данные — результат запроса; в случае ошибки равно нулю
  • error — краткое описание ошибки, препятствовавшей выполнению запроса; для успешного запроса равно нулю

Дата и время указаны в формате UTC в соответствии с ISO 8601.Цены указаны в рублях на момент размещения билета в результатах поиска. Не рекомендуется использовать цены с истекшим сроком действия (приблизительный срок действия указан в значении параметра expires_at).

Важно. Мы настоятельно рекомендуем получать данные в сжатом формате GZIP, что значительно экономит время на получение ответа. Чтобы получить данные в сжатом формате, отправьте заголовок Accept-Encoding: gzip, deflate.

Чтобы получить доступ к API для поиска билетов на самолет и отелей, отправьте заявку.

История цен на рейс

Возвращает список цен, найденных нашими пользователями за последние 48 часов в соответствии с использованными фильтрами.

Запрос

http://api.travelpayouts.com/v2/prices/latest?currency=usd&period_type=year&page=1&limit=30&show_to_affiliates=true&sorting=price&trip_class=0&token=PutHereYourToken

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

  • валюта — стоимость авиабилета Стоимость по умолчанию —
  • руб.
  • origin — пункт отправления.Код города IATA или код страны. Длина — от 2 до 3 символов
  • пункт назначения — пункт назначения. Код города IATA или код страны. Длина — от 2 до 3 символов

Примечание! Если пункт отправления и пункт назначения не указаны, API возвращает 30 самых дешевых билетов, найденных за последние 48 часов.

  • начало_периода — начало периода, в который попадают даты отправления (в формате ГГГГ-ММ-ДД, например, 01.05.2016).Необходимо указать, если period_type совпадает с месяц
  • period_type — период, за который были найдены билеты (обязательный параметр):
    • год — за все время
    • месяц — на месяц
  • one_way — true — в одну сторону, false — в обратную сторону. Значение по умолчанию — false
  • страница — номер страницы. Значение по умолчанию — 1
  • лимит — общее количество записей на странице.Значение по умолчанию — 30. Максимальное значение — 1000.
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется). Значение по умолчанию — истина
  • сортировка — ассортимент цен:
    • цена — по цене (значение по умолчанию). По направлениям только город — город возможна сортировка по цене
    • маршрут — по популярности маршрута
    • distance_unit_price — по цене за 1 км
  • trip_duration — продолжительность пребывания в неделях или днях (для period_type = день)
  • токен — индивидуальный партнерский токен

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

 {
   "успех": правда,
   "данные":[{
      "show_to_affiliates": правда,
      "trip_class": 0,
      "origin": "WMI",
      "пункт назначения": "WRO",
      "leave_date": "2015-12-07",
      «return_date»: «2015-12-13»,
      "number_of_changes": 0,
      «значение»: 1183,
      "found_at": "2015-09-22T14: 08: 45 + 04: 00",
      «дистанция»: 298,
      "актуально": правда
   }]
} 

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

  • origin — пункт отправления
  • пункт назначения — пункт назначения
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется).Значение по умолчанию — истина
  • trip_class — полетный класс ( 0 — Эконом-класс)
  • date_date — дата отправления
  • return_date — дата возврата
  • number_of_changes — количество переводов
  • значение — стоимость полета, в указанной валюте
  • found_at — время и дата обнаружения билета
  • расстояние — расстояние от пункта отправления до пункта назначения
  • актуально — актуальность предложения
  • токен — индивидуальный партнерский токен

Календарь цен на месяц

Возвращает цены за каждый день месяца, сгруппированные по количеству переводов.

Запрос

http://api.travelpayouts.com/v2/prices/month-matrix?currency=usd&origin=LED&destination=HKT&show_to_affiliates=true&token=PutHereYourToken

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

  • валюта — стоимость авиабилета Стоимость по умолчанию —
  • руб.
  • origin — пункт отправления. Код города IATA или код страны. Длина — от 2 до 3 символов
  • пункт назначения — пункт назначения.Код города IATA или код страны. Длина — от 2 до 3 символов

Примечание! Если пункт отправления и пункт назначения не указаны, API возвращает 30 самых дешевых билетов, найденных за последние 48 часов.

  • месяц — начало месяца в формате ГГГГ-ММ-ДД
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется).Значение по умолчанию — истина
  • токен — индивидуальный партнерский токен
  • trip_duration — продолжительность пребывания в неделях. Если не указано, результатом будут билеты на
  • в одну сторону.

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

 {{
   "успех": правда,
   "данные":[{
      "show_to_affiliates": правда,
      "trip_class": 0,
      "origin": "LED",
      "пункт назначения": "HKT",
      "leave_date": "2015-10-01",
      "Дата возвращения":"",
      "number_of_changes": 1,
      "значение": 29127,
      "found_at": "2015-09-24T00: 06: 12 + 04: 00",
      «дистанция»: 8015,
      "актуально": правда
   }]
} 

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

  • origin — пункт отправления
  • пункт назначения — пункт назначения
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется).Значение по умолчанию — истина
  • trip_class — класс полета:
    • 0 — Эконом-класс
    • 1 — Бизнес-класс
    • 2 — Первая
  • date_date — дата отправления
  • return_date — дата возврата
  • number_of_changes — количество переводов
  • значение — стоимость полета, в указанной валюте
  • found_at — время и дата обнаружения билета
  • расстояние — расстояние от пункта отправления до пункта назначения
  • актуально — актуальность предложения

Цены на альтернативные направления

Возвращает цены для направлений между ближайшими к целевым городам.

Запрос

http://api.travelpayouts.com/v2/prices/nearest-places-matrix?currency=usd&origin=LED&destination=HKT&show_to_affiliates=true&token=PutHereYourToken

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

  • валюта — стоимость авиабилета Стоимость по умолчанию —
  • руб.
  • origin — пункт отправления. Код города IATA или код страны. Длина — от 2 до 3 символов
  • пункт назначения — пункт назначения.Код города IATA или код страны. Длина — от 2 до 3 символов
  • лимит — количество введенных вариантов от 1 до 20, где 1 — только вариант с указанными пунктами отправления и пунктами назначения
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется). Значение по умолчанию — истина
  • Дата отправления ( опционально ) — месяц отправления (гггг-мм)
  • return_date ( опционально ) — месяц возврата (гггг-мм)
  • гибкость — расширение диапазона дат в большую или меньшую сторону.Значение может варьироваться от 0 до 7, где 0 означает варианты для указанных дат, а 7 — все варианты, найденные за неделю до указанных дат и неделю после
  • .
  • расстояние — количество введенных вариантов от 1 до 20, где 1 — это вариант с указанными пунктами отправления и пунктами назначения
  • токен — индивидуальный партнерский токен

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

 {
"цены": [
{
"значение": 26000.0,
«trip_class»: 0,
«show_to_affiliates»: true,
«return_date»: «2016-09-18»,
«origin»: «BAX»,
«number_of_changes»: 0,
«gate»: "AMADEUS",
"found_at": "2016-07-28T04: 57: 47Z",
"duration": null,
"distance": 3643,
"destination": "SIP",
"leave_date": " 2016-09-09 ",
" actual ": true
}
],
" origins ": [
" BAX "
],
" errors ": {
" amadeus ": {
}
},
" направления ": [
" SIP "
]
}

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

  • origin — пункт отправления
  • пункт назначения — пункт назначения
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется).Значение по умолчанию — истина
  • trip_class — класс полета:
    • 0 — Эконом-класс
    • 1 — Бизнес-класс
    • 2 — Первая
  • date_date — дата отправления
  • return_date — дата возврата
  • number_of_changes — количество переводов
  • значение — стоимость полета, в указанной валюте
  • found_at — время и дата обнаружения билета
  • расстояние — расстояние от пункта отправления до пункта назначения.
  • актуально — актуальность предложения
  • duration — продолжительность полета в минутах с учетом прямого и ожидания
  • ошибок — если возвращается ошибка «Произошла какая-то ошибка», значит в этой области нет данных в кэше
  • , , ворота — агенты, обнаруженные на билете
  • токен — индивидуальный партнерский токен

Самые дешевые билеты

Возвращает самые дешевые билеты без остановок, а также билеты с 1 или 2 остановками по выбранному маршруту с фильтрами по дате отправления / возврата.

Запрос

http://api.travelpayouts.com/v1/prices/cheap?origin=MOW&destination=HKT&depart_date=2017-11&return_date=2017-12&token=PutHereYourToken

Важно: В запросе могут быть указаны старые даты. Ошибка не будет сгенерирована, но данные не будут возвращены.

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

  • origin — IATA код города отправления. Код IATA отображается прописными буквами, например, MOW
  • .
  • пункт назначения — IATA-код города назначения (для всех маршрутов введите «-»).Код IATA отображается прописными буквами, например, MOW
  • .
  • Дата отправления (опционально ) — месяц отправления (гггг-мм)
  • return_date (необязательно ) — месяц возврата (гггг-мм)
  • страница — необязательный параметр, используется для отображения найденных данных (по умолчанию на странице отображается 100 найденных цен. Если не выбран пункт назначения , данных может быть больше. В этом случае используйте страницу , чтобы отобразить следующий набор данных, например, page = 2 )
  • токен — индивидуальный партнерский токен
  • валюта — валюта цен.Значение по умолчанию —
  • руб.

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

 {
"успех": правда,
"данные": {
"HKT": {
"0": {
«цена»: 35443,
"авиакомпания": "ООН",
"flight_number": 571,
"leave_at": "2015-06-09T21: 20: 00Z",
"return_at": "2015-07-15T12: 40: 00Z",
"expires_at": "2015-01-08T18: 30: 40Z"
},
"1": {
«цена»: 27506,
"авиакомпания": "CX",
"flight_number": 204,
"leave_at": "2015-06-05T16: 40: 00Z",
"return_at": "2015-06-22T12: 00: 00Z",
"expires_at": "2015-01-08T18: 38: 45Z"
},
"2": {
«цена»: 31914,
"авиакомпания": "AB",
«flight_number»: 8113,
"leave_at": "2015-06-12T13: 45: 00Z",
"return_at": "2015-06-24T20: 30: 00Z",
"expires_at": "2015-01-08T15: 17: 42Z"
}
}
}
} 

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

  • 0, 1, 2 — порядковый номер в результатах поиска
  • price — цена билета (в валюте, указанной в параметре currency)
  • авиакомпания — IATA код авиакомпании, выполняющей рейс
  • flight_number — номер рейса
  • отправления_в — Дата отправления
  • return_at — Дата возврата
  • expires_at — дата истечения срока действия найденной цены (UTC + 0)
  • токен — индивидуальный партнерский токен

Самые дешевые билеты сгруппированы по месяцам

Возвращает самые дешевые билеты без остановок, а также билеты с 1 или 2 остановками на выбранный маршрут, сгруппированные по месяцам.

Запрос

http://api.travelpayouts.com/v1/prices/monthly?currency=USD&origin=MOW&destination=HKT&token=PutHereYourToken

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

  • origin — IATA код города отправления. Код IATA отображается прописными буквами, например, MOW
  • .
  • пункт назначения — IATA-код города назначения (для всех маршрутов введите «-»). Код IATA отображается прописными буквами, например, MOW
  • .
  • токен — индивидуальный партнерский токен
  • валюта — валюта цен.Значение по умолчанию —
  • руб.

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

 {
"успех": правда,
"данные": {
«2016-11»: {
«исходная точка»: «MOW»,
«пункт назначения»: «HKT»,
«цена»: 415,
«трансферы»: 2,
«авиакомпания»: «MU»,
» flight_number ": 592,
" leave_at ":" 2016-11-30T19: 10: 00Z ",
" return_at ":" 2016-12-26T03: 00: 00Z ",
" expires_at ":" 2016-11-06T15 : 06: 57Z " } } }

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

  • 2016-11 — месяц самых дешевых билетов
  • price — цена билета (в валюте, указанной в параметре currency)
  • авиакомпания — IATA код авиакомпании, выполняющей рейс
  • flight_number — номер рейса
  • отправления_в — дата отправления
  • return_at — дата возврата
  • expires_at — дата истечения срока действия найденной цены (UTC + 0)
  • origin — IATA код города вылета
  • направление — IATA код города назначения

Билеты без остановок

Возвращает самый дешевый билет без остановок на выбранный маршрут с фильтрами по дате отправления / возврата.

Запрос

http://api.travelpayouts.com/v1/prices/direct?origin=MOW&destination=LED&depart_date=2017-11&return_date=2017-12&token=PutHereYourToken

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

  • origin — IATA код города отправления. Код IATA отображается прописными буквами
  • пункт назначения — IATA-код города назначения (для всех маршрутов введите «-»). Код IATA отображается прописными буквами
  • Дата отправления ( опционально ) — месяц отправления (гггг-мм)
  • return_date ( опционально ) — месяц возврата (гггг-мм)
  • токен — индивидуальный партнерский токен
  • валюта — валюта цен.Значение по умолчанию —
  • руб.

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

 {
"успех": правда,
"данные": {
"ВЕЛ": {
"0": {
«цена»: 4363,
"авиакомпания": "UT",
«flight_number»: 369,
"leave_at": "2015-06-27T11: 35: 00Z",
"return_at": "2015-07-04T16: 00: 00Z",
"expires_at": "2015-01-08T20: 21: 46Z"
}
}
}
} 

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

  • цена — стоимость билета (в указанной валюте)
  • авиакомпания — код IATA авиакомпании, выполняющей рейс
  • flight_number — рейс
  • отправления_в — дата отправления
  • return_at — дата возврата
  • expires_at — дата истечения срока действия найденной цены (UTC + 0)

Динамика цен на рейсы

Возвращает самые дешевые рейсы без пересадок, с одной или двумя пересадками по выбранному маршруту на каждый день выбранного месяца.

Важно : этот метод имеет ограничение в 10 запросов в секунду.

Запрос

http://api.travelpayouts.com/v1/prices/calendar?depart_date=2017-11&origin=MOW&destination=BCN&calendar_type=departure_date&token=PutHereYourToken

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

  • origin — IATA код города отправления. Код IATA отображается прописными буквами
  • пункт назначения — IATA-код города назначения.Код IATA отображается прописными буквами
  • Дата отправления (необязательно) — месяц отправления (гггг-мм)
  • return_date ( необязательно ) — месяц возврата (гггг-мм).
  • calendar_type — поле для построения календаря. Равно либо: leave_date, либо return_date
  • длина ( опционально ) — продолжительность пребывания в городе назначения
  • токен — индивидуальный партнерский токен
  • валюта — валюта цен.Значение по умолчанию —
  • руб.

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

 {
"успех": правда,
"данные": {
«2015-06-01»: {
"origin": "MOW",
"пункт назначения": "BCN",
«цена»: 12449,
«трансферы»: 1,
"авиакомпания": "PS",
«flight_number»: 576,
"leave_at": "2015-06-01T06: 35: 00Z",
"return_at": "2015-07-01T13: 30: 00Z",
"expires_at": "2015-01-07T12: 34: 14Z"
},
«2015-06-02»: {
"origin": "MOW",
"пункт назначения": "BCN",
«цена»: 13025,
«трансферы»: 1,
"авиакомпания": "PS",
«flight_number»: 578,
"leave_at": "2015-06-02T17: 00: 00Z",
"return_at": "2015-06-11T13: 30: 00Z",
"expires_at": "2015-01-06T17: 15: 47Z"
},
...
     «2015-06-30»: {
"origin": "MOW",
"пункт назначения": "BCN",
«цена»: 13025,
«трансферы»: 1,
"авиакомпания": "PS",
«flight_number»: 578,
"leave_at": "2015-06-30T17: 00: 00Z",
"return_at": "2015-07-23T13: 30: 00Z",
"expires_at": "2015-01-07T20: 15: 34Z"
}
}
} 

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

  • origin — IATA код города вылета
  • направление — IATA код города назначения
  • цена — цена билета в указанной валюте
  • пересадок — количество остановок
  • авиакомпания — код IATA авиакомпании
  • flight_number — номер рейса
  • отправления_в — дата отправления
  • return_at — дата возврата
  • expires_at — когда истекает найденная цена (UTC + 0)

Популярные маршруты авиакомпаний

Возвращает маршруты, по которым выполняет рейсы авиакомпания, отсортированные по популярности.

Запрос

http://api.travelpayouts.com/v1/airline-directions?airline_code=SU&limit=10&token=PutHereYourToken

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

  • airport_code — IATA код авиакомпании
  • лимит — лимит записей на страницу. Значение по умолчанию — 100. Не менее 1000
  • токен — индивидуальный партнерский токен

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

 {
"успех": правда,
"данные": {
«МОУ-БКК»: 187491, г.
«MOW-BCN»: 113764, г.
«MOW-PAR»: 91889, г.
"MOW-NYC": 77417,
«MOW-PRG»: 71449, г.
«MOW-ROM»: 67190, г.
"MOW-TLV": 62132, г.
«MOW-HKT»: 58549, г.
«МОУ-ГОЙ»: 47341, г.
«MOW-IST»: 45553
},
«ошибка»: null, 
«валюта»: «руб»
}

Описание ответа

Возвращает список популярных маршрутов авиакомпании, отсортированных по популярности.

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

Возвращает цены на ближайшие даты к целевым.

Запрос

http://api.travelpayouts.com/v2/prices/week-matrix?currency=usd&origin=LED&destination=HKT&show_to_affiliates=true&depart_date=2016-09-04&return_date=2016-09-18&token=PutHereYourToken

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

  • валюта — стоимость авиабилета Стоимость по умолчанию —
  • руб.
  • origin — пункт отправления.Код города IATA или код страны. Длина — от 2 до 3 символов
  • пункт назначения — пункт назначения. Код города IATA или код страны. Длина — от 2 до 3 символов
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется). Значение по умолчанию — истина
  • Дата отправления ( необязательно ) — день или месяц отправления (гггг-мм-дд или гггг-мм)
  • return_date ( необязательно ) — день или месяц возврата (гггг-мм-дд или гггг-мм)
  • токен — индивидуальный партнерский токен

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

 {
  «Успех»: правда,
  "данные":[
  {
    «Show_to_affiliates»: правда,
    «Trip_class»: 0,
    «Origin»: «LED»,
    «Пункт назначения»: «HKT»,
    «Отъезд_дата»: «2016-03-01»,
    «Return_date»: «2016-03-15»,
    «Количество_изменений»: 1,
    «Значение»: 71725,
    «Found_at»: «2016-02-19T00: 04: 37 + 04: 00»,
    «Дистанция»: 8015,
    «Актуально»: верно
  }]
} 

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

  • origin — пункт отправления
  • пункт назначения — пункт назначения
  • show_to_affiliates — false — все цены, true — только цены, найденные с помощью маркера партнера (рекомендуется).Значение по умолчанию — истина
  • trip_class — полетный класс ( 0 — Эконом-класс)
  • date_date — дата отправления
  • return_date — дата возврата
  • number_of_changes — количество переводов
  • значение — стоимость полета, в указанной валюте
  • found_at — время и дата обнаружения билета
  • расстояние — расстояние от пункта отправления до пункта назначения
  • актуально — актуальность предложения

Популярные направления

Возвращает наиболее популярные направления из указанного города.

Запрос

http://api.travelpayouts.com/v1/city-directions?origin=MOW&currency=usd&token=PutHereYourToken

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

  • валюта — стоимость авиабилета Стоимость по умолчанию —
  • руб.
  • origin — пункт отправления. Код города IATA или код страны. Длина — от 2 до 3 символов
  • токен — индивидуальный партнерский токен

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

 {
  "успех": правда,
  "данные":{
    "AER": {
      "origin": "MOW",
      "пункт назначения": "AER",
      «цена»: 3673,
      «трансферы»: 0,
      "авиакомпания": "WZ",
      "flight_number": 125,
      "leave_at": "2016-03-08T16: 35: 00Z",
      "return_at": "2016-03-17T16: 05: 00Z",
      "expires_at": "2016-02-22T09: 32: 44Z"
    }
  },
  «ошибка»: ноль,
  "валюта": "руб."
} 

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

  • origin — пункт отправления
  • пункт назначения — пункт назначения
  • отправления_ат — дата отправления
  • return_at — дата возврата
  • expires_at — дата истечения срока действия найденной цены (UTC + 0)
  • number_of_changes — количество переводов
  • цена — стоимость полета, в указанной валюте
  • found_at — время и дата обнаружения билета
  • переводов — количество прямых
  • авиакомпания — IATA авиакомпании
  • flight_number — номер рейса
  • валюта — валюта ответа

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

Логотипы полетов

доступны здесь: http: // pics.avs.io/width/height/iata.png

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

Например: http://pics.avs.io/200/200/UN.png.

Определение местонахождения пользователя по IP-адресу

Запрос: http://www.travelpayouts.com/whereami?locale=ru&callback=useriata&ip=62.105.128.0 возвращает код IATA и название города, ближайшего к пользователю.

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

  • locale — язык, на котором возвращается название города (доступные языки: en, ru, de, fr, it, pl, th. По умолчанию это русский)
  • callback — указывает имя функции, которая содержит ответ на запрос (обязательно)
  • ip — IP-адреса пользователей (если адрес не передан, система определяет IP из заголовка запроса)

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

useriata ({«iata»: «MOW», «name»: «Москва»})

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

  • iata — IATA код города, в котором находится пользователь
  • название — название города

Снижение цены в другую валюту

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

Запрос

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

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

 {
  "cny": 8,24394,
  «евро»: 57,1578,
  «мзн»: 1.49643,
  "nio": 1.97342,
  «usd»: 51.1388,
  "hrk": 7,48953
} 

Спецпредложения на рейсы

Возвращает последние специальные предложения авиакомпаний в формате .XML.

Запрос

http://api.travelpayouts.com/v2/prices/special-offers?token=PutHereYourToken

http: // www.jetradar.com/deals.atom/

Один клик между вами и вашим идеальным отпуском

Сквозь облака

Если вам когда-либо приходилось искать авиабилеты в Интернете, то вы сталкивались с Aviasales или JetRadar, поскольку это одна из крупнейших поисковых систем путешествий, собирающая авиабилеты от 728 авиакомпаний, более 100 агентств и 5 систем бронирования. Придерживаясь последних тенденций, они признали растущее использование мобильных приложений для поиска и бронирования билетов на самолет и приняли соответствующие меры: согласно рейтингу App Store, их приложения входят в десятку лучших.

Масштабы деятельности Aviasales впечатляют: ее веб-сайтом и приложениями пользуются 5 миллионов человек в месяц, при этом пользователи выполняют 400 000 поисков в день и тратят в среднем 30 секунд на поиск билетов. Хотя процесс поиска очень быстрый и простой, бронирование и покупка билетов с мобильного устройства раньше было проблемой. Одна проблема, которая беспокоила большинство людей, заключалась в том, что их личные данные вводились в базу данных вручную. Было крайне важно максимально облегчить этот шаг.Идея, пришедшая в голову команде Aviasales, гениальна в своей простоте, но у нее нет альтернативы для работы: вы делаете снимок своего паспорта, и приложение извлекает вашу личную информацию. Затем вы просто ждете несколько секунд и видите, что все поля заполняются автоматически.

Но так ли просто на практике? В чем уникальность решения? Паспорта отличаются друг от друга точно так же, как и страны, в которых они сделаны: разнообразие происхождения, расположение полей, языки и т. Д.Поэтому компания начала искать решение, которое было бы достаточно гибким, чтобы учесть все различия и при этом гарантировать превосходное качество. Только ABBYY справилась с этой задачей и уже имела под рукой идеальное решение — ABBYY Cloud OCR SDK. Сервис не зависит от платформы (что имеет решающее значение для кроссплатформенных приложений), известен своей отмеченной наградами точностью и очень прост в реализации, что выгодно отличает их продукт от других. ABBYY Cloud OCR SDK, безусловно, входит в число функций, которые повышают качество обслуживания клиентов и гарантируют, что у большинства пользователей смартфонов в карманах есть бренды Aviasales или JetRadar.

Как это работает?

Всего 3 простых шага:

Шаг 1. Информационная страница пассажира. Нажмите кнопку «Новый пассажир». Выберите, чтобы добавить информацию, сделав фотографию. Сосредоточьтесь на машиночитаемой зоне (MRZ).

Шаг 2. Сделайте фото МСЗ. Подождите пару секунд. Паспорт обрабатывается ABBYY Cloud OCR SDK.

Шаг 3. Поздравляем! Вся информация о пассажирах заполнена автоматически!

«Решение ABBYY отлично проявило себя в реальной рабочей ситуации и немного облегчило жизнь пользователям Aviasales.Им больше не нужно вводить свою личную информацию вручную. Это значительно ускоряет и упрощает покупку авиабилетов! »

Иван Козлов, VC Mobile Products

Однако пока обрабатывались новые российские паспорта, оказалось, что результатов распознавания с 100% точностью недостаточно!

Дело в том, что благодаря новой системе кодирования МСЗ российского паспорта фамилия ШЕВЧУК (ШЕВЧУК на кириллице), например, теперь кодируется в Машиносчитываемой зоне (МСЗ) как S4EV3UK.Известная своей точностью 99,9%, технология ABBYY OCR послушно опознала и извлекла его как S4EV3UK, что, конечно, не применимо для регистрации электронных билетов.

Благодаря открытому API команда разработчиков Aviasales / JetRadar легко добавила небольшой скрипт во всю систему, который позволил преобразовать кодировку имени пассажира MRZ в традиционное официальное написание имени, подходящее для регистрации на рейс (то есть S4EV3UK преобразуется в SHEVCHUK).

Всего за 2 недели интегрировали автоматическое заполнение личных данных в заявку.

Как узнать, чего хочет пользователь

Aviasales / JetRadar уже является одной из крупнейших поисковых систем для путешествий в Интернете, и они продолжают расти на 200% в год и расширять свою клиентскую базу. Ключ к их огромному успеху — это правильно расставить приоритеты: они всегда ставят своих клиентов на первое место. Помимо прочего, это означает предвидение желаний пользователей и постоянный поиск.

Таким образом, в последней версии мобильных приложений Aviasales / JetRadar пользователям достаточно сфотографировать паспорт, а мы сделаем все остальное: снимем с него личные данные пассажира и заполним поля.Благодаря автоматизации за последние 4 месяца более 10 000 счастливчиков смогли получить билеты в последнюю минуту и ​​максимально использовать свой отпуск. Сегодня эта функция доступна в Aviasales и JetRadar для iOS, а скоро будет запущена для Android. Распознавание паспортов на ходу на основе ABBYY Cloud OCR SDK, безусловно, входит в число функций, которые повышают качество обслуживания клиентов и гарантируют, что у большинства пользователей смартфонов в карманах есть бренды Aviasales или JetRadar.

README — Документация для travelpayouts_api (0.0.3)

** Этот драгоценный камень поддерживает рубинов 2.2 и выше. Он не будет работать в более ранних версиях Ruby из-за широкого использования позиционных параметров.

Обзор

Этот драгоценный камень поддерживает

Как использовать

Включите его в свой Gemfile :

  драгоценный камень travelpayouts_api
  

Создайте инициализатор в config / initializers:

  TravelPayouts.настроить do | config |
  config.token = '<токен>'
  config.marker = ''
  config.host = 'локальный'
  config.currency = 'руб'
  config.locale = 'ru'
конец
  

где

  • token — ваш api token
  • маркер — идентификатор вашего клиента в системе travelpayouts
  • валюта — валюта 3-значный код
  • host — должен быть установлен на хост вашего сайта
  • locale — язык результатов

А теперь в вашем контроллере можно сделать что-то вроде этого:

  @api = TravelPayouts.api
price = @ api.cheap_prices (источник: «ODS», пункт назначения: «MOW», дата отправления: «2015-04-01»)
  

Все вызовы API будут возвращать хэш-объекты или вызывать исключения в случае сбоя.

API доступа к данным

  cheap_prices (origin :, destination :, leave_date: nil, return_date: nil)
  
  direct_prices (origin :, destination :, leave_date: nil, return_date: nil)
  
  calendar_prices (origin :, destination :, calendar_type :, leave_date: nil, trip_duration: nil, return_date: nil)
  
  Airlines_directions (Airlines_code :, ограничение: 10)
  
  country_data ()
  
  cities_data ()
  
  airport_data ()
  
  airlines_data ()
  
  airport_alliances_data ()
  
  самолеты_данные ()
  
  routes_data ()
  
  where_am_i (ip: nil, locale: nil)
  

API карты

  map_of_supported_directions (origin_iata :, one_way: true, locale: nil)
  
  map_of_prices (origin_iata :, period:: month, one_way: true, direct: false,
    price: nil, no_visa: true, schengen: nil, need_visa: true, locale: nil,
    min_trip_duration_in_days: ноль, max_trip_duration_in_days: ноль)
  

API календаря

  calendar_of_prices (origin :, destination :, sent_date :, one_way: true)
  

Рейсы API

  flight_search (user_ip:, locale: nil, trip_class: 'Y', пассажиры: {}, сегменты: {}, know_english: true)
  
  flight_search_link (search_id :, terms_url :)
  
  flight_search_results (search_id :)
  
  autocomplete_places (термин :, локаль: ноль)
  

Отели API

  hotel_lookup (query :, lang: nil, look_for: nil, limit: 10, convert_case: true)
  
  hotel_prices (user_ip :, check_in:, check_out:, location: nil, location_id: nil, hotel_id: nil, hotel: nil, limit: 10)
  
  hotel_countries ()
  
  hotel_locations ()
  
  hotel_amenities ()
  
  hotels_list (location_id :)
  
  hotel_room_types ()
  
  hotel_types ()
  
  hotel_search_start (city_id: nil, hotel_id: nil, iata: nil, check_in:, check_out:, adult_count:, user_ip :,
  children_count: 0, child_age1: 0, child_age2: 0, child_age3: 0, lang: nil, currency: nil, wait_for_result: 0, timeout: 20)
  
  hotel_search_result (search_id:, limit: 0, offset: 0, sort_by:: популярности, sort_asc: 1, rooms_count: 0)
  

Александр Бильц | Полный список API поиска бесплатных рейсов в 2021 г.

Полный список API поиска бесплатных рейсов в 2021 г.

Вс, 7 марта 2021 г. 4-минутное чтение

В этом блоге я много говорил об автоматическом поиске рейсов с использованием Python для поиска дешевых авиабилетов.В основе моего проекта по взлому путешествий, такого как Hidden City Ticketing, всегда лежит API-интерфейс полета, который нужно запрашивать. В этом посте я рассмотрю доступные в настоящее время API и их ограничения. Я также кратко коснусь API, которые широко рекомендуются в Интернете, но больше не работают.

Один из самых простых способов окунуться в мир автоматического поиска рейсов — использовать API Skyscanner, предоставляемый через RapidAPI. С другой стороны, он поставляется с неограниченными запросами и сеансами запросов и множеством конечных точек.Общий предел скорости ограничен 50 запросами в минуту, что должно быть достаточным количеством запросов для большинства личных проектов. Одним из основных ограничений является то, что ценообразование в реальном времени осуществляется через сеансы, а это означает, что если вы поддерживаете нездоровый трафик (например, очищаете цены, не приводя к бронированиям), вас могут заблокировать. Помимо действующей цены, Skyscanner API также имеет функцию получения кешированных результатов для определенной комбинации даты и времени или маршрута. Это может быть хорошо для популярных маршрутов, таких как Лондон — Нью-Йорк, но может быть менее эффективным для менее востребованных маршрутов.Что мне нравится в Skyscanner, так это то, что они позволяют запрашивать разные регионы, что может помочь вам сэкономить деньги, изменив точку продажи, я напишу об этом больше в будущем.

API, о котором я довольно много говорил ранее, — это Kiwi.com. Kiwi.com — это совершенно уникальный поиск авиабилетов, поскольку они объединяют в себе как полные услуги, так и недорогих перевозчиков в один результат и объединяют их в (виртуальном) билете. Что мне нравится в API Kiwi.com, так это то, что вы можете поиграть, используя предоставленный токен API (разборчивый) и его быстрые и надежные конечные точки.Кроме того, он имеет цены в реальном времени. Один недостаток, который я заметил, заключается в том, что многопользовательский API не особенно умен. Вместо того, чтобы объединять возврат с третьим рейсом, он всегда будет искать три отдельных рейса. Как и в случае с API Skyscanner, вы должны всегда поддерживать работоспособность трафика и запрашивать ключ API после запуска вашего приложения.

Jetradar — еще одна метапоисковая система, аналогичная Skyscanner или Kayak, которая позволяет искать рейсы. Вы можете получить доступ к API через travelpayouts.Со стандартной учетной записью у вас будет доступ к кешированным ценам на рейсы, на которые выполнялся поиск за последние два дня. На собственном опыте я заметил, что здесь можно найти довольно выгодные сделки. Если вы хотите получить доступ к их API поиска в реальном времени, вам нужно будет подать заявку на доступ. Как и в случае с двумя предыдущими, вам нужно будет предоставить жизнеспособную бизнес-модель и показать, что вы обеспечиваете здоровый трафик, а не просто добиваетесь результатов.

Google Авиабилеты — чрезвычайно мощная служба поиска рейсов, которая упрощает покупку авиабилетов через сторонних поставщиков, таких как авиакомпании и OTA.Бесплатная квота составляла 50 запросов в день. Он был отключен 10 апреля 2018 года.

На GitHub я нашел неофициальный API Momondo от программиста по имени 5ms. Этот php-код был в основном оболочкой для бывшего Android API Momondo и был чрезвычайно мощным и широко использовался проектами взлома путешествий. В 2021 году конечные точки больше не работают и возвращают только код 403.

Не обязательно API, но также ответ JSON, полученный от предыдущей версии веб-сайта Expedia.ScrapeHero автоматизировал процесс поиска, предоставив небольшой скрипт Python, который выполняет поиск, загрузку и извлечение результатов. Однако сайт Expedia больше не возвращает данные JSON в заголовке и, следовательно, делает скрипт бесполезным. Если у вас есть законный проект, который обеспечивает хороший трафик, подумайте о том, чтобы стать официальным партнером Expedia. В прошлом я слышал от друзей, что они поддерживают даже стартапы.

Надеюсь, этот пост дал вам хороший обзор состояния доступных здесь бесплатных API поиска авиабилетов.Если вам известен какой-либо другой API, который следует добавить в список, не стесняйтесь обращаться ко мне.

Как организована поддержка крупнейшей системы метапоиска авиабилетов Aviasales | Блог ✅

Катерина Виноходова, соучредитель Usedesk, берет интервью у руководителя службы работы с клиентами Aviasales Нежданой Момотковой. Aviasales использует инструменты поддержки клиентов как Usedesk, так и AppFollow, чтобы отвечать на обзоры приложений и поддерживать своих клиентов. Неждана делится идеями о том, как вырастить первоклассное обслуживание клиентов от аутсорсинга до полноценной команды.

Катерина : Насколько я знаю, у Aviasales раньше не было собственного мобильного приложения поддержки клиентов. Звучит потрясающе — так много пользователей, большая компания — кажется, что для обслуживания сервиса нужен огромный штат. Расскажите, пожалуйста, как это произошло на самом деле и почему вы решили создать службу поддержки клиентов.

Неждана : Нельзя сказать, что у нас вообще не было службы поддержки. Точнее, мы не делали упор на его развитие в связи со спецификой нашего сервиса.Aviasales — это метапоисковая машина. Мы не выпускаем билеты, не обрабатываем платежи, не регистрируемся и не обмениваем билеты при необходимости. Мы просто перенаправляем путешественника на сайт туристического агентства или авиакомпании, чтобы купить там билет. Однако, несмотря на довольно простую схему, пользователи часто задают нам такие вопросы, как: «Можно ли взять на борт декоративную крысу?»; «Нужно ли мне оформлять визу, если я приеду в Лондон транзитом?»; «Я купил билеты, но не получил их. Что я могу сделать?», «Мой рейс был отменен — ​​как мне вернуть деньги?»

За более чем 10 лет работы наша поддержка была направлена ​​на информирование пользователей о том, где и с кем им следует решать проблемы, связанные с полетами.Единственное, в чем мы можем помочь, — это найти билет и перейти на сайт. Остальные вопросы находятся за пределами нашей области. Только в исключительных случаях мы способствовали решению проблем с партнером. Сейчас наша позиция иная. Пользователи доверяют нам, так почему мы должны перенаправлять их в другое место, если мы можем сами решать их проблемы? У нас богатый опыт и мы знаем, как работает наш рынок. Одна из глобальных целей поддержки сейчас — повышение грамотности путешественников, особенно в области авиаперелетов.Кроме того, мы хотим помочь с проблемами, которые могут возникнуть после покупки билета у наших партнеров.

Катерина : Когда вы включили каналы связи и увидели поток запросов, вас удивило количество вопросов?

Неждана : Раньше мы были интегрированы с другим программным обеспечением службы поддержки, которое не могло предоставить нам общее представление. Например, социальные сети были прерогативой только SMM-менеджеров, поэтому служба поддержки не контролировала их круглосуточно.После перехода на Usedesk и настройки необходимых каналов количество обращений нас не удивило. Это было вполне ожидаемо и уже за три месяца увеличилось на 20%. Теперь мы ежедневно получаем сотни запросов в службу поддержки по всем каналам.

Катерина : Ваш SMM — один из самых остроумных на рынке. Придерживаются ли операторы юмористической и забавной манеры при обращении с запросами? Есть ли какие-то особые правила или инструкции по общению с клиентами?

Неждана : Да, у нас есть так называемый «Тон голоса» — набор правил, которым мы строго следуем.Любая социальная сеть заслуживает особого отношения, поэтому то, что работает в Facebook, может не работать в Twitter, и наоборот. Иногда мы переступаем черту — в таких случаях нас сразу же хлопает по рукам наша PR-команда. Но что еще мы можем сделать, если пользователям это нравится?

Катерина : Как вы сейчас отвечаете на запросы клиентов и какие инструменты используете?

Неждана : Мы используем программное обеспечение для управления поддержкой клиентов от Usedesk для взаимодействия с клиентами.Все обзоры мобильных приложений и сообщения с нашего сайта собраны в одном месте. Это экономит время наших сотрудников, просто переходя от одного билета к другому.

Кроме того, главное удобство для нас: прямо из Usedesk мы можем связаться с партнером по любому запросу клиента. Билет клиента будет помечен как «отложен», пока мы не рассмотрим его. Как только мы получим все объяснения от партнера, мы вернемся к клиенту с окончательным решением. Этот инструмент помогает нам отслеживать время разрешения проблем, эффективность агентства и правильность его действий.

Еще одним пионером интеграции стал AppFollow. Это удобный сервис, с которым мы работали раньше, чтобы отслеживать отзывы в магазине приложений. Представьте себе: в других компаниях сотрудникам по-прежнему приходится вручную входить в Google Play или App Store и отвечать на отзывы магазина приложений с настольного веб-сайта. Мы получаем обзоры приложений прямо в Usedesk. Кроме того, мы настроили теги для создания звездных категорий и назначения тегов в зависимости от контекста. Таким образом, на основе отчета мы видим, что конкретно не нравится пользователям и где продукт нуждается в улучшении.

Катерина : Каковы ваши ключевые показатели сейчас для оценки удовлетворенности клиентов и производительности сотрудников?

Неждана : В настоящее время нашими краеугольными метриками являются SLA (требование к качеству обслуживания, которое в нашем случае касается времени отклика) и CSI (рейтинг удовлетворенности). Плюс дополнительный контроль качества на соответствие бизнес-процессам.

Катерина : Каковы основные темы обращений в службу поддержки? Расскажите нам о самых ярких историях и о тех, которые захватили вас.

Неждана : Одним из первых случаев, о котором мне рассказали, когда я приехал в Aviasales, был инцидент на Бали. Заказчик приехал в аэропорт и узнал, что опоздал на рейс. И все же его распечатанные билеты говорили об обратном. Так что реакция заказчика была ожидаемой: возмущение и непонимание того, что делать дальше. Нет денег на покупку нового билета, что усугубляется риском просрочки визы. Заказчик написал нам, и пока мы пытались выяснить причины случившегося, наши коллеги посадили его на самолет в Дубай.Они также забронировали номер в отеле, чтобы клиент мог переждать долгую остановку, а затем отправили его первым удобным рейсом домой. По возвращении покупателя выяснилось, что виноват партнер. Виновные были наказаны, а заказчик остался доволен услугой.

Был еще один случай, когда клиенты активно жаловались на то, что они не могут исключить платную услугу при покупке билета у одного из наших партнеров. Согласно нашим правилам, туристические агентства по умолчанию не должны включать какие-либо дополнительные услуги.Указанная нами цена — это цена, которая должна применяться на этапе покупки. Как выяснилось, агентство не нарушало правил, но объяснение, данное по платной услуге, было настолько сложным, что даже мы не могли понять, на какую кнопку нажать, чтобы отменить услугу. Мы проработали кейс с агентством и сформулировали свои условия формулировки, которые были рассмотрены и реализованы. «Ошибочные» услуги были отменены, а деньги возвращены.

Катерина : Расскажите, пожалуйста, нашим читателям, которые хоть раз использовали Aviasales, как с вами связаться и чем вы можете помочь.

Неждана : На сегодняшний день основными каналами являются электронная почта и социальные сети. В будущем мы представим службу поддержки клиентов в чате и мессенджеры для более быстрого реагирования.

Агентство, в котором вы купили билет, в любом случае должно вам помочь. Но если по какой-то причине это не удалось, смело спрашивайте Aviasales.

Ищете программное обеспечение для поддержки клиентов, чтобы отслеживать проблемы и потребности ваших клиентов? Попробуйте интеграцию AppFollow с Usedesk или другим инструментом службы поддержки клиентов.Мы поддерживаем Zendesk, Helpshift, Help Scout, Freshdesk, Desk.com, Intercom и другие.

Первоначально опубликовано в блоге Usedesk.

Пример использования

PR | Как Aviasales использует Prezly для унификации рабочего процесса

То, что мы имеем с Prezly, действительно отличается. Мы до сих пор получаем отзывы от СМИ: «О, мне нравятся ваши пресс-релизы. Они такие многозначительные, красочные, но в то же время удобные ». Это то, что мы всегда слышим от журналистов.

Какую самую большую проблему вам помог решить Prezly?

«Я бы сказал, что все дело в унификации.У нас есть несколько членов команды, работающих на разных рынках с разными продуктами, и бесценно иметь единую платформу для всех ».

Aviasales — крупнейшая система метапоиска путешествий в России, помогающая опытным путешественникам найти лучшие авиабилеты или отели для их бюджет с 2007 года. Бизнес работает на девяти основных рынках, в основном в России, СНГ, Восточной Европе и Африке, продолжая выстраивать отношения со СМИ США и Великобритании. Как вы можете себе представить, глобальный масштаб деятельности Aviasales оставляет мало места для недопонимание.

Перед тем, как внедрить Prezly в 2016 году, Aviasales полагалась на Google Docs и MailChimp для работы с PR. Хотя они заставили это работать, команда поняла, что должен быть лучший способ.

«То, что у нас есть с Prezly, действительно отличается от того, как мы работали с Google Таблицами и так далее».

Это Янис Дзенис, PR-директор Aviasales.

«Мне нравится, что Prezly позволяет нам унифицировать наш PR-процесс. Мы до сих пор получаем отзывы от СМИ:« О, мне нравятся ваши пресс-релизы.Они такие многозначительные, красочные, но в то же время удобные ». Это то, что мы всегда слышим от журналистов ».

Программное обеспечение для связи с общественностью для авиакомпаний

От фирменных новостных отделов до коммуникаций, готовых к кризисным ситуациям, Prezly поднимает ваш PR на новый уровень

Все в одном месте

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

«Имея команду из пяти человек, чрезвычайно ценно, что у нас есть универсальный магазин для всех этих задач, потому что в нашей отрасли, особенно на развивающихся рынках, таких как Россия и СНГ, люди по-прежнему используют Документы Google для продвижения своих историй. Люди до сих пор используют такие инструменты, как электронные таблицы, для ведения своей базы данных о средствах массовой информации, что ужасно. Я действительно рад, что у нас есть этот инструмент 21 века, особенно если сравнивать с тем, что используют другие люди ».

Я очень рад, что у нас есть этот инструмент 21 века, особенно по сравнению с тем, что используют другие люди.

Янис прав на 100% — в 2020 году никто не должен мучить себя, используя электронные таблицы для управления контактами. Так почему же почти все это делают?

Как и многие другие вещи в жизни, эта проблема сводится к простому недоразумению: база данных и таблица, которую вы видите, когда открываете Excel, — это одно и то же.

Это не одно и то же.

База данных — это набор функций и правил, которые определяют отношения между различными элементами данных.

Проблема в том, что когда вы смотрите на вывод базы данных, он выглядит как простая таблица. Итак, люди предполагают, что они могут достичь той же ценности, что и реляционная база данных, открыв новый файл, вставив некоторые имена столбцов — имя, адрес электронной почты, номер телефона — и привет! рабочий менеджер контактов. Но это не так. Это все равно, что сфотографировать Maserati, распечатать его в натуральную величину, а затем попытаться запрыгнуть на снимок и задуматься, почему эта чертова штука не запускается.

Загрузите бесплатный пакет питчей.

Узнайте, из чего состоят наиболее эффективные питчи, на основе 15 976 113 писем.

Таблицы не являются законченным продуктом; это инструмент, предназначенный для сборки продукта. Более того, электронная таблица не будет интегрироваться с вашей электронной почтой, социальными сетями, системой отслеживания освещения или чем-либо еще, даже косвенно связанным с профессией PR, если вы не встроите ее в программное обеспечение (люди, которые это делают, называются администраторы баз данных, работают полный рабочий день и получают более 50 000 евро в год).

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

Вот почему существуют такие сервисы, как Prezly. Мы потратили последние десять лет, и у нас есть штат из 17 человек, работающих на полную ставку, которые занимаются созданием системы, которая объединяет вашу базу данных контактов, почтовый клиент, аналитику, издателя службы новостей, средство отслеживания охвата и многое другое в одном простом инструменте.

Давайте узнаем, как эта комбинированная интеграция помогает Янису развивать отношения со своими контактами.

Правильное отслеживание

«Мне очень нравится, что Prezly ведет отмеченный перечень кампаний. Без надлежащего отслеживания вы даже не знаете, что происходит. Вы отправляете сообщение и не знаете, откроет ли кто-то ваше письмо или что происходит с другой стороны », — говорит Янис.

«Благодаря статистике Prezly у нас есть действительно четкое представление о том, открывает ли человек наше электронное письмо или игнорирует его, и мы используем эту информацию для улучшения ситуации, если эта обратная связь не соответствует нашим ожиданиям.«

Янис не может быть больше на деньгах. В конце концов, какой смысл использовать современные технологии для коммуникации, если вы не можете получить эти идеи? Любой инструмент кампании, который вы используете, должен отражать, как ваши контакты взаимодействуют с вашими

Результаты глобального опроса по связям с общественностью, 2020 г.

В этом году исследование было сосредоточено на теме управления контактами, с использованием опыта 412 специалистов по связям с общественностью со всего мира и выявления их самых больших проблем. и обнаружив, что большинство PR могут экономить часы каждую неделю, внося одно простое изменение.

Тем не менее, хотя это помогает увидеть, что кто-то открыл ваше электронное письмо и не ответил, это может оставить вас в неведении относительно того, что пошло не так.

Итак, Янис придумал нечто иное.

«В самой последней части электронного письма я включу своего рода предупреждение, например:« Пожалуйста, даже если это категорическое «нет» нашей истории, нашей презентации, пожалуйста, дайте нам обратную связь. Если бы мы могли сделай лучше, если бы мы могли быть более полезны для тебя, скажи нам. Таким образом, даже если журналист не улавливает сюжет, у нас все еще есть эта заинтересованность и представление о том, как подойти к ним в будущем ».

Повышение эффективности

«Таким образом, со всем этим — со статистикой, с этим красивым внешним видом — мы можем работать лучше.«Мы работаем лучше», — говорит Янис. «Когда мы говорим об удобстве использования как для специалистов по связям с общественностью, так и для СМИ, Prezly намного лучше, чем то, что мы испытали ранее».

Но Янис не идет на все новомодные советы по коммуникациям. — например, даже работая над глобальной кампанией для целого ряда различных аудиторий, он не верит в необходимость тратить часы на поиск нового ракурса для каждой географической области. Вы не будете одиноки, задаваясь вопросом, почему.

Хотите узнать его secret?

«Потому что есть какая-то универсальная кнопка, которая каждый раз работает одинаково», — заговорщицки говорит Янис.«Это не ерунда, ясный текст и хороший рассказ».


Прочтите следующий пример, чтобы узнать …
ПРИМЕР

Как один из ведущих европейских издателей MMO заставляет людей говорить через 10 лет после запуска

Хотите попробовать Prezly на себе? Получите дружелюбную демонстрацию 1–1 🙂

Дешевые авиабилеты — данные и доходы Aviasales App Store, скачать оценки в App Store

Поиск дешевых авиабилетов — Анализируем авиабилеты — сравниваем цены и варианты пересадки, находим самые дешевые авиабилеты и наиболее удобные варианты перелетов (прямые или с удобной пересадкой).- Поиск авиабилетов не занимает много времени — мы фильтруем и сортируем все варианты за вас. И вы можете купить дешевые авиабилеты. Как вам идея? — Вы можете подписаться на уведомления о самом дешевом авиабилете, наиболее удобном или самом прямом рейсе (да, это тоже возможно). Таким образом вы сможете отслеживать изменения стоимости авиабилетов. Как только цена изменится, мы отправим вам уведомление. — Но это еще не все подписки! Вы также можете подписаться на поиск авиабилетов из своего города и ловить дешевые билеты на самолет, который летит в самом неожиданном направлении.Какой сюрприз! — У нас также есть «Ценник» — он поможет вам купить дешевый билет, если вы не привязаны к дате вылета. — И «Карта цен» — на случай, если вы еще не определились с местом назначения. На карте показаны как внутренние, так и международные рейсы. — Мы сохраняем паспортные данные пассажиров, чтобы в следующий раз бронирование рейса не заняло много времени. — С нами так удобно планировать поездки на выходные, лететь в субботу утром и возвращаться в воскресенье вечером. — А может быть, вы захотите осмотреться во время пересадки — мы подскажем, какой вариант наиболее удобен, если вы хотите увидеть во время поездки другой город (к тому же этот тип авиабилетов дешевле).- Наши разработчики сделали фильтры приложений на все случаи жизни, в том числе для билетов с багажом и фильтрацию для моделей самолетов. — Если вы не хотите искать рейсы на точные даты, вы можете выбрать один или несколько месяцев, и мы найдем билеты на самолет в заданном диапазоне. Кстати, это не только поиск авиабилетов. Мы также можем искать: — Размещение с рекомендациями по интересам: деловая поездка, семья, романтика, хорошее для инстаграмма и т. Д. — Экскурсии с гидом и самостоятельные экскурсии.- Машины и трансферы из аэропорта в отель. И куда бы вы ни пошли Загрузите приложение Aviasales, чтобы начать путешествовать и покупать билеты. *** Приложение от aviasales.com позволяет найти максимально низкую стоимость авиабилета. Мы ничего не продаем, мы помогаем найти авиабилеты онлайн на лучших условиях.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *