Аутентифікація
Додаток надає вам Client ID та Secret Key, які потрібні для створення аутентифікованої сесії OAuth2, яку ви можете використовувати для взаємодії з API Wink та TripPay.
Ось кроки для створення аутентифікованої сесії.
Крок 1. Отримайте токен доступу на стенді або в нашому продуктивному середовищі:
Ви, найімовірніше, будете працювати з потужною бібліотекою OAuth2 для вашої мови програмування, яка виконає всю складну роботу за вас.
Наші приклади покажуть найпростіше використання з командного рядка за допомогою curl.
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>"Продуктивне середовище
Section titled “Продуктивне середовище”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>"Це поверне токен доступу разом з іншими даними відповіді OAuth2:
{ "access_token": "abc123"}Коли ви робите виклик до будь-якої з наших кінцевих точок, включайте у заголовок:
Wink-Version=2.0Остання - Дивіться нашу документацію API для інших доступних версій.Authorization=Bearer ${access_token}Вставте ваш токен доступу.
Області доступу (Scopes)
Section titled “Області доступу (Scopes)”Scope — це дозвіл, який несе ваш токен доступу. Коли ви запитуєте токен, ви передаєте
список областей доступу, розділених пробілами, у параметрі scope, і токен може отримати доступ лише до тих областей,
які охоплюють ці scopes. За допомогою гранту client_credentials ви встановлюєте scopes у запиті на токен —
дивіться приклади curl вище та покроковий посібник Postman.
Scopes мають формат section.action, де action — один із:
read— перегляд ресурсів (безпечні запитиGET)write— створення та оновлення ресурсів (POST/PUT/PATCH)remove— видалення ресурсів (DELETE)
Wink групує дозволи за функціональними областями. Запитуйте лише ті scopes, які потрібні вашій інтеграції:
| Група scopes | 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 | Опис властивостей, відгуки, медіа, карти, зелений індекс | Низький–Середній |
| 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 transport (/mcp) для AI-агентів | Низький–Середній |
Декілька важливих моментів:
- Запитуйте мінімум. Просіть лише ті scopes, які ваша інтеграція дійсно використовує — токен з надмірними правами у разі витоку створює більший ризик.
- Невідомі scopes відхиляються. Запит scope, на який ваш додаток не зареєстрований або який не існує, призведе до помилки при видачі токена.
mcp.*призначений лише для клієнтів AI-агентів. Він потрібен для відкриття MCP transport; не потрібен для звичайних REST API викликів. Дивіться Model Context Protocol.
