Este tutorial lo guiará a través de los pasos individuales para configurar y probar webhooks en un ORCID registro.
Las notificaciones de cambio de webhooks son una ORCID función de miembro premium que permite que las aplicaciones estén informadas cuando los datos públicos dentro de un ORCID cambios de registro. Esta función permite a los miembros premium mantenerse actualizados sobre nueva información, o incluso activar eventos en sus propios sistemas basados en una actividad. Tenga en cuenta que el intercambio de datos real se basa en los niveles de privacidad establecidos por el ORCID iD titular y los permisos que el individuo ha otorgado a la organización miembro.
Usando la API y sus credenciales de cliente de API miembro, puede registrar una URL de devolución de llamada para cada ORCID iD que está viendo, y notificaremos a esa URL de devolución de llamada cuando se produzcan cambios en el ORCID registro.
Obtener un token de acceso a webhooks
Para utilizar la función de webhook, deberá generar un token de acceso que le permita crear webhooks. Este proceso solo debe completarse una vez, el mismo token de acceso se puede usar para crear webhooks en múltiples ORCID Records.
Cualquier miembro premium puede obtener un token de acceso '/webhook'. Se puede usar un solo token para registrar webhooks para varios registros. Para obtener un token, realiza una llamada al ORCID Punto final del token de API.
Este proceso a menudo se denomina flujo de OAuth de credenciales de cliente u OAuth de 2 pasos.
A continuación se muestra un ejemplo de llamada para obtener el token de acceso: reemplace los marcadores de posición con sus credenciales (asegúrese de eliminar los corchetes).
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"
A continuación, se le devolverá un token de acceso similar al siguiente.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
Registrar un webhook
Una vez que haya obtenido su token de acceso a webhooks, podrá comenzar a registrar webhooks. Puede registrar un webhook contra un ORCID iD sin el permiso de los usuarios, ya que la funcionalidad solo mira los datos públicos que están disponibles en los usuarios ORCID registro.
Los miembros premium pueden registrar webhooks contra cualquier ORCID inscribir en el registro. Los pasos son:
Codificar la URL
Codifique la URL que desee ORCID para llamar cuando se actualice el registro del usuario. Por ejemplo la siguiente URL:
https://nowhere2.com/0000-0002-7465-2162/updated
se convierte en
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Construye la URL
Cree la URL completa para ORCID Llamada a la API que comienza con la URL del ORCID registre y luego agregue ‚√∫/webhook‚√π y la URL que desea llamar. Debería verse así: https://api.sandbox.orcid.org/{ORCID} / webhook / {URL-ENCODED-WEBHOOK-URL}
Por ejemplo, utilizando la URL de webhook anterior y la ORCID iD 0000-0002-7465-2162, la URL completa es:
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Registrar el webhook
Use su token de acceso de webhooks para registrar su webhook contra el del usuario ORCID registro. Debe utilizar una solicitud HTTP PUT, pero no debe incluir nada en el cuerpo de la solicitud.
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 respuesta debe ser 201, pero si la devolución de llamada ya existía, la respuesta será 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
Recibir la llamada del webhook
Una vez que haya registrado una URL de webhook, recibirá una devolución de llamada cuando el usuario ORCID se actualiza el registro. Las notificaciones de gancho se envían cada cinco minutos para evitar múltiples llamadas para una sola sesión de usuario.
El sistema ORCID El registro realizará la siguiente llamada HTTP cuando se actualice un registro. La solicitud utiliza el método HTTP POST, pero el cuerpo de la solicitud está vacío.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
Su servidor debe responder con códigos de respuesta HTTP estándar. Por lo tanto, si la llamada se realizó correctamente, debe devolver 204 Sin contenido.
HTTP/1.1 204 No Content
Cualquier código de respuesta 2xx significa que la llamada se realizó correctamente. Si devuelve un código que no es 2xx, volveremos a intentar la llamada cinco minutos más tarde.
Anular el registro de un webhook
Puede anular el registro de un webhook de un ORCID iD si ya no desea sincronizar datos dentro de su propio sistema con ese ORCID.
La URL para anular el registro de un webhook es la misma que para registrarse. Sin embargo, debe utilizar el método 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 respuesta debe ser 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT