OAuth 2.0 Erste Schritte mit der Coupa-API
Einleitung
In diesem Beispiel für den Einstieg werden Coupa und Postman verwendet, um zu zeigen, wie Sie die richtigen Schlüsselwerte und den richtigen Umfang festlegen können, um die Schnittstelle für Ihre REST-BEFEHLE zu entsperren.
Während dieses Beispiel Postman verwendet, können Sie die meisten beliebigen REST-CLIENT-TOOLS verwenden, um ein Zugriffstoken abzurufen und zu aktualisieren, das den Zugriff auf die Coupa-API mit OAuth 2.0 freigibt
So funktioniert es
Melden Sie sich bei Coupa als integrationsfähiger Administrator an, um einen OAuth2/OIDC-Client mit einem Gewährungstyp Client-Anmeldeinformationen zu erstellen. Nach der Konfiguration werden die Werte der Client-ID und des Client-Geheimnisses verwendet, um Zugriff auf die Coupa-API zu erhalten.
-
Um Ihre Coupa-Testinstanz mit einer neuen Verbindung einzurichten, gehen Sie zu Setup > Oauth2/OpenID Connect Clients. Sie können ‘oauth‘ in das Suchfeld eingeben, um es schnell zu finden.
-
Klicken Sie auf Erstellen. Für Zuschuss-Typ wählen Sie: Client-Anmeldedaten. Geben Sie einen Namen für den Kunden, die Anmeldung, die Kontaktinformationen und die Kontakt-E-Mail-Adresse an.
-
Wählen Sie die Bereiche aus, die Sie in dieses API-Setup aufnehmen möchten. Bereiche sind wie eine Reihe von Berechtigungen für den API-Schlüssel. Um API-Berechtigungen mit OIDC zu implementieren, haben wir mehrere neue Bereiche erstellt, die den Zugriff auf bestimmte Funktionen für die API ermöglichen. Coupa-Umfänge nehmen die Form service.object.right
an
. Zum Beispielcore.accounting.read
odercore.accounting.write
. Die Liste der Bereiche und der ihnen zugrunde liegenden Coupa-Berechtigungen finden Sie auf der Seite Scope-Verwaltung unter/oauth2/scopes
. Wenn Sie einen Bereich aufschlüsseln, können Sie die spezifischen API-Berechtigungen sehen, die diesem Bereich zugeordnet sind.
Umfänge können unterhttps://{your_instance_address}/oauth2/scopes überprüft werden
.
Um alle gleichzeitig verfügbaren Bereiche auszuwählen, enthält dieses Dokument die Schritte. -
Speichern Sie den Vorgang. Durch das Speichern des Clients erhalten Sie Werte der Client-ID und des Geheimnisses, die benötigt werden, um Zugang zu den von Ihnen definierten API-Umfängen zu erhalten.
Klicken Sie auf Ein-/Ausblenden, um das Geheimnis anzuzeigen und zu kopierenHinweisCoupa-Instanzadressen haben die Form
https://{organization_name} .coupahost.com
(für Kundeninstanzen) oderhttps://{organization_name}.coupacloud.com
(für Partner- und Demo-Instanzen).
Hinweis: Einige Inhalte wurden maschinell übersetzt.
Wir benötigen ein Zugriffstoken, um auf APIs zugreifen zu können, und es dauert nur 24 Stunden. Daher empfiehlt Coupa, das Token alle 20 Stunden zu erneuern (wie ein Aktualisierungstoken). Wenn das vorhandene Token abläuft, muss ein neuer Token-Aufruf erfolgen. Dieser Prozess muss nicht manuell sein, da bei der Integration der POST-AUFRUF als Teil des Skripts alle 20 Stunden ausgeführt werden kann.
Verwenden Sie Postman oder einen ANDEREN REST-Client, um eine OAuth2/OIDC-Clientverbindung für die Verwendung der Coupa-API zu konfigurieren.
https://{your_instance_address}/oauth2/token
application/x-www-form-urlencoded fest
Stellen Sie im POST Body die folgenden Werte ein:
client_id = <Your client Identifier value from step 4 above>
grant_type =
client_credentials
scope = <Copy/paste all the scopes that you selected in client credentials setup without the comma.>
client_secret = <Copy/paste the Coupa Client Secret value created in Step 4 above>
Klicken Sie auf Senden und die POST-Antwort hat das access_token, das generiert wurde, um API-Aufrufe innerhalb des definierten Bereichs für die nächsten 24 Stunden zu autorisieren (expires_in 86399 Sekunden).
Kopieren Sie den Wert access_token aus dem Antworttext und verwenden Sie ihn als Token-Wert in den Autorisierungsheadern für Ihre Coupa-API-Aufrufe innerhalb des Bereichs, den Sie für diese Clientverbindung definiert haben.
Erstellen Sie einen neuen Tab, um API-Aufrufe zum ABRUFEN, POSTEN oder SETZEN usw. durchzuführen, und definieren Sie im Autorisierungsteil des Request Builders den ‘TYP’ = OAuth 2.0
Fügen Sie das access_token als Token-Feldwert ein.
Gehen Sie zu Kopfzeilen und geben Sie für die Accept-Taste einen Wert von:
application/xml
oderapplication/json ein
.Sie müssen die anderen Anforderungsparameter entsprechend dem Aufruf und der Schnittstelle, die Sie verwenden möchten, festlegen und definieren. In den abgebildeten Beispielen sehen Sie einen GET-API-Aufruf an die Invoices-API.
Klicken Sie auf Senden und wenn die Anfrage ordnungsgemäß gestellt wird, sollten Sie eine Antwort wie die unten gezeigte erhalten.
Mit diesem access_token, das im Autorisierungsheader festgelegt ist, können Sie GET, PUT oder Post-Anrufe AN die Client-Bereiche tätigen, die Sie für diese Verbindung definiert haben.
Zusätzliche Ressourcen
Hier sind einige andere verwandte Themen, die Sie interessieren könnten: