Autentifikacija
Aplikacija vam pruža Client ID i Secret Key koje trebate za kreiranje autentificirane OAuth2 sesije koju možete koristiti za komunikaciju s Wink i TripPay API-jima.
Evo koraka za kreiranje autentificirane sesije.
Korak 1. Dohvatite pristupni token na staging ili u našem produkcijskom okruženju:
Vjerojatno ćete koristiti robusnu OAuth2 biblioteku za vaš programski jezik, koja će obaviti sav težak posao za vas.
Naši primjeri prikazuju najosnovniju upotrebu iz komandne linije koristeći 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>"Produkcija
Section titled “Produkcija”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>"Ovo će vratiti pristupni token, zajedno s ostalim OAuth2 podacima u odgovoru:
{ "access_token": "abc123"}Kada pozivate bilo koju od naših krajnjih točaka, uključite sljedeće u zaglavlje:
Wink-Version=2.0Najnovije - Pogledajte naše API dokumente za druge dostupne verzije.Authorization=Bearer ${access_token}Umetnite svoj pristupni token.
Opsezi (Scopes)
Section titled “Opsezi (Scopes)”Opseg je dozvola koju vaš pristupni token nosi. Kada tražite token, prosljeđujete
popis opsega odvojenih razmakom u parametru scope, a token može pristupiti samo područjima
koja ti opsezi pokrivaju. Kod client_credentials grant tipa postavljate opsege u zahtjevu za token —
pogledajte primjere curl gore i Postman vodič.
Opsezi su imenovani kao section.action, gdje je akcija jedna od:
read— pregled resursa (sigurniGETzahtjevi)write— kreiranje i ažuriranje resursa (POST/PUT/PATCH)remove— brisanje resursa (DELETE)
Wink grupira dozvole po funkcionalnim područjima. Zahtijevajte samo opsege koje vaša integracija treba:
| Grupa opsega | Opsezi | Što otključavaju | Rizik |
|---|---|---|---|
| Account | account.read account.write account.remove | Upravljanje entitetima, članovima tima, postavkama, aplikacijama | Nizak–Srednji |
| Inventory | inventory.read inventory.write inventory.remove | Nekretnine, tipovi soba, cjenovni planovi, cijene, dodaci, dostupnost, aktivnosti, atrakcije | Nizak–Srednji |
| Booking | booking.read booking.write booking.remove | Pretraživanje, pregled, kreiranje, otkazivanje i povrat rezervacija; naplata; pravila otkazivanja | Nizak–Srednji |
| Marketing | marketing.read marketing.write marketing.remove | Kampanje, pogodnosti, prodajni kanali, WinkLinks, upravljani društveni mediji, lojalnost | Nizak–Srednji |
| Content | content.read content.write content.remove | Opisi nekretnina, recenzije, mediji, karte, zeleni indeks | Nizak–Srednji |
| Analytics | analytics.read analytics.write analytics.remove | Izvještavanje i analitika — prihodi, ljestvice | Nizak–Srednji |
| Integrations | integrations.read integrations.write integrations.remove | Channel manageri, vanjski sustavi za rezervacije, Google Hotel, krajnje točke za obavijesti, sinkronizacija rezervacija | Nizak–Srednji |
| Payment | payment.read payment.write payment.remove | Obrada plaćanja, Stripe, Revolut, isplate, pretplate | Srednji–Visoki |
| Accounting | accounting.read accounting.write accounting.remove | Računovodstvo, evidencija isplata, usklađivanje | Srednji–Visoki |
| MCP | mcp.read mcp.write mcp.remove | Otvara MCP transport (/mcp) za AI agente | Nizak–Srednji |
Nekoliko stvari za imati na umu:
- Zahtijevajte minimum. Tražite samo opsege koje vaša integracija stvarno koristi — token izdan s širim pristupom nego što je potrebno ima veći potencijal štete ako procuri.
- Nepoznati opsezi se odbijaju. Zahtjev za opsegom za koji vaša aplikacija nije registrirana ili koji ne postoji, ne uspijeva pri izdavanju tokena.
mcp.*je samo za AI-agent klijente. Potreban je za otvaranje MCP transporta; nije potreban za uobičajene REST API pozive. Pogledajte Model Context Protocol.