Zum Inhalt springen

Authentifizierung

Eine Anwendung stellt Ihnen eine Client ID und einen Secret Key zur Verfügung, die Sie benötigen, um eine authentifizierte OAuth2-Sitzung zu erstellen, mit der Sie mit den Wink- und TripPay-APIs kommunizieren können.

Hier sind die Schritte, um eine authentifizierte Sitzung zu erstellen.

Schritt 1. Rufen Sie ein Zugriffstoken in der Staging- oder Produktionsumgebung ab:

Wahrscheinlich arbeiten Sie mit einer robusten OAuth2-Bibliothek für Ihre Programmiersprache, die die ganze Arbeit für Sie übernimmt. Unsere Beispiele zeigen die einfachste Verwendung über die Kommandozeile mit curl.

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

Dies gibt ein Zugriffstoken zurück, zusammen mit anderen OAuth2-Antwortdaten:

{
"access_token": "abc123"
}

Wenn Sie einen Aufruf an einen unserer Endpunkte machen, fügen Sie Folgendes im Header hinzu:

  • Wink-Version = 2.0 Neueste - Siehe unsere API-Dokumentation für weitere verfügbare Versionen.
  • Authorization = Bearer ${access_token} Fügen Sie Ihr Zugriffstoken ein.

Ein Scope ist eine Berechtigung, die Ihr Zugriffstoken trägt. Wenn Sie ein Token anfordern, übergeben Sie eine durch Leerzeichen getrennte Liste von Scopes im scope-Parameter, und das Token kann nur auf die Bereiche zugreifen, die diese Scopes abdecken. Beim client_credentials-Grant legen Sie die Scopes bei Ihrer Token-Anfrage fest — siehe die curl-Beispiele oben und die Postman-Anleitung.

Scopes heißen section.action, wobei die Aktion eine der folgenden ist:

  • read — Ressourcen ansehen (sichere GET-Anfragen)
  • write — Ressourcen erstellen und aktualisieren (POST / PUT / PATCH)
  • remove — Ressourcen löschen (DELETE)

Wink gruppiert Berechtigungen nach Funktionsbereichen. Fordern Sie nur die Scopes an, die Ihre Integration benötigt:

Scope-GruppeScopesWas sie freischaltenRisiko
Accountaccount.read account.write account.removeVerwaltung von Entitäten, Teammitgliedern, Einstellungen, AnwendungenNiedrig–Mittel
Inventoryinventory.read inventory.write inventory.removeObjekte, Zimmertypen, Tarifpläne, Preise, Zusatzleistungen, Verfügbarkeit, Aktivitäten, AttraktionenNiedrig–Mittel
Bookingbooking.read booking.write booking.removeSuchen, Anzeigen, Erstellen, Stornieren und Rückerstatten von Buchungen; Checkout; StornierungsbedingungenNiedrig–Mittel
Marketingmarketing.read marketing.write marketing.removeKampagnen, Vorteile, Vertriebskanäle, WinkLinks, verwaltete soziale Medien, TreueprogrammeNiedrig–Mittel
Contentcontent.read content.write content.removeObjektbeschreibungen, Bewertungen, Medien, Karten, Green-IndexNiedrig–Mittel
Analyticsanalytics.read analytics.write analytics.removeBerichte und Analysen — Umsatz, BestenlistenNiedrig–Mittel
Integrationsintegrations.read integrations.write integrations.removeChannel Manager, externe Buchungssysteme, Google Hotel, Benachrichtigungsendpunkte, BuchungssynchronisationNiedrig–Mittel
Paymentpayment.read payment.write payment.removeZahlungsabwicklung, Stripe, Revolut, Auszahlungen, AbonnementsMittel–Hoch
Accountingaccounting.read accounting.write accounting.removeBuchhaltung, Auszahlungsbuch, AbstimmungMittel–Hoch
MCPmcp.read mcp.write mcp.removeÖffnet den MCP-Transport (/mcp) für KI-AgentenNiedrig–Mittel

Einige Dinge, die Sie beachten sollten:

  • Fordern Sie das Minimum an. Fragen Sie nur die Scopes an, die Ihre Integration tatsächlich verwendet — ein Token mit weiterreichendem Zugriff als nötig hat im Falle eines Lecks eine größere Schadenswirkung.
  • Unbekannte Scopes werden abgelehnt. Das Anfordern eines Scopes, für das Ihre Anwendung nicht registriert ist oder das nicht existiert, schlägt bei der Token-Ausgabe fehl.
  • mcp.* ist nur für KI-Agenten-Clients. Sie benötigen es, um den MCP-Transport zu öffnen; es ist nicht erforderlich für reguläre REST-API-Aufrufe. Siehe Model Context Protocol.