Przejdź do głównej zawartości

Szybki start

Ten przewodnik przeprowadzi Cię od zera do działającej integracji w około 30 minut. Na końcu będziesz mieć:

  • ceny hoteli na żywo w mieście, z Partner API,
  • link do rezerwacji, który przypisuje rezerwacje do Twojego konta,
  • testową rezerwację oraz webhook informujący o jej dokonaniu.

Wszystko dzieje się w stagingu, naszym środowisku testowym. Nie musisz prosić nas o dostęp, a przejście na produkcję później nie wymaga zatwierdzenia.

Chcesz…Zacznij tutaj
Pokazać hotele w swojej aplikacji, na stronie lub w produkcie AI i kierować podróżnych do rezerwacji, zarabiając prowizjęTen przewodnik
Rezerwować w imieniu swoich klientów jako licencjonowane biuro podróżyTen przewodnik do Kroku 5, potem Rezerwacje jako biuro podróży
Osadzić rezerwowalne hotele bez pisania integracjiWeb Components
Pozwolić agentowi AI wyszukiwać i rezerwowaćMCP Servers oraz Agentic Payments
Podłączyć channel managera lub PMSDodaj swojego channel managera

Używasz Partner API, aby znaleźć hotele i ich aktualne ceny. Każdy hotel ma stabilny urlName. Zamieniasz go na link do Wink Booking Engine, book.wink.travel, zawierający Twoje identyfikatory. Podróżny dokonuje rezerwacji i płatności tam, a rezerwacja jest przypisywana do Twojego konta.

Będziesz potrzebować:

  • grpcurl, lub Postman albo Insomnia. Partner API to gRPC, nie REST.
  • curl.

Staging jest całkowicie oddzielony od produkcji, z własnymi loginami i kontami.

  1. Wejdź na staging-app.wink.travel, kliknij Sign-In / Register i zarejestruj się.

  2. Kliknij Accounts w lewym pasku bocznym, potem Create i wybierz I am an Affiliate. Rezerwacje, które wyślesz, będą przypisane do tego konta. Zobacz Utwórz konto.

Aplikacja nada Twojemu kodowi dane uwierzytelniające.

  1. Na karcie konta kliknij Actions > Manage account, a następnie zakładkę Applications.

  2. Kliknij Create new application, nadaj jej nazwę i wybierz Machine-to-machine jako typ klienta.

  3. W sekcji scopes wybierz Inventory & rates (odczyt). Partner API wymaga inventory.read.

  4. Kliknij Create application i skopiuj Client ID oraz Client secret. Sekret jest pokazany tylko raz i nie można go później odzyskać.

Zobacz Applications dla innych typów klientów i zakresów.

Okno terminala
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"

Zapisz access_token z odpowiedzi:

Okno terminala
export WINK_TOKEN=<access_token>

Tokeny wygasają. W swoim kodzie pozwól bibliotece OAuth2 pobierać i odnawiać je automatycznie. Zobacz Authentication.

Każde wywołanie Partner API wskazuje konto, na które działasz, w nagłówku managing-entity-id. Wyświetl listę kont, na które Twój token ma uprawnienia:

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

Skopiuj accountId konta afilianta z Kroku 1:

Okno terminala
export WINK_ACCOUNT_ID=<accountId>
Okno terminala
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

Użyj daty zameldowania w przyszłości; data z przeszłości zostanie odrzucona. Każdy wynik zawiera:

  • name, starRating i heroImageUrl, wystarczające do pokazania wiersza wyniku,
  • roomTypes, aktualne oferty, najtańszy pokój pierwszy,
  • urlName, slug potrzebny do linku rezerwacji.

Ceny są liczbami całkowitymi w jednostkach podrzędnych: podziel przez 10 do potęgi currencyExponent z odpowiedzi (2 dla USD, więc 12500 to 125,00 USD).

Nie znasz sluga miasta? Rozwiąż go za pomocą wink.partner.v1.Lookup/Search. Pełną zawartość obiektu uzyskasz przez serwis Content. Dokumentacja Partner API opisuje każde wywołanie.

https://staging-book.wink.travel/hotel/<urlName>?client-id=<YOUR_CLIENT_ID>&configuration-id=<YOUR_CUSTOMIZATION_ID>
  • <urlName> to urlName hotelu z Kroku 5.
  • client-id to Client ID Twojej aplikacji z Kroku 2.
  • configuration-id to Twój ID personalizacji: Manage account > Customizations. Personalizacja ustawia też branding, domyślny język i walutę na stronie rezerwacji.

Zobacz Linking directly aby linkować do strony głównej booking engine zamiast pojedynczego hotelu.

Otwórz swój link, wybierz daty i pokój, a następnie dokonaj płatności testową kartą Stripe, np. 4242 4242 4242 4242 z dowolną przyszłą datą ważności i dowolnym CVC. Na stagingu nie obciążamy prawdziwych kart. Zanotuj kod rezerwacji na stronie potwierdzenia; zaczyna się od WNK.

  1. W Portalu przejdź do Applications > Webhooks i dodaj endpoint, który akceptuje żądania POST.

  2. Subskrybuj booking.create lub pozostaw listę zdarzeń pustą, aby otrzymywać wszystko podczas rozwoju.

  3. Wyślij sobie testowe zdarzenie, potem wykonaj kolejną testową rezerwację i obserwuj jej przyjście.

Zweryfikuj podpis każdego dostarczenia zanim mu zaufasz. Zobacz Webhook Integration oraz Webhook Events Catalog.

Nie ma kroku zatwierdzania dla deweloperów. (Konta biur podróży są najpierw certyfikowane; zobacz poniżej.) Gdy Twoja integracja działa na stagingu:

  1. Utwórz konto i aplikację na app.wink.travel, jak w Krokach 1 i 2. Dane uwierzytelniające nie przenoszą się między środowiskami.

  2. Usuń staging- z każdego hosta:

    StagingProdukcja
    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. Ponownie sprawdź ID konta produkcyjnego (Krok 4) i ID personalizacji (Krok 6). Różnią się od stagingu.

Korzystanie z Partner API jest rozliczane w noclegach hotelowych, z darmowym miesięcznym limitem. Zobacz Partner API dla cen i limitów.

Jeśli Twoje konto to licencjonowane biuro podróży, nie musisz kierować podróżnych do book.wink.travel: możesz tworzyć rezerwacje bezpośrednio przez wink.partner.v1.Booking/CreateBooking i zarządzać nimi innymi wywołaniami Booking. Inne konta kierują podróżnych do linku rezerwacji.

Konta biur podróży są certyfikowane: Wink weryfikuje każde zgłoszenie agencji przed umożliwieniem rezerwacji. Agencje, które chcą same pobierać płatności od klientów jako merchant of record, muszą rezerwować przez Partner API i uzyskać pisemną zgodę Wink. Zobacz Rozpoczęcie pracy jako biuro podróży oraz dokumentację Partner API.