Бизнес-залы
Доступ в бизнес-залы аэропортов
Lounges API — бронирование доступа в бизнес-залы аэропортов для B2B-партнёров: каталог доступных залов, двухшаговое бронирование («создать → подтвердить»), получение данных прохода и уведомления об изменении статусов через webhooks.
Быстрый старт
- Получите
client_id/client_secretу команды интеграции и обменяйте их на access token —POST /oauth/v2/tokenс грантомclient_credentialsи нужным scope (catalog.lounges:read,booking.lounges:write,booking.lounges:read). - Найдите зал —
GET /v2/catalog/lounges. - Создайте бронь —
POST /v2/b2b/booking/lounges: ответ202означает, что запрос принят в обработку, а не что бронь готова. - Дождитесь
booking.status.changedсо статусомIssued, либо опроситеGET /v2/b2b/booking/lounges/{bookingID}. - Подтвердите бронь —
POST /v2/b2b/booking/lounges/{bookingID}/confirm. - Получите данные прохода —
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) и ключа не требуют.
Статусы брони
Бронирование проходит через статусы: Pending → Issued (пропуск
сгенерирован) → Confirmed (партнёр подтвердил) → Completed (проход
использован). Если партнёр не подтвердил бронь вовремя, она переходит из
Issued в Expired. Из любого статуса возможен переход в Canceled.
Отслеживайте переходы через
booking.status.changed и
pass.status.changed, либо
тестируйте их локально через
Sandbox.