PhoenixPass API

Бизнес-залы

Доступ в бизнес-залы аэропортов

Lounges API — бронирование доступа в бизнес-залы аэропортов для B2B-партнёров: каталог доступных залов, двухшаговое бронирование («создать → подтвердить»), получение данных прохода и уведомления об изменении статусов через webhooks.

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

  1. Получите client_id/client_secret у команды интеграции и обменяйте их на access token — POST /oauth/v2/token с грантом client_credentials и нужным scope (catalog.lounges:read, booking.lounges:write, booking.lounges:read).
  2. Найдите зал — GET /v2/catalog/lounges.
  3. Создайте бронь — POST /v2/b2b/booking/lounges: ответ 202 означает, что запрос принят в обработку, а не что бронь готова.
  4. Дождитесь booking.status.changed со статусом Issued, либо опросите GET /v2/b2b/booking/lounges/{bookingID}.
  5. Подтвердите бронь — POST /v2/b2b/booking/lounges/{bookingID}/confirm.
  6. Получите данные прохода — GET /v2/b2b/booking/lounges/{bookingID}/pass.

Авторизация

Каталог (GET /v2/catalog/lounges*) защищён только Bearer-токеном. Операции бронирования (POST/GET .../booking/lounges*) требуют и Bearer-токен, и клиентский mTLS-сертификат — это отдельный контур безопасности от каталога, учитывайте это при настройке HTTP-клиента.

Идемпотентность

POST /v2/b2b/booking/lounges обязательно принимает заголовок Idempotency-Key. Повторный запрос с тем же ключом и телом возвращает сохранённый результат (Idempotency-Status: reused); с другим телом — 409 IdempotencyConflict. Ключ живёт 72 часа. Операции confirm/cancel идемпотентны по своей природе (повторный вызов при недопустимом состоянии возвращает 409) и ключа не требуют.

Статусы брони

Бронирование проходит через статусы: PendingIssued (пропуск сгенерирован) → Confirmed (партнёр подтвердил) → Completed (проход использован). Если партнёр не подтвердил бронь вовремя, она переходит из Issued в Expired. Из любого статуса возможен переход в Canceled. Отслеживайте переходы через booking.status.changed и pass.status.changed, либо тестируйте их локально через Sandbox.

On this page