PDF-брифинг
Загрузите полный предполётный брифинг в виде PDF — диспетчерский пакет для печати, передачи экипажу или архивирования. Отчёт объединяет погоду в аэропортах вылета и прилёта, NOTAM, предупреждения, PIREP и сгенерированную ИИ сводку по маршруту для выбранной пары кодов ICAO.
В отличие от всех остальных эндпоинтов SkyLink, эта операция возвращает байты application/pdf, а не JSON. Сохраняйте тело ответа напрямую на диск или передавайте его клиенту потоком.
Описание маршрута генерируется корпоративными моделями IBM Granite — на той же инфраструктуре работает Брифинг полёта. Свяжитесь с SkyLink, чтобы узнать о вариантах корпоративного развёртывания помимо стандартных тарифов RapidAPI.
Запрос
Требования
x-api-key в каждом запросе (прямая подписка). Подробнее →https://data.skylinkapi.com/v3.1/briefing/pdf| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
departure_icao | string | Да | - | Код ICAO аэропорта вылета, например EGLL |
arrival_icao | string | Да | - | Код ICAO аэропорта прилёта, например KJFK |
flight_number | string | Нет | - | Необязательная подпись в заголовке PDF, например BA117 |
Ответ
При успешном выполнении API возвращает байты PDF.
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="briefing_EGLL_KJFK.pdf"PDF обычно содержит разделы METAR/TAF для аэропортов вылета и прилёта, сводки активных NOTAM, актуальные PIREP и предупреждения, а также сгенерированные ИИ заметки по маршруту.
Проверяйте Content-Type перед сохранением. Если сервер вернул JSON вместо application/pdf, разберите тело как ответ с ошибкой — не записывайте его в файл .pdf.
Клиентские типы
"""Briefing PDF request model for /briefing/pdf."""from __future__ import annotationsfrom dataclasses import dataclass@dataclassclass BriefingPdfRequest: departure_icao: str arrival_icao: str flight_number: str | None = None@dataclassclass BriefingPdfDownloadResult: content_type: str file_path: str bytes: intИнтеграция
Загрузите PDF с тайм-аутами запроса и запишите байты в локальный файл.
Пример показывает TypeScript (Buffer в Node.js), Python (двоичная запись) и curl (--output briefing.pdf).
import osfrom pathlib import Pathimport requestsBASE = "https://data.skylinkapi.com/v3.1"HEADERS = { "x-api-key": os.getenv("SKYLINK_API_KEY", "YOUR_API_KEY")}def download_briefing_pdf(departure_icao: str, arrival_icao: str, *, output_path: str = "briefing.pdf") -> Path: """Download a generated briefing PDF and save it to disk.""" r = requests.get( f"{BASE}/briefing/pdf", headers=HEADERS, params={"departure_icao": departure_icao, "arrival_icao": arrival_icao}, timeout=(10, 30), ) r.raise_for_status() if "application/pdf" not in r.headers.get("Content-Type", ""): raise RuntimeError("Expected PDF response") path = Path(output_path) path.write_bytes(r.content) return pathif __name__ == "__main__": path = download_briefing_pdf("KJFK", "KLAX") print(f"Saved briefing PDF to {path.resolve()} ({path.stat().st_size:,} bytes)")Примечания по реализации
Работа с двоичными данными. Ветвитесь по Content-Type: application/pdf → сохранить байты; application/json → разобрать ошибку.
Загрузка по действию пользователя. В веб-клиентах запускайте этот запрос по явному действию пользователя (нажатию кнопки), чтобы соответствовать поведению загрузок в браузере.
Кэширование. Сгенерированные PDF зависят от маршрута и времени. Ключи кэша должны включать оба кода ICAO и метку времени генерации.
Ответы с ошибками
Общие ошибки платформы см. в разделе Обработка ошибок. Специфичные для эндпоинта:
422 — отсутствующий или некорректный код ICAO
{
"detail": [
{
"type": "missing",
"loc": ["query", "departure_icao"],
"msg": "Field required"
}
]
}Your SkyLink licence key, for keys bought direct from skylinkapi.com.
In: header
Query Parameters
Departure airport ICAO code (e.g. 'EGLL')
Arrival airport ICAO code (e.g. 'KJFK')
Optional flight number for the header (e.g. 'BA117')
Response Body
application/json
curl -X GET "https://data.skylinkapi.com/v3.1/briefing/pdf?departure_icao=string&arrival_icao=string"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Руководства по интеграции
| Руководство | Содержание |
|---|---|
| Статус рейса | Статус в реальном времени, задержки, табло вылетов |
| Расписания | Табло, подсчёт задержек, дашборд прилётов и вылетов |
| Расстояние | Расстояние по ортодромии, ранжирование маршрутов |
| Брифинг полёта | ИИ-сводка и ключевые NOTAM |
| Обработка ошибок | 404, пустые табло, повторные попытки брифинга |
| Кэширование и мониторинг | TTL и заметки о задержке ответа |
См. также: Брифинг полёта · METAR · NOTAM