Developer Документация

API Aeronation · версия 1

Как подключить своё приложение

Через API можно читать и — с подпиской «Допуск» — менять данные пилота, который сам выдал доступ. Чужие аккаунты и платежи наружу не отдаются.

Сервер входа https://panel.aeronation.ru
Базовый адрес API https://panel.aeronation.ru/api/v1
Заголовок запроса Authorization: Bearer …

Быстрый старт

  1. Создайте приложение в кабинете и сохраните идентификатор и секрет — секрет покажут один раз.
  2. Укажите адрес возврата: куда пилот вернётся после входа. Строка должна совпасть символ в символ.
  3. Отметьте только нужные права — чем меньше, тем проще получить согласие.
  4. Проведите пилота через вход, обменяйте код на токен на своём сервере (не в браузере).
  5. Вызывайте /api/v1/… с заголовком Authorization: Bearer <токен>.

Как устроен вход

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

  1. Сгенерируйте случайную строку-проверку (43–128 символов) и её отпечаток BASE64URL(SHA256(…)).
  2. Отправьте пилота на https://panel.aeronation.ru/oauth/authorize.
  3. После согласия на адрес возврата придёт одноразовый код.
  4. На сервере сделайте POST на https://panel.aeronation.ru/oauth/token с секретом и исходной строкой-проверкой.
  5. Дальше вызывайте API с полученным токеном. Обновляющий токен продлевает доступ; повторное использование уже отозванного обновляющего токена отзывает всё согласие.

Права доступа

Запрашивайте минимум. Права на действия от имени пилота доступны только с подпиской «Допуск» — при создании приложения выбираются только права на чтение.

achievements:read

Достижения

Список достижений: что уже открыто и как далеко вы до остальных.

  • код
  • название
  • открыто
  • прогресс
  • редкость

notifications:read

Уведомления !

Личная лента уведомлений (без служебных).

  • текст
  • ссылка
  • прочитано
  • дата

openid

Идентификатор

Уникальный номер пилота в Aeronation — чтобы приложение узнавало вас между сессиями.

  • id

profile

Профиль

Имя, ник, аватар, страна, язык и описание — то, что видно на сайте.

  • ник
  • имя
  • аватар
  • страна
  • язык
  • описание
  • премиум

pilots:read

Публичные профили

Публичные профили, трудовая книжка и достижения — всё, что и так видно на сайте.

  • ник
  • имя
  • аватар
  • статистика
  • трудовая

company.analytics:read

Аналитика ВА !

Подробная аналитика авиакомпании (флот, тренды, статистика пилотов). Только для владельца — как в панели настроек.

company.members:read

Состав ВА

Список пилотов вашей авиакомпании.

  • ник
  • имя
  • аватар
  • владелец
  • дата вступления

company:read

Профиль ВА

Профиль авиакомпании, в которой вы состоите.

  • название
  • код
  • описание
  • аватар
  • рейтинг
  • соцсети

alliance:read

Альянс

Публичный профиль альянса и список авиакомпаний-участниц.

  • название
  • код
  • описание
  • участники

flights:read

Ваши рейсы !

Список и детали ваших полётных отчётов.

  • дата
  • борт
  • аэропорты
  • статистика
  • статус проверки

rating:read

Рейтинг

Публичные таблицы рейтинга по неделям, годам и альянсам.

  • недели
  • годы
  • альянсы

events:read

События

Публичные события и ваши регистрации на них.

jobs:read

Вакансии

Список открытых вакансий авиакомпаний.

resume:read

Резюме !

Читать ваше резюме пилота.

directory:read

Справочники

Поиск и списки авиакомпаний и альянсов (публичные данные).

feedback:read

Предложения

Публичные предложения сообщества и метаданные ваших обращений в поддержку.

Подписка «Допуск» — действия

notifications:write

Отметить уведомления !

Отмечать ваши уведомления как прочитанные.

profile:write

Изменение профиля !

Менять отображаемое имя, описание, страну и язык от вашего имени.

company.manage:read

Управление ВА (чтение) !

Смотреть заявки на вступление и вакансии, если вы владелец или заместитель.

company.manage:write

Управление ВА !

Править описание, управлять вакансиями и решать заявки. Без увольнений, удаления компании и передачи владения.

company.membership:write

Членство в ВА !

Подать заявку в авиакомпанию, отменить её или выйти (владелец выйти не может).

flights:write

Управление рейсами !

Загружать отчёты, архивировать рейсы и подавать обжалования.

events:write

Участие в событиях !

Записываться и отписываться от событий.

jobs:write

Отклики !

Откликаться на вакансии и отменять свои отклики.

resume:write

Редактирование резюме !

Создавать и обновлять резюме, публиковать или скрывать его на доске.

feedback:write

Обратная связь !

Создавать предложения и обращения в поддержку от вашего имени.

Лимиты запросов

Считаются все вызовы /api/v1/… с одним токеном пилота: пара приложение + пользователь.

  • Без подписки «Допуск»: до 10 запросов в минуту — только методы чтения.
  • С подпиской «Допуск»: до 60 запросов в минуту — чтение и запись в одном счётчике.
  • При превышении ответ 429 и заголовок Retry-After (секунды до новой минуты).

Ошибки

На адресах входа ответ выглядит как {"error","error_description"}. В API данных — {"detail":"…"}.

HTTPКодЧто это значит
401 unauthorized Нет токена, токен просрочен или согласие отозвано
401 invalid_client Неверный идентификатор или секрет приложения
400 invalid_grant Неверный код, проверка кода или обновляющий токен
400 invalid_scope Право неизвестно или не зарегистрировано у приложения
403 insufficient_scope В токене нет нужного права
403 write_not_enabled У приложения нет подписки «Допуск»
404 not_found Объект не найден или принадлежит другому пилоту
429 rate_limit_exceeded Превышен лимит: 10 запросов/мин на чтение без «Допуска» или 60/мин с подпиской
429 too_fast Слишком частая запись (например, загрузка отчётов)

Все методы

У каждого метода своя страница: параметры, пример ответа, ошибки и соседние методы.