# Аэронавигационные карты

PDF-схемы аэродромов для 91 страны — источники, категории GEN, GND, SID, STAR и APP с автоматическим выбором источника.



Получайте ссылки на PDF-файлы аэронавигационных карт (схем аэродромов), разбитые по категориям (GEN, GND, SID, STAR, APP), для аэропортов 91 страны. Нужный национальный источник карт выбирается автоматически по префиксу ICAO - в большинстве интеграций переопределять `source` не требуется. Время ответа зависит от страны: одни отвечают менее чем за секунду, другим может требоваться 5–15 секунд.

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

| Эндпоинт                             | Когда использовать                                                          |
| ------------------------------------ | --------------------------------------------------------------------------- |
| `GET /charts/sources`                | Узнать поддерживаемые регионы карт и префиксы ICAO — [ниже](#chart-sources) |
| `GET /charts/{icao_code}`            | Полный индекс карт по категориям — [ниже](#fetch-charts)                    |
| `GET /charts/{icao_code}/{category}` | Одна категория — [по категории](#by-category)                               |

**Выбор эндпоинта.** Вызовите `GET /charts/sources` один раз при запуске, чтобы проверить покрытие. Используйте [Получение карт](#fetch-charts) для полного индекса для брифинга. Используйте [Карты по категории](#by-category), когда нужен только один тип схем (например, `APP` для панелей захода на посадку).

Категория без опубликованных карт возвращает пустой массив, а не 404; полностью неизвестный аэропорт возвращает `404`.

### Категории карт [#chart-categories]

| Код    | Содержимое                                                                                                                                                                                                            |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GEN`  | Схема аэропорта и общая информация                                                                                                                                                                                    |
| `GND`  | Карты наземного движения и руления                                                                                                                                                                                    |
| `SID`  | [Стандартные маршруты вылета по приборам](https://en.wikipedia.org/wiki/Standard_instrument_departure)                                                                                                                |
| `STAR` | [Стандартные маршруты прибытия](https://en.wikipedia.org/wiki/Standard_terminal_arrival_route)                                                                                                                        |
| `APP`  | Схемы захода на посадку - [ILS](https://en.wikipedia.org/wiki/Instrument_landing_system), [RNAV](https://en.wikipedia.org/wiki/Area_navigation), [VOR](https://en.wikipedia.org/wiki/VHF_omnidirectional_range) и др. |

<a id="chart-sources" />

## Источники карт [#chart-sources]

Возвращает все поддерживаемые источники данных карт и префиксы ICAO, которые охватывает каждый из них. Вызовите один раз при запуске, чтобы заполнить список выбора источника или проверить покрытие перед получением карт.

### Запрос [#request]

<DocApiPath method="GET" path="/charts/sources" />

Query-параметров нет.

### Ответ [#response]

```json
{
  "sources": [
    {
      "source_id": "uk",
      "name": "United Kingdom",
      "icao_prefixes": ["EG"]
    }
  ],
  "total_count": 91
}
```

| Поле          | Тип     | Обязательный | Описание                                   |
| ------------- | ------- | ------------ | ------------------------------------------ |
| `sources`     | array   | **Да**       | Поддерживаемые национальные источники карт |
| `total_count` | integer | **Да**       | Количество возвращённых источников         |

#### Элемент источника (`sources[]`) [#source-item-sources]

| Поле            | Тип    | Обязательный | Описание                                                                                  |
| --------------- | ------ | ------------ | ----------------------------------------------------------------------------------------- |
| `source_id`     | string | **Да**       | Слаг источника, передаваемый в необязательный query-параметр `source` для переопределения |
| `name`          | string | **Да**       | Удобочитаемое название источника                                                          |
| `icao_prefixes` | array  | **Да**       | Префиксы местоположения ICAO, обслуживаемые этим источником                               |

### Покрытие [#coverage]

Карты доступны для аэропортов в **91 стране и территории**. Нужный источник карт выбирается автоматически по префиксу ICAO аэропорта.

<DocDetails title="Полный список покрытия по регионам">
  | Регион                                                                   | Страны / территории                                                                                                                                                              |
  | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | **Африка**                                                               | Алжир, Кабо-Верде, Джибути, Марокко, Сомали, ЮАР, Южный Судан                                                                                                                    |
  | **Африка (Западная и Центральная - [ASECNA](https://www.asecna.aero/))** | Бенин, Буркина-Фасо, Камерун, Центральноафриканская Республика, Чад, Коморы, Конго, Кот-д’Ивуар, Габон, Гвинея, Гвинея-Бисау, Мадагаскар, Мали, Мавритания, Нигер, Сенегал, Того |
  | **Америка - Северная**                                                   | Канада, США                                                                                                                                                                      |
  | **Америка - Центральная**                                                | Белиз, Коста-Рика, Сальвадор, Гватемала, Гондурас, Никарагуа, Панама                                                                                                             |
  | **Америка - Карибский бассейн**                                          | Аруба, Каймановы острова, Куба, Доминиканская Республика, Гаити                                                                                                                  |
  | **Америка - Южная**                                                      | Аргентина, Бразилия, Чили, Колумбия, Уругвай, Венесуэла                                                                                                                          |
  | **Азия - Восточная**                                                     | Китай, Гонконг, Япония, Монголия, Южная Корея, Тайвань                                                                                                                           |
  | **Азия - Южная**                                                         | Бангладеш, Бутан, Индия, Мальдивы, Непал, Пакистан, Шри-Ланка                                                                                                                    |
  | **Азия - Юго-Восточная**                                                 | Бруней, Малайзия, Мьянма, Сингапур, Таиланд                                                                                                                                      |
  | **Азия - Центральная**                                                   | Казахстан, Киргизия, Таджикистан, Туркменистан, Узбекистан                                                                                                                       |
  | **Ближний Восток**                                                       | Бахрейн, Израиль, Кувейт, Оман, Катар, Саудовская Аравия, ОАЭ                                                                                                                    |
  | **Европа - Западная**                                                    | Австрия, Бельгия, Франция, Германия, Исландия, Ирландия, Люксембург, Нидерланды, Норвегия, Португалия, Испания, Швеция, Великобритания                                           |
  | **Европа - Северная**                                                    | Дания, Эстония, Финляндия, Латвия, Литва                                                                                                                                         |
  | **Европа - Восточная**                                                   | Беларусь, Чехия, Венгрия, Польша, Румыния, Россия, Словакия, Украина                                                                                                             |
  | **Европа - Южная**                                                       | Кипр, Грузия, Греция, Мальта, Словения                                                                                                                                           |
  | **Европа - Балканы**                                                     | Албания, Босния и Герцеговина, Косово, Северная Македония, Сербия                                                                                                                |
  | **Океания**                                                              | Австралия, Новая Зеландия                                                                                                                                                        |
</DocDetails>

Для сопоставления префиксов ICAO со странами используйте поле `icao_prefixes` каждого элемента источника.

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/charts/sources&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />

<a id="fetch-charts" />

## Получение карт для аэродрома [#fetch-charts-for-an-aerodrome]

Получает все ссылки на PDF-файлы карт, разбитые по категориям, для заданного кода ICAO. К трёхбуквенным кодам США автоматически добавляется префикс `K` (например, `JFK` → `KJFK`).

### Запрос [#request-1]

<DocApiPath method="GET" path="/charts/{icao_code}" />

| Параметр    | Тип    | Обязательный | По умолчанию | Описание                                                                                  |
| ----------- | ------ | ------------ | ------------ | ----------------------------------------------------------------------------------------- |
| `icao_code` | string | Да           | -            | Код аэропорта ICAO (3–4 символа)                                                          |
| `source`    | string | Нет          | авто         | Переопределение автоматически выбранного источника карт (например, `faa`, `france`, `uk`) |

Для стран с более медленным хостингом карт закладывайте увеличенные таймауты чтения (30–60 с).

### Ответ [#response-1]

```json
{
  "icao_code": "KJFK",
  "source": "faa",
  "charts": {
    "GND": [
      {
        "name": "KJFK - Airport Diagram",
        "url": "https://...",
        "category": "GND"
      }
    ],
    "SID": [
      {
        "name": "KENNEDY TWO",
        "url": "https://...",
        "category": "SID"
      }
    ]
  },
  "total_count": 42,
  "fetched_at": "2026-02-11T12:00:00Z"
}
```

| Поле          | Тип     | Обязательный | Может быть null? | Описание                                                                  |
| ------------- | ------- | ------------ | ---------------- | ------------------------------------------------------------------------- |
| `icao_code`   | string  | **Да**       | Никогда          | Итоговый код ICAO                                                         |
| `source`      | string  | **Да**       | Никогда          | Поставщик карт, использованный для этого запроса                          |
| `charts`      | object  | Нет          | **Да**           | Карты, сгруппированные по категориям (`GEN`, `GND`, `SID`, `STAR`, `APP`) |
| `total_count` | integer | **Да**       | Никогда          | Общее количество карт во всех категориях                                  |
| `fetched_at`  | string  | Нет          | **Да**           | Метка времени ISO-8601 получения карт                                     |

<a id="chart-item" />

### Элемент карты (`charts[category][]`) [#chart-item-chartscategory]

| Поле       | Тип    | Обязательный | Описание                                                                                      |
| ---------- | ------ | ------------ | --------------------------------------------------------------------------------------------- |
| `name`     | string | **Да**       | Название карты в том виде, в каком его публикует источник                                     |
| `url`      | string | **Да**       | Прямой URL PDF-файла карты                                                                    |
| `category` | string | **Да**       | Одно из значений `GEN`, `GND`, `SID`, `STAR`, `APP` - см. [категории карт](#chart-categories) |

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/charts/{icao_code}&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />

<a id="by-category" />

## Карты по категории [#charts-by-category]

Получает для заданного аэропорта карты, отфильтрованные по одной категории (`GEN`, `GND`, `SID`, `STAR` или `APP`). Структура ответа совпадает с эндпоинтом всех карт выше, но `charts` содержит только ключ запрошенной категории.

### Запрос [#request-2]

<DocApiPath method="GET" path="/charts/{icao_code}/{category}" />

| Параметр    | Тип    | Обязательный | По умолчанию | Описание                                                |
| ----------- | ------ | ------------ | ------------ | ------------------------------------------------------- |
| `icao_code` | string | Да           | -            | Код аэропорта ICAO (3–4 символа)                        |
| `category`  | string | Да           | -            | Категория карт: `GEN`, `GND`, `SID`, `STAR` или `APP`   |
| `source`    | string | Нет          | авто         | Переопределение автоматически выбранного источника карт |

### Ответ [#response-2]

Та же форма, что и у ответа со всеми картами, но `charts` ограничен запрошенной категорией. Пустой массив категории — это обычный успешный ответ. Элементы карт описываются той же таблицей полей [элемента карты](#chart-item).

**Важно:** отсутствующая категория → пустой массив в ответе `200`. Неизвестный аэропорт → `404`. Для стран с более медленным хостингом карт закладывайте увеличенные таймауты чтения (30–60 с).

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/charts/{icao_code}/{category}&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />

## Клиентские типы [#client-types]

<DocClientTypes id="v31/charts/charts-types" />

## Интеграция [#integration]

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

Пример ниже кэширует ответы с картами на 24 часа, поскольку публикации карт меняются нечасто. Таймауты чтения увеличены до 45 с, так как некоторые страны отвечают медленно. Вспомогательная функция возвращает плоский список `ChartLink` и трактует `404` как «нет доступных карт», а не как критическую ошибку.

<DocExample id="v31/charts/charts-fetch" />

### Примечания по реализации [#implementation-notes]

**Префикс для кодов США.** Передавайте `JFK` или `KJFK` - для аэропортов США оба варианта преобразуются в `KJFK`.

**Фильтрация по категориям.** Используйте [Карты по категории](#by-category) с `APP`, когда вам нужны только схемы захода на посадку; так вы не загружаете метаданные SID/STAR, которые не будете отображать.

**Доставка PDF.** Значения `url` карт указывают на размещённые PDF-файлы. Открывайте их в новой вкладке или проксируйте через свой сервер, если вам нужно единообразное поведение CORS.

**Пустой массив или 404.** Отсутствующая категория → пустой массив в ответе `200`. Неизвестный аэропорт → `404`.

## Ответы с ошибками [#error-responses]

Общие ошибки платформы: [Обработка ошибок](/docs/errors). Ошибки, специфичные для эндпоинта:

### 422 - недопустимая категория или длина ICAO [#422---invalid-category-or-icao-length]

```json
{
  "detail": [
    {
      "type": "enum",
      "loc": ["path", "category"],
      "msg": "Input should be 'GEN', 'GND', 'SID', 'STAR' or 'APP'"
    }
  ]
}
```

### 404 - нет карт для аэропорта [#404---no-charts-for-airport]

Возвращается, когда Skylink не может найти карты для кода ICAO ни в одном из настроенных источников.

***

См. также: [Аэропорты](/docs/v31/airports) · [Брифинг по полёту](/docs/v31/flight-briefing) · [PDF-брифинг](/docs/v31/briefing-pdf)
