Описание

MetaSearch Avia API. API методы, доступные в проекте.

avia/search

Запрос на поиск перелетов по заданным параметрам.


Запрос

Метод передачи: POST Все данные отправляются в теле запроса в виде POST массива (формы).

Все идентификаторы берутся из проекта MultiCodes

Параметр Тип Описание
departurerequired int ID аэропорта (города) вылета, из справочника MultiCodes
is_departure_city int Флаг, что указан как город вылета, а не аэропорт
arrivalrequired int ID аэропорта (города) прилета, из справочника MultiCodes
is_arrival_city int Флаг, что указан как город прилета, а не аэропорт
from_daterequired date Дата вылета, в формате YYYY-MM-DD
return_date date Дата обратного вылета, в формате YYYY-MM-DD
adultrequired string Кол-во взрослых
child string Кол-во детей
infant string Количество инфантов
currencyrequired string ISO_4217 код валюты
seat_type string Класс перелета, возможные варианты: ECONOMY, BUSINESS
language array ISO_639-1 код языка для результатов, по умолчанию "en"

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://avia-metasearch.iterios.com/v1/avia/search

Результаты ответа

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

Описание возвращаемых данных

Параметр Тип Описание
search_id int Идентификатор запроса на поиск. Используется для получения состояния поиска и вывода результатов.

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

{
  "status": "success",
  "data": {
    … // атрибуты ответа
  }
}

avia/status

Отображает текущее состояние поиска по запросу. Обязательно необходимо передать $search_id.


Запрос

Метод передачи: GET

Принимает параметры в $_GET запросе:

Параметр Тип Описание
search_idrequired int ID запроса на поиск, который был получен при использовании метода avia/search

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://avia-metasearch.iterios.com/v1/avia/status

Ответы

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

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

{
    "status": "success",
    "data": {
        "status": "process",
        "total_price_count": 54,
        "adapter": [
            {
                "status": "completed",
                "code": "iati",
                "name": "IATI",
                "total_price_count": 30
            },
            {
                "status": "process",
                "code": "argest",
                "name": "Argest",
                "total_price_count": 24
            }
        ]
    }
}

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

Код Описание
status Текущий статус поиска: queue, process, completed, error
total_price_count Общее количество найденных предложений
adapter[] Массив со статусами по каждому поставщику

Атрибуты ответа для массива adapter (статус по каждому поставщику):

Код Описание
code Код поставщика
name Название поставщика
total_price_count Общее количество найденных предложений
status Текущий статус поиска:
  • queue - в очереди, ожидает обработки
  • process - выполняется поиск
  • completed - поиск завершен
  • empty - нет результатов
  • error - ошибка (недоступен, внутренняя ошибка и т.д.)
Errors:
Код ошибки HTTP Code Описание
401 401 Не авторизованный запрос
100 400 search_id не передан
101 404 По $search_id нет запроса

avia/get-result

Порционная выдача результатов поиска. Обязательно должен передаваться $search_id (идентификатор запроса на поиск), по которому возвращаются результаты поиска.


Запрос

Метод передачи: GET

Параметр Тип Описание
search_idrequired int ID запроса на поиск, который был получен при использовании метода avia/search

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

{
  "status": "success",
  "data": [
    {...}  // один из результатов
  ]
}

Описание параметров результата:

Параметр Описание
adapter Код поставщика, по которому предоставлен результат
price_id Идентификатор предложения из системы поставщика
duration Общее время полета, в формате “HH:MM”
is_return Флаг обратного полета
hops[] Массив с составляющими маршрута
fares[] Массив с информацией по тарифам для предложения

Описание атрибутов для объекта из массива hops (составляющие маршрута):

Параметр Описание
flightNo Номер рейса
aircraft Название судна (самолета)
airline{} Информация о авиакомпании
airline.compared_id ID из справочника MultiCodes
airline.code IATA код авиакомпании
airline.name Название компании из справочника MultiCodes
airline.orig_name Оригинальное название поставщика из результатов поставщика
departure{} Объект с данными аэропорта отправления
departure.compared_id Идентификатор из справочника MultiCodes
departure.code IATA код аэропорта отправления
departure.airport_name Название аэропорта из справочника MultiCodes
departure.city_name Название города, связанного с аэропортом, из справочника MultiCodes
departure.country_name Название страны, для города отправления, из справочника MultiCodes
departure.orig_name Оригинальное название аэропорта + город + страна, полученное от поставщика
departure.time Дата и время отправления в формате: “2016-03-21T10:00:00.000+0200”
arrival{} Объект с данными аэропорта прибытия
arrival.compared_id Идентификатор из справочника multicodes
arrival.code IATA код аэропорта прибытия
arrival.airport_name Название аэропорта из справочника MultiCodes
arrival.city_name Название города, связанного с аэропортом, из справочника MultiCodes
arrival.country_name Название страны, для города отправления, из справочника MultiCodes
arrival.orig_name Оригинальное название аэропорта + город + страна, полученное от поставщика
arrival.time Дата и время прибытия в формате: “2016-03-21T10:00:00.000+0200”

Описание атрибутов для объекта из массива fares (тарифы):

Параметр Описание
currency Валюта цены в ISO. Например, USD
type Класс цены. Варианты: ECONOM, BUSINESS
free_seat Количество свободных мест
total_price Конечная цена для бронирования
detail{} Расшифровка цены
detail.price Цена
detail.fee Сервисный сбор
detail.tax Налог

Errors

Код HTTP Code Описание
200 200 Успешное выполнение. Содержимое файла возвращается в ответ
401 401 Не авторизованный запрос
100 400 $search_id не передан
101 404 $search_id не найден в БД, такого запроса не существует
Пример ответа:

{
    "status": "succes",
    "data": [
        {
            "adapter": "iati",
            "price_id": "price ID from adapter",
            "duration": "5:40",
            "is_return": false,
            "hops": [
                {
                    "flightNo": "KL3097",
                    "aircraft": "DH4",
                    "airline": {
                        "compared_id": "MC reference ID",
                        "code": "BT",
                        "name": "Air Baltic",
                        "orig_name":"Air Baltic" 
                    },
                    "departure": {
                        "compared_id": "MC reference ID",
                        "code": "KBP",
                        "airport_name": "Борисполь",
                        "city_name": "Киев",
                        "country_name": "Украина",
                        "orig_name": "Borispol Arpt",
                        "time": "2016-03-21T10:00:00.000+0200"
                    },
                    "arrival": {
                        "compared_id": "MC reference ID",
                        "code": "RIX",
                        "airport_name": "Рига аэропорт",
                        "city_name": "Рига",
                        "country_name": "Чехия",
                        "orig_name": "Riga Arpt",
                        "time": "2016-03-21T11:45:00.000+0200"
                    }
                },
                {
                    "flightNo": "BT681",
                    "aircraft": "737",
                    "airline": {
                        "compared_id": "MC reference ID",
                        "code": "BT",
                        "name": "Air Baltic",
                        "orig_name":"Air Baltic" 
                    },
                    "departure": {
                        "compared_id": "MC reference ID",
                        "code": "RIX",
                        "airport_name": "Рига аэропорт",
                        "city_name": "Рига",
                        "country_name": "Чехия",
                        "orig_name": "Riga Arpt",
                        "time": "2016-03-21T14:00:00.000+0200"
                    },
                    "arrival": {
                        "compared_id": "MC reference ID",
                        "code": "BCN",
                        "airport_name": "Эль-Прат",
                        "city_name": "Барселона",
                        "country_name": "Испания",
                        "orig_name": "Barcelona Arpt",
                        "time": "2016-03-21T16:45:00.000+0200"
                    }
                }
            ],
            "fares": [
                {
                    "currency": "USD",
                    "type": "ECONOMY",
                    "free_seat": 9,
                    "total_price": 385.27,
                    "detail": {
                        "price": 219.88,
                        "fee": 1.37,
                        "tax": 164.01
                    }
                }
            ]
        }
    ]
}