Dieses Tutorial führt Sie durch die einzelnen Schritte zum Einrichten und Testen von Webhooks auf einem ORCID Rekord.
Webhooks-Änderungsbenachrichtigungen sind eine ORCID Premium-Mitgliederfunktion, die es Anwendungen ermöglicht, informiert zu werden, wenn öffentliche Daten innerhalb eines ORCID Änderungen aufzeichnen. Mit dieser Funktion können Premium-Mitglieder über neue Informationen auf dem Laufenden bleiben oder aufgrund einer Aktivität sogar Ereignisse in ihren eigenen Systemen auslösen. Bitte beachten Sie, dass der eigentliche Datenaustausch auf den von der Datenschutzrichtlinie festgelegten Datenschutzniveaus basiert ORCID iD Inhaber und Berechtigungen, die die Person der Mitgliedsorganisation erteilt hat.
Mithilfe der API und der Anmeldeinformationen Ihres Mitglieds-API-Clients können Sie für jeden eine Rückruf-URL registrieren ORCID iD das Sie gerade ansehen, und wir benachrichtigen diese Rückruf-URL, wenn Änderungen auf der Seite auftreten ORCID Rekord.
Besorgen Sie sich ein Webhooks-Zugriffstoken
Um die Webhook-Funktion nutzen zu können, müssen Sie ein Zugriffstoken generieren, mit dem Sie Webhooks erstellen können. Dieser Vorgang muss nur einmal durchgeführt werden. Anschließend kann dasselbe Zugriffstoken zum Erstellen von Webhooks für mehrere verwendet werden ORCID Records.
Jedes Premium-Mitglied kann ein „/webhook“-Zugriffstoken erhalten. Mit einem einzigen Token können Webhooks für mehrere Datensätze registriert werden. Um einen Token zu erhalten, rufen Sie an ORCID API-Token-Endpunkt.
Dieser Prozess wird oft als OAuth-Ablauf für Client-Anmeldeinformationen oder 2-stufiges OAuth bezeichnet.
Unten finden Sie einen Beispielaufruf zum Abrufen des Zugriffstokens. Ersetzen Sie die Platzhalter durch Ihre Anmeldeinformationen (entfernen Sie unbedingt die Klammern).
curl -i -L -H "Accept: application/json"
-d "client_id=(your client ID)"
-d "client_secret=(your client secret)"
-d "scope=/webhook"
-d "grant_type=client_credentials"
"https://sandbox.orcid.org/oauth/token"
Sie erhalten dann ein Zugriffstoken ähnlich dem folgenden zurück.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
Registrieren Sie einen Webhook
Sobald Sie Ihr Webhooks-Zugriffstoken erhalten haben, können Sie mit der Registrierung von Webhooks beginnen. Sie können einen Webhook für einen registrieren ORCID iD ohne die Erlaubnis des Benutzers, da die Funktionalität nur auf öffentlichen Daten basiert, die über die Benutzer verfügbar sind ORCID Rekord.
Webhooks können von Premium-Mitgliedern gegen jeden registriert werden ORCID im Register eintragen. Die Schritte sind:
Verschlüsseln Sie die URL
URL-kodieren Sie die gewünschte URL ORCID Wird aufgerufen, wenn der Benutzerdatensatz aktualisiert wird. Zum Beispiel die folgende URL:
https://nowhere2.com/0000-0002-7465-2162/updated
wird
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Erstellen Sie die URL
Erstellen Sie die vollständige URL für ORCID API-Aufruf beginnend mit der URL des ORCID Datensatz und fügen Sie dann ‚√∫/webhook√√π und die URL hinzu, die Sie aufrufen möchten. Es sollte also wie folgt aussehen: https://api.sandbox.orcid.org/{ORCID}/webhook/{URL-ENCODED-WEBHOOK-URL}
Verwenden Sie beispielsweise die obige Webhook-URL und die ORCID iD 0000-0002-7465-2162, die vollständige URL lautet:
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Registrieren Sie den Webhook
Verwenden Sie das Zugriffstoken Ihres Webhooks, um Ihren Webhook beim Benutzer zu registrieren ORCID aufzeichnen. Sie müssen eine HTTP-PUT-Anfrage verwenden, sollten jedoch nichts in den Hauptteil der Anfrage einfügen.
URL= https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdatedn HEADER: Accept: application/json HEADER: Authorization: Bearer [Your access token]n HEADER: Content-Length: 0n METHOD: PUT
Die Antwort sollte 201 sein. Wenn der Rückruf jedoch bereits vorhanden war, lautet die Antwort 204.
HTTP/1.1 201nServer: nginx/1.1.19nConnection: keep-alive Location: https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Frequestb.in%2Fz57lzcz5
Empfangen des Webhook-Anrufs
Sobald Sie eine Webhook-URL registriert haben, erhalten Sie einen Rückruf, wenn der Benutzer ORCID Datensatz wird aktualisiert. Hook-Benachrichtigungen werden alle fünf Minuten gesendet, um mehrere Anrufe für eine einzelne Benutzersitzung zu vermeiden.
Der ORCID Die Registrierung führt den folgenden HTTP-Aufruf aus, wenn ein Datensatz aktualisiert wird. Die Anfrage verwendet die HTTP-POST-Methode, aber der Hauptteil der Anfrage ist leer.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
Ihr Server sollte mit Standard-HTTP-Antwortcodes antworten. Wenn der Anruf erfolgreich war, sollten Sie also 204 No Content zurückgeben.
HTTP/1.1 204 No Content
Jeder 2xx-Antwortcode bedeutet, dass der Anruf erfolgreich war. Wenn Sie einen Code zurücksenden, der kein 2xx ist, werden wir den Anruf fünf Minuten später erneut versuchen.
Registrierung eines Webhooks aufheben
Sie können die Registrierung eines Webhooks von einem aufheben ORCID iD wenn Sie Daten innerhalb Ihres eigenen Systems nicht mehr mit diesem synchronisieren möchten ORCID.
Die URL zum Aufheben der Registrierung eines Webhooks ist dieselbe wie für die Registrierung. Sie müssen jedoch die HTTP-DELETE-Methode verwenden.
URL= https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
HEADER: Authorization: Bearer [Your access token]
HEADER: Content-Length: 0
METHOD: DELETE
Die Antwort sollte sein 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT