Skip to content

Avtentikacija

Aplikacija vam zagotovi Client ID in Secret Key, ki ju potrebujete za ustvarjanje avtenticirane OAuth2 seje, ki jo lahko uporabite za komunikacijo z Wink in TripPay API-ji.

Tukaj so koraki za ustvarjanje avtenticirane seje.

Korak 1. Pridobite dostopni žeton na testnem okolju ali v našem produkcijskem okolju:

Verjetno boste uporabljali robustno OAuth2 knjižnico za vaš programski jezik, ki bo opravila vse zahtevnejše naloge namesto vas. Naši primeri bodo prikazali najosnovnejšo uporabo iz ukazne vrstice z uporabo curl.

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_SECRET_KEY>"
Terminal window
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>"

To bo vrnilo dostopni žeton skupaj z drugimi podatki OAuth2 odgovora:

{
"access_token": "abc123"
}

Ko kličete katero koli od naših končnih točk, vključite naslednje v glavo:

  • Wink-Version = 2.0 Najnovejša - Oglejte si našo API dokumentacijo za druge razpoložljive različice.
  • Authorization = Bearer ${access_token} Vstavite svoj dostopni žeton.

Obseg je dovoljenje, ki ga nosi vaš dostopni žeton. Ko zahtevate žeton, posredujete seznam obsegov, ločenih s presledki, v parametru scope, in žeton lahko dostopa samo do področij, ki jih ti obsegi pokrivajo. Pri client_credentials grant tipu nastavite obsege v zahtevi za žeton — glejte zgornje curl primere in vodnik za Postman.

Obsegi so poimenovani section.action, kjer je akcija ena od:

  • read — ogled virov (varni GET zahtevki)
  • write — ustvarjanje in posodabljanje virov (POST / PUT / PATCH)
  • remove — brisanje virov (DELETE)

Wink združuje dovoljenja po funkcionalnih področjih. Zahtevajte samo obsege, ki jih vaša integracija potrebuje:

Skupina obsegovObsegiKaj odklenejoTveganje
Računaccount.read account.write account.removeUpravljanje entitet, članov ekipe, nastavitev, aplikacijNizko–Srednje
Inventarinventory.read inventory.write inventory.removeNepremičnine, tipi sob, ceniki, cene, dodatki, razpoložljivost, aktivnosti, atrakcijeNizko–Srednje
Rezervacijebooking.read booking.write booking.removeIskanje, ogled, ustvarjanje, preklic in vračilo rezervacij; odjava; politike preklicaNizko–Srednje
Marketingmarketing.read marketing.write marketing.removeKampanje, ugodnosti, prodajni kanali, WinkLinks, upravljane družbene mreže, zvestobaNizko–Srednje
Vsebinacontent.read content.write content.removeOpisi nepremičnin, ocene, mediji, zemljevidi, zeleni indeksNizko–Srednje
Analitikaanalytics.read analytics.write analytics.removePoročanje in analitika — prihodki, lestviceNizko–Srednje
Integracijeintegrations.read integrations.write integrations.removeUpravljalci kanalov, zunanji rezervacijski sistemi, Google Hotel, končne točke za obvestila, sinhronizacija rezervacijNizko–Srednje
Plačilapayment.read payment.write payment.removeObdelava plačil, Stripe, Revolut, izplačila, naročnineSrednje–Visoko
Računovodstvoaccounting.read accounting.write accounting.removeRačunovodstvo, knjiga dvigov, usklajevanjeSrednje–Visoko
MCPmcp.read mcp.write mcp.removeOdpre MCP transport (/mcp) za AI agenteNizko–Srednje

Nekaj stvari, ki jih je treba upoštevati:

  • Zahtevajte minimum. Prosite samo za obsege, ki jih vaša integracija dejansko uporablja — žeton z večjim dostopom kot je potrebno ima večji potencial škode, če pride v napačne roke.
  • Neznani obsegi so zavrnjeni. Zahteva za obseg, za katerega vaša aplikacija ni registrirana ali ne obstaja, ne uspe pri izdaji žetona.
  • mcp.* je samo za AI-agentne odjemalce. Potreben je za odpiranje MCP transporta; ni potreben za običajne REST API klice. Oglejte si Model Context Protocol.