Перейти до вмісту

Швидкий старт

Цей посібник проведе вас від нічого до робочої інтеграції приблизно за 30 хвилин. Наприкінці ви матимете:

  • актуальні ціни на готелі в місті через Partner API,
  • посилання для бронювання, яке зараховує бронювання на ваш рахунок,
  • тестове бронювання та webhook, що повідомляє про його створення.

Усе відбувається у staging, нашому тестовому середовищі. Вам не потрібно просити у нас доступ, а перехід у продакшн пізніше також не потребує схвалення.

Чи підходить вам цей посібник?

Section titled “Чи підходить вам цей посібник?”
Ви хочете…Почніть тут
Показувати готелі у вашому додатку, сайті або AI-продукті та надсилати мандрівників для бронювання, заробляючи комісіюЦей посібник
Бронювати від імені ваших клієнтів як ліцензоване туристичне агентствоЦей посібник до Кроку 5, потім Бронювання як туристичне агентство
Вбудувати бронювані готелі без написання інтеграціїWeb Components
Дозволити AI-агенту шукати та бронюватиMCP Servers та Agentic Payments
Підключити channel manager або PMSДодати ваш Channel Manager

Ви використовуєте Partner API для пошуку готелів та їх актуальних цін. Кожен готель має стабільний urlName. Ви перетворюєте його на посилання на Wink Booking Engine, book.wink.travel, передаючи ваші ідентифікатори. Мандрівник бронює та оплачує там, а бронювання зараховується на ваш рахунок.

Вам знадобиться:

  • grpcurl, або Postman чи Insomnia. Partner API — це gRPC, а не REST.
  • curl.

Крок 1: Створіть обліковий запис у staging

Section titled “Крок 1: Створіть обліковий запис у staging”

Staging повністю відокремлений від продакшн, з власними логінами та обліковими записами.

  1. Перейдіть на staging-app.wink.travel, натисніть Sign-In / Register і зареєструйтесь.

  2. Клікніть Accounts у лівій бічній панелі, потім Create і оберіть I am an Affiliate. Бронювання, які ви надсилаєте, зараховуються на цей обліковий запис. Див. Створення облікового запису.

Крок 2: Створіть додаток

Section titled “Крок 2: Створіть додаток”

Додаток надає вашому коду облікові дані.

  1. На картці вашого облікового запису натисніть Actions > Manage account, потім вкладку Applications.

  2. Натисніть Create new application, дайте йому назву та оберіть Machine-to-machine як тип клієнта.

  3. У розділі scopes виберіть Inventory & rates (читання). Partner API перевіряє наявність inventory.read.

  4. Натисніть Create application і скопіюйте Client ID та Client secret. Секрет показується один раз і пізніше не відновлюється.

Див. Applications для інших типів клієнтів і scopes.

Крок 3: Отримайте токен доступу

Section titled “Крок 3: Отримайте токен доступу”
Terminal window
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_CLIENT_SECRET>" \
-d "scope=inventory.read"

Збережіть access_token з відповіді:

Terminal window
export WINK_TOKEN=<access_token>

Токени мають термін дії. У вашому коді використовуйте бібліотеку OAuth2 для отримання та оновлення токенів. Див. Аутентифікація.

Крок 4: Знайдіть ID вашого облікового запису

Section titled “Крок 4: Знайдіть ID вашого облікового запису”

Кожен виклик Partner API вказує обліковий запис, від імені якого ви дієте, у заголовку managing-entity-id. Перелічіть облікові записи, для яких ваш токен має права:

Terminal window
grpcurl -H "authorization: Bearer $WINK_TOKEN" \
-d '{}' \
staging-partner.wink.travel:443 wink.partner.v1.Accounts/ListAccounts

Скопіюйте accountId афілійованого облікового запису з Кроку 1:

Terminal window
export WINK_ACCOUNT_ID=<accountId>

Крок 5: Пошук готелів у місті

Section titled “Крок 5: Пошук готелів у місті”
Terminal window
grpcurl -H "authorization: Bearer $WINK_TOKEN" \
-H "managing-entity-id: $WINK_ACCOUNT_ID" \
-d '{
"urlName": "bangkok-thailand",
"userSession": {
"itinerary": {
"startDate": "2026-12-01",
"nights": 2,
"room": { "adults": 2 }
},
"currencyCode": "USD",
"languageCode": "en"
}
}' \
staging-partner.wink.travel:443 wink.partner.v1.Search/SearchByCity

Використовуйте дату заїзду у майбутньому; минулі дати відхиляються. Кожен результат містить:

  • name, starRating та heroImageUrl — достатньо для відображення рядка результату,
  • roomTypes — актуальні пропозиції, найнижча ціна першою,
  • urlName — slug, потрібний для посилання на бронювання.

Ціни — цілі числа у мінорних одиницях: поділіть на 10 у степені currencyExponent з відповіді (2 для USD, отже 12500 — це $125.00).

Не знаєте slug міста? Знайдіть його через wink.partner.v1.Lookup/Search. Для повного вмісту об’єкта використовуйте сервіс Content. Повний опис Partner API див. у Partner API reference.

Крок 6: Створіть посилання для бронювання

Section titled “Крок 6: Створіть посилання для бронювання”
https://staging-book.wink.travel/hotel/<urlName>?client-id=<YOUR_CLIENT_ID>&configuration-id=<YOUR_CUSTOMIZATION_ID>
  • <urlName> — це urlName готелю з Кроку 5.
  • client-id — Client ID вашого додатку з Кроку 2.
  • configuration-id — ваш ID кастомізації: Manage account > Customizations. Кастомізація також встановлює ваш брендинг, мову за замовчуванням і валюту на сторінці бронювання.

Див. Пряме посилання для посилання на головну сторінку booking engine замість окремого готелю.

Крок 7: Зробіть тестове бронювання

Section titled “Крок 7: Зробіть тестове бронювання”

Відкрийте ваше посилання, оберіть дати та номер, і оплатіть за допомогою тестової картки Stripe, наприклад 4242 4242 4242 4242 з будь-якою майбутньою датою закінчення та будь-яким CVC. У staging реальна карта не списується. Запам’ятайте код бронювання на сторінці підтвердження; він починається з WNK.

Крок 8: Отримуйте сповіщення про бронювання

Section titled “Крок 8: Отримуйте сповіщення про бронювання”
  1. У Portal перейдіть у Applications > Webhooks і додайте endpoint, який приймає POST запити.

  2. Підпишіться на booking.create або залиште список подій порожнім, щоб отримувати всі події під час розробки.

  3. Надішліть тестову подію собі, потім зробіть ще одне тестове бронювання і спостерігайте за його надходженням.

Перевіряйте підпис кожної доставки перед тим, як довіряти їй. Див. Інтеграція Webhook та Каталог подій Webhook.

Крок 9: Перейдіть у продакшн

Section titled “Крок 9: Перейдіть у продакшн”

Для розробників немає кроку схвалення. (Облікові записи туристичних агентств сертифікуються спочатку; див. нижче.) Коли ваша інтеграція працює у staging:

  1. Створіть обліковий запис і додаток на app.wink.travel, як у Кроках 1 і 2. Облікові дані не переносяться між середовищами.

  2. Видаліть staging- з усіх хостів:

    StagingПродакшн
    https://staging-iam.wink.travelhttps://iam.wink.travel
    staging-partner.wink.travel:443partner.wink.travel:443
    https://staging-book.wink.travelhttps://book.wink.travel
  3. Знову знайдіть ID вашого продакшн-облікового запису (Крок 4) та ID кастомізації (Крок 6). Вони відрізняються від staging.

Використання Partner API рахується у готельних ночах, з безкоштовним місячним лімітом. Див. Partner API для інформації про тарифи та обмеження.

Бронювання як туристичне агентство

Section titled “Бронювання як туристичне агентство”

Якщо ваш обліковий запис — ліцензоване туристичне агентство, вам не потрібно надсилати мандрівників на book.wink.travel: ви можете створювати бронювання безпосередньо через wink.partner.v1.Booking/CreateBooking і керувати ними за допомогою інших викликів Booking. Інші облікові записи надсилають мандрівників на посилання для бронювання.

Облікові записи туристичних агентств сертифікуються: Wink перевіряє реєстрацію кожного агентства перед тим, як воно зможе бронювати. Агентства, які хочуть самостійно збирати оплату від клієнтів як торговці, повинні бронювати через Partner API і отримати письмовий дозвіл Wink. Див. Початок роботи як туристичне агентство та Partner API reference.