Ce didacticiel vous guidera à travers les différentes étapes de configuration et de test des webhooks sur un ORCID record.
Les notifications de modification des webhooks sont un ORCID fonctionnalité de membre premium qui permet aux applications d'être informées lorsque des données publiques dans un ORCID enregistrer les changements. Cette fonctionnalité permet aux membres premium de rester à jour sur les nouvelles informations, ou même de déclencher des événements dans leurs propres systèmes en fonction d'une activité. Veuillez noter que l'échange de données réel est basé sur les niveaux de confidentialité définis par le ORCID iD titulaire et les autorisations que la personne a accordées à l'organisation membre.
À l'aide de l'API et de vos informations d'identification client API membre, vous pouvez enregistrer une URL de rappel pour chaque ORCID iD que vous regardez, et nous informerons cette URL de rappel lorsque des changements se produisent sur le ORCID record.
Obtenir un jeton d'accès aux webhooks
Pour utiliser la fonction webhook, vous devrez générer un jeton d'accès qui vous permet de créer des webhooks. Ce processus ne doit être effectué qu'une seule fois, le même jeton d'accès peut ensuite être utilisé pour créer des webhooks sur plusieurs ORCID Records.
Tout membre premium peut obtenir un jeton d'accès '/webhook'. Un seul jeton peut être utilisé pour enregistrer des webhooks pour plusieurs enregistrements. Pour obtenir un jeton, vous appelez le ORCID Point de terminaison du jeton API.
Ce processus est souvent appelé flux OAuth des informations d'identification du client ou OAuth en 2 étapes.
Vous trouverez ci-dessous un exemple d'appel pour obtenir le jeton d'accès - remplacez les espaces réservés par vos informations d'identification (assurez-vous de supprimer les crochets.)
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"
Vous recevrez alors un jeton d'accès semblable au suivant.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
Enregistrer un webhook
Une fois que vous avez obtenu votre jeton d'accès aux webhooks, vous pourrez commencer à enregistrer des webhooks. Vous pouvez enregistrer un webhook contre un ORCID iD sans l'autorisation des utilisateurs car la fonctionnalité ne regarde que les données publiques disponibles sur les utilisateurs ORCID record.
Les webhooks peuvent être enregistrés par les membres premium contre n'importe quel ORCID enregistrer dans le registre. Les étapes sont :
Encoder l'URL
URL-encoder l'URL que vous voulez ORCID à appeler lorsque le dossier de l'utilisateur est mis à jour. Par exemple l'URL suivante :
https://nowhere2.com/0000-0002-7465-2162/updated
devient
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Construire l'URL
Créez l'URL complète pour le ORCID Appel d'API commençant par l'URL du ORCID enregistrez puis ajoutez ‚√∫/webhook‚√π et l'URL que vous souhaitez appeler. Cela devrait donc ressembler à https://api.sandbox.orcid.org/{ORCID}/webhook/{URL-ENCODÉ-WEBHOOK-URL}
Par exemple, en utilisant l'URL du webhook ci-dessus et le ORCID iD 0000-0002-7465-2162, l'URL complète est :
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Enregistrer le webhook
Utilisez vos webhooks‚ jeton d'accès pour enregistrer votre webhook auprès de l'utilisateur ORCID enregistrer. Vous devez utiliser une requête HTTP PUT, mais vous ne devez rien inclure dans le corps de la requête.
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
La réponse doit être un 201, mais si le rappel existait déjà, alors la réponse sera 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
Réception de l'appel du webhook
Une fois que vous avez enregistré une URL de webhook, vous recevrez un rappel lorsque l'utilisateur ORCID l'enregistrement est mis à jour. Les notifications de crochet sont envoyées toutes les cinq minutes pour éviter plusieurs appels pour une seule session utilisateur.
Le ORCID Le registre effectuera l'appel HTTP suivant lorsqu'un enregistrement est mis à jour. La requête utilise la méthode HTTP POST, mais le corps de la requête est vide.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
Votre serveur doit répondre avec des codes de réponse HTTP standard. Ainsi, si l'appel a réussi, vous devez renvoyer 204 No Content.
HTTP/1.1 204 No Content
Tout code de réponse 2xx signifie que l'appel a réussi. Si vous retournez un code qui n'est pas un 2xx, nous réessayerons l'appel cinq minutes plus tard.
Désinscrire un webhook
Vous pouvez désinscrire un webhook d'un ORCID iD si vous ne souhaitez plus synchroniser les données de votre propre système avec ce ORCID.
L'URL pour désinscrire un webhook est la même que pour l'inscription. Cependant, vous devez utiliser la méthode HTTP DELETE.
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
La réponse doit être 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT