Este tutorial o guiará pelas etapas individuais para configurar e testar webhooks em um ORCID registro.
Notificações de mudança de webhooks são um ORCID recurso de membro premium que permite que os aplicativos sejam informados quando os dados públicos dentro de um ORCID registrar as alterações. Esse recurso permite que os membros premium se mantenham atualizados sobre novas informações ou até mesmo acionem eventos em seus próprios sistemas com base em uma atividade. Observe que a troca de dados real é baseada nos níveis de privacidade definidos pelo ORCID iD titular e as permissões que o indivíduo concedeu à organização membro.
Usando a API e suas credenciais de cliente da API membro, você pode registrar um URL de retorno de chamada para cada ORCID iD que você está assistindo, e notificaremos esse URL de retorno quando ocorrerem alterações no ORCID registro.
Obtenha um token de acesso de webhooks
Para usar o recurso webhook, você precisará gerar um token de acesso que permite criar webhooks. Este processo só precisa ser concluído uma vez, o mesmo token de acesso pode ser usado para criar webhooks em vários ORCID Registros.
Qualquer membro premium pode obter um token de acesso '/webhook'. Um único token pode ser usado para registrar webhooks para vários registros. Para obter um token, você faz uma chamada para o ORCID Ponto de extremidade do token da API.
Esse processo geralmente é conhecido como fluxo OAuth de credenciais do cliente ou OAuth de 2 etapas.
Abaixo está um exemplo de chamada para obter o token de acesso - substitua os marcadores pelas suas credenciais (certifique-se de remover os colchetes).
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"
Em seguida, você receberá um token de acesso semelhante ao seguinte.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
Registre um webhook
Depois de obter o token de acesso dos webhooks, você poderá começar a registrar os webhooks. Você pode registrar um webhook contra um ORCID iD sem a permissão dos usuários, pois a funcionalidade é apenas olhar para os dados públicos que estão disponíveis para os usuários ORCID registro.
Webhooks podem ser registrados por membros premium contra qualquer ORCID registrar no registro. As etapas são:
Codifique o URL
Codifique em URL o URL que você deseja ORCID para chamar quando o registro do usuário é atualizado. Por exemplo, o seguinte URL:
https://nowhere2.com/0000-0002-7465-2162/updated
torna-se
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Construa o URL
Crie o URL completo para o ORCID Chamada de API começando com o URL do ORCID registro, em seguida, adicionando ‚√∫/webhook‚√π e a URL que você quer chamar. Então deve ficar assim: https://api.sandbox.orcid.org/{ORCID} / webhook / {URL-ENCODED-WEBHOOK-URL}
Por exemplo, usando o URL do webhook acima e o ORCID iD 0000-0002-7465-2162, o URL completo é:
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Registre o webhook
Use seu token de acesso de webhooks para registrar seu webhook no usuário ORCID registro. Você precisa usar uma solicitação HTTP PUT, mas não deve incluir nada no corpo da solicitação.
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
A resposta deve ser 201, mas se o retorno de chamada já existir, a resposta 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
Recebendo a chamada do webhook
Depois de registrar um URL de webhook, você receberá um retorno de chamada quando o usuário ORCID registro é atualizado. As notificações de gancho são enviadas a cada cinco minutos para evitar várias chamadas para uma única sessão de usuário.
O ORCID O registro fará a seguinte chamada HTTP quando um registro for atualizado. A solicitação usa o método HTTP POST, mas o corpo da solicitação está vazio.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
Seu servidor deve responder com códigos de resposta HTTP padrão. Portanto, se a chamada for bem-sucedida, você deve retornar 204 Sem conteúdo.
HTTP/1.1 204 No Content
Qualquer código de resposta 2xx significa que a chamada foi bem-sucedida. Se você retornar um código que não seja 2xx, tentaremos ligar novamente cinco minutos depois.
Cancelando o registro de um webhook
Você pode cancelar o registro de um webhook de um ORCID iD se você não deseja mais sincronizar dados dentro de seu próprio sistema com aquele ORCID.
A URL para cancelar o registro de um webhook é a mesma para registrar. No entanto, você precisa usar o 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
A resposta deve ser 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT