Аутентификация
Приложение предоставляет вам Client ID и Secret Key, которые необходимы для создания аутентифицированной сессии OAuth2, которую вы можете использовать для взаимодействия с API Wink и TripPay.
Вот шаги для создания аутентифицированной сессии.
Шаг 1. Получите access token в staging или в нашей production среде:
Скорее всего, вы будете использовать мощную OAuth2 библиотеку для вашего языка программирования, которая выполнит всю основную работу за вас.
Наши примеры покажут самый базовый способ с командной строки с помощью curl.
Staging
Заголовок раздела «Staging»curl -X POST https://staging-iam.wink.travel/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_SECRET_KEY>"Production
Заголовок раздела «Production»curl -X POST https://iam.wink.travel/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_SECRET_KEY>"В ответ вы получите access token вместе с другими данными OAuth2:
{ "access_token": "abc123"}При вызове любого из наших эндпоинтов включайте в заголовок следующие параметры:
Wink-Version=2.0Последняя версия - Смотрите нашу документацию API для других доступных версий.Authorization=Bearer ${access_token}Вставьте ваш access token.
Scope — это разрешение, которое несет ваш access token. При запросе токена вы передаете
список scopes, разделенных пробелами, в параметре scope, и токен может получить доступ только к тем областям,
которые покрывают эти scopes. При использовании гранта client_credentials вы задаете scopes в запросе токена —
см. примеры curl выше и пошаговое руководство Postman.
Scopes имеют формат section.action, где action — одно из:
read— просмотр ресурсов (безопасныеGETзапросы)write— создание и обновление ресурсов (POST/PUT/PATCH)remove— удаление ресурсов (DELETE)
Wink группирует разрешения по функциональным областям. Запрашивайте только те scopes, которые нужны вашей интеграции:
| Группа scope | Scopes | Что они открывают | Риск |
|---|---|---|---|
| Account | account.read account.write account.remove | Управление сущностями, членами команды, настройками, приложениями | Низкий–Средний |
| Inventory | inventory.read inventory.write inventory.remove | Объекты, типы номеров, тарифные планы, тарифы, доп. услуги, доступность, активности, достопримечательности | Низкий–Средний |
| Booking | booking.read booking.write booking.remove | Поиск, просмотр, создание, отмена и возврат бронирований; оформление; политики отмены | Низкий–Средний |
| Marketing | marketing.read marketing.write marketing.remove | Кампании, бонусы, каналы продаж, WinkLinks, управляемые соцсети, лояльность | Низкий–Средний |
| Content | content.read content.write content.remove | Описания объектов, отзывы, медиа, карты, green-index | Низкий–Средний |
| Analytics | analytics.read analytics.write analytics.remove | Отчеты и аналитика — доходы, рейтинги | Низкий–Средний |
| Integrations | integrations.read integrations.write integrations.remove | Менеджеры каналов, внешние системы бронирования, Google Hotel, конечные точки уведомлений, синхронизация бронирований | Низкий–Средний |
| Payment | payment.read payment.write payment.remove | Обработка платежей, Stripe, Revolut, выплаты, подписки | Средний–Высокий |
| Accounting | accounting.read accounting.write accounting.remove | Бухгалтерия, реестр выплат, сверка | Средний–Высокий |
| MCP | mcp.read mcp.write mcp.remove | Открывает MCP транспорт (/mcp) для AI-агентов | Низкий–Средний |
Несколько важных моментов:
- Запрашивайте минимум. Просите только те scopes, которые действительно нужны вашей интеграции — токен с избыточными правами увеличивает потенциальный ущерб при утечке.
- Неизвестные scopes отклоняются. Запрос scope, на который ваше приложение не зарегистрировано или который не существует, приведет к ошибке при выдаче токена.
mcp.*предназначены только для клиентов AI-агентов. Они нужны для открытия MCP транспорта; для обычных REST API вызовов не требуются. Подробнее см. Model Context Protocol.
