Siirry sisältöön

Autentikointi

Sovellus antaa sinulle Client ID-tunnuksen ja Secret Key-avaimen, joita tarvitset luodaksesi autentikoidun OAuth2-istunnon, jota voit käyttää kommunikoidessasi Wink- ja TripPay-rajapintojen kanssa.

Tässä ovat vaiheet autentikoidun istunnon luomiseksi.

Vaihe 1. Hanki käyttöoikeustunnus staging-ympäristössä tai tuotantoympäristössämme:

Todennäköisesti käytät kielen omaa vankkaa OAuth2-kirjastoa, joka hoitaa kaiken raskaan työn puolestasi. Esimerkeissämme näytämme peruskäytön komentoriviltä käyttäen curl-komentoa.

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

Tämä palauttaa käyttöoikeustunnuksen sekä muuta OAuth2-vastausdatan:

{
"access_token": "abc123"
}

Kun teet kutsun mihin tahansa päätepisteeseemme, sisällytä seuraavat otsikot:

  • Wink-Version = 2.0 Uusin - Katso API-dokumentaatiostamme muut saatavilla olevat versiot.
  • Authorization = Bearer ${access_token} Lisää käyttöoikeustunnuksesi.

Scope on lupa, jonka käyttöoikeustunnuksesi kantaa mukanaan. Kun pyydät tunnusta, annat välilyönnillä erotellun listan scopeja scope-parametrissa, ja tunnus voi käyttää vain niitä alueita, joita kyseiset scopet kattavat. client_credentials-grantilla asetat scopet tunnuspyyntöösi — katso yllä olevat curl esimerkit ja Postman-käyttöohje.

Scopejen nimet ovat muodossa section.action, jossa toiminto on yksi seuraavista:

  • read — resurssien katselu (turvalliset GET-pyynnöt)
  • write — resurssien luonti ja päivitys (POST / PUT / PATCH)
  • remove — resurssien poisto (DELETE)

Wink ryhmittelee oikeudet toiminnallisen alueen mukaan. Pyydä vain ne scopet, joita integraatiosi tarvitsee:

Scope-ryhmäScopetMitä ne avaavatRiski
Tiliaccount.read account.write account.removeEntiteettien, tiimin jäsenten, asetusten, sovellusten hallintaMatala–Keskitaso
Varastoinventory.read inventory.write inventory.removeKiinteistöt, huonetyypit, hintasuunnitelmat, hinnat, lisäpalvelut, saatavuus, aktiviteetit, nähtävyydetMatala–Keskitaso
Varausbooking.read booking.write booking.removeVarausten haku, katselu, luonti, peruutus ja hyvitys; kassatoiminnot; peruutusehdotMatala–Keskitaso
Markkinointimarketing.read marketing.write marketing.removeKampanjat, edut, myyntikanavat, WinkLinks, hallinnoitu some, kanta-asiakkuusMatala–Keskitaso
Sisältöcontent.read content.write content.removeKiinteistökuvaukset, arvostelut, media, kartat, vihreä-indeksiMatala–Keskitaso
Analytiikkaanalytics.read analytics.write analytics.removeRaportointi ja analytiikka — tulot, tulostaulutMatala–Keskitaso
Integraatiotintegrations.read integrations.write integrations.removeKanavahallinnot, ulkoiset varausjärjestelmät, Google Hotel, ilmoituspäätepisteet, varaus-synkronointiMatala–Keskitaso
Maksupayment.read payment.write payment.removeMaksujen käsittely, Stripe, Revolut, maksut, tilauksetKeskitaso–Korkea
Kirjanpitoaccounting.read accounting.write accounting.removeKirjanpito, nostokirjanpito, sovitusKeskitaso–Korkea
MCPmcp.read mcp.write mcp.removeAvaaminen MCP-liikenteelle (/mcp) tekoälyagentteja vartenMatala–Keskitaso

Muutama huomio:

  • Pyydä vain välttämätön. Pyydä vain ne scopet, joita integraatiosi todella käyttää — laajemmat oikeudet sisältävä tunnus aiheuttaa suuremman vahingon, jos se vuotaa.
  • Tuntemattomat scopet hylätään. Scopen pyytäminen, johon sovelluksesi ei ole rekisteröity tai joka ei ole olemassa, epäonnistuu tunnuksen myöntämisessä.
  • mcp.* on vain tekoälyagenttisovelluksille. Tarvitset sen MCP-liikenteen avaamiseen; tavallisiin REST API -kutsuihin sitä ei tarvita. Katso Model Context Protocol.