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