Ниже представлен список API методов доступных в проекте.

avia/reference

Список доступных справочников с возможностью поиска по названию.


Запрос

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

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

Параметр Тип Описание
lang string Код языка, на котором вернуть результаты
search string Название аэропорта, по которому осуществить поиск

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://api-multicodes.iterios.com/v1/avia/reference?lang=ru&search=iev

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

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

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

Параметр Тип Описание
items array Массив с найденными результатами

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

Пример выполнения запроса с использованием библиотеки GuzzleHttp:

use GuzzleHttp\Exception\RequestException;

$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api-multicodes.iterios.com/v1/'
]);

try {
    $response = $client->request('GET', 'avia/reference', [
        'headers' => [
            'X-Iterios-Client-Key' => 'some_key_value'
        ],
        'query' => [
            'lang' => 'ru',
            'search' => 'iev'
        ]
    ]);
} catch (RequestException $e) {
    // Process exception data
    ...
}

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

{
  "status": "success",
  "data": {
    "items": [
      {
        "source_id": 8,
        "language": "en",
        "type": "city",
        "code": "IEV",
        "title": "Kiev",
        "city": null,
        "country": {
          "code": "UA",
          "title": "Ukraine"
        },
        "coordinates": null
      },
      {
        "source_id": 11,
        "language": "en",
        "type": "apt",
        "code": "KBP",
        "title": "Borispol",
        "city": {
          "code": "IEV",
          "title": "Kyiv"
        },
        "country": {
          "code": "UA",
          "title": "Ukraine"
        },
        "coordinates": null
      },
      {
        "source_id": 10,
        "language": "en",
        "type": "apt",
        "code": "IEV",
        "title": "Zhulany",
        "city": {
          "code": "IEV",
          "title": "Kyiv"
        },
        "country": {
          "code": "UA",
          "title": "Ukraine"
        },
        "coordinates": null
      }
    ]
  }
}

avia/detail

Детальная информация по поставщикам, сопоставленным с базовым справочником ITERIOS.


Запрос

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

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

Параметр Тип Описание
lang string Код языка, на котором вернуть результаты
source_id string|array Список идентификаторов справочников, полученных из метода avia/reference, по которым нужно вернуть данные поставщиков.
Список передается либо строкой, где ID разделены запятой, например, ...&source_id=8,10 или используется массив с идентификаторами, например ...&source_id[]=8&source_id[]=10

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://api-multicodes.iterios.com/v1/avia/detail?lang=ru&source_id=8,10

Ответы

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

Примеры

Пример выполнения запроса с использованием библиотеки GuzzleHttp:

use GuzzleHttp\Exception\RequestException;

$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api-multicodes.iterios.com/v1/'
]);

try {
    $response = $client->request('GET', 'avia/detail', [
        'headers' => [
            'X-Iterios-Client-Key' => 'some_key_value'
        ],
        'query' => [
            'lang' => 'ru',
            'source_id' => '8,10'
        ]
    ]);
} catch (RequestException $e) {
    // Process exception data
    ...
}

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

{
    "status": "success",
    "data": {
        "adapters": {
            "3": {
                "id": 3,
                "code": "argest",
                "title": "Argest"
            },
            "2": {
                "id": 2,
                "code": "iati",
                "title": "IATI"
            }
        },
        "items": {
            "8": {
                "source_id": 8,
                "language": "en",
                "type": "city",
                "code": "IEV",
                "title": "Kiev",
                "city": null,
                "country": {
                    "code": "UA",
                    "title": "Ukraine"
                },
                "coordinates": null,
                "adapters": [
                    {
                        "adapter_id": 3,
                        "data": {
                            "idx": "30005040",
                            "name": "КИЕВ, Украина"
                        }
                    }
                ]
            },
            "10": {
                "source_id": 10,
                "language": "en",
                "type": "apt",
                "code": "IEV",
                "title": "Zhulany",
                "city": {
                    "code": "IEV",
                    "title": "Kyiv"
                },
                "country": {
                    "code": "UA",
                    "title": "Ukraine"
                },
                "coordinates": null,
                "adapters": [
                    {
                        "adapter_id": 3,
                        "data": {
                            "idx": "30005039",
                            "name": "КИЕВ - ЖУЛЯНЫ, Украина"
                        }
                    },
                    {
                        "adapter_id": 2,
                        "data": {
                            "code": "IEV",
                            "name": "Zhulhany Arpt",
                            "cityCode": "IEV",
                            "cityName": "Kiev",
                            "countryName": "UKRAINE",
                            "countryCode": "UA",
                            "timezone": 2,
                            "lat": 50.401694,
                            "lon": 30.449697,
                            "numAirports": 0,
                            "city": true
                        }
                    }
                ]
            }
        }
    }
}

avia/compared

Используется для единообразного отображения названий и пр. перед выдачей в клиентское приложение. Также передает в Multicodes не сопоставленные id.


Запрос

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

Внимание! Это защищенный метод и работат только в связке сервер-сервер, нельзя использовать его для клиентских приложений.
Для вызова этого метода необходимо передавать ключ X-Iterios-Api-Secret который выдается под конкретный X-Iterios-Api-Key.

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

Параметр Тип Описание
lang string Код языка, на котором вернуть результаты

Нужно передавать JSON параметры в теле запроса:

Параметр Тип Описание
adapter_id int Идентфикатор поставщика услуг, полученный из метода avia/reference/td>
lang_code string Код языка, в котором передаются данные
iata_code string IATA код передаваемого объекта
external_id int Внутренний идентификатор у поставщика услуг для передаваемого объекта
title string Название объекта

Пример:

{
  "adapter_id": 3,
  "lang_code": "ru",
  "iata_code": "AMS",
  "external_id": null,
  "title": "АМСТЕРДАМ - СХИПХОЛ, Нидерланды"
}

Пример:

curl -i -X POST \
   -H "Content-Type:application/json" \
   -H "X-Iterios-Api-Key:api_key_value" \
   -H "X-Iterios-Api-Secret:secret_key_value" \
   -d '{"adapter_id": 3, "lang_code": "ru", "iata_code": "AMS", "external_id": null, "title": "АМСТЕРДАМ - СХИПХОЛ, Нидерланды"}' \
 'https://api-multicodes.iterios.com/v1/avia/compared/ru'

Ответы

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

Примеры

Пример выполнения запроса с использованием библиотеки GuzzleHttp:

use GuzzleHttp\Exception\RequestException;

$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api-multicodes.iterios.com/v1/'
]);

try {
    $response = $client->request('GET', 'avia/compared', [
        'headers' => [
            'X-Iterios-Client-Key' => 'some_key_value'
        ],
        'query' => [
            'lang' => 'ru'
        ],
        'json' => [
            'adapter_id' => 3,
            'lang_code' => 'ru',
            'iata_code' => 'AMS',
            'external_id' => null,
            'title' => 'АМСТЕРДАМ - СХИПХОЛ, Нидерланды'
        ]
    ]);
} catch (RequestException $e) {
    // Process exception data
    ...
}

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

{
    "status": "success",
    "data": {
        "language": "ru",
        "request": {
            "lang_code": "ru",
            "iata_code": "AMS",
            "external_id": null,
            "title": "АМСТЕРДАМ - СХИПХОЛ, Нидерланды",
            "adapter": {
                "id": 3,
                "code": "argest",
                "title": "Argest"
            }
        },
        "compared": {
            "source_id": null,
            "language": "en",
            "type": null,
            "code": null,
            "title": null,
            "city": null,
            "country": null,
            "coordinates": null
        }
    }
}