Questo tutorial ti guiderà attraverso i singoli passaggi per configurare e testare i webhook su un ORCID record.
Le notifiche di modifica dei webhook sono un ORCID funzione membro premium che consente alle applicazioni di essere informate quando i dati pubblici all'interno di un ORCID registrare le modifiche. Questa funzione consente ai membri premium di rimanere aggiornati su nuove informazioni o persino di attivare eventi nei propri sistemi in base a un'attività. Si prega di notare che l'effettivo scambio di dati si basa sui livelli di privacy stabiliti dal ORCID iD titolare e le autorizzazioni che l'individuo ha concesso all'organizzazione membro.
Utilizzando l'API e le credenziali del tuo client API membro, puoi registrare un URL di richiamata per ciascuno ORCID iD che stai guardando e notificheremo l'URL di richiamata quando si verificano cambiamenti sul ORCID record.
Ottieni un token di accesso ai webhook
Per utilizzare la funzione webhook dovrai generare un token di accesso che ti permetta di creare webhook. Questo processo deve essere completato solo una volta, lo stesso token di accesso può quindi essere utilizzato per creare webhook su più ORCID Records.
Tutti i membri premium possono ottenere un token di accesso "/webhook". È possibile utilizzare un singolo token per registrare webhook per più record. Per ottenere un token, si effettua una chiamata al ORCID Endpoint del token API.
Questo processo viene spesso definito flusso OAuth delle credenziali client o OAuth in due passaggi.
Di seguito è riportato un esempio di chiamata per ottenere il token di accesso: sostituisci i segnaposto con le tue credenziali (assicurati di rimuovere le parentesi).
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"
Ti verrà quindi restituito un token di accesso simile al seguente.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
Registra un webhook
Una volta ottenuto il token di accesso ai webhook, potrai iniziare a registrare i webhook. Puoi registrare un webhook contro an ORCID iD senza il permesso degli utenti poiché la funzionalità sta solo guardando i dati pubblici disponibili sugli utenti ORCID record.
I webhook possono essere registrati dai membri premium contro qualsiasi ORCID registrare nel registro. I passaggi sono:
Codifica l'URL
Codifica URL l'URL che desideri ORCID da chiamare quando il record dell'utente viene aggiornato. Ad esempio il seguente URL:
https://nowhere2.com/0000-0002-7465-2162/updated
diventa
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Costruisci l'URL
Crea l'URL completo per il for ORCID Chiamata API che inizia con l'URL del ORCID registra quindi aggiungendo ‚√∫/webhook‚√π e l'URL che vuoi chiamare. Quindi dovrebbe apparire come https://api.sandbox.orcid.org/{ORCID}/webhook/{URL-CODIFICATO-WEBHOOK-URL}
Ad esempio, utilizzando l'URL del webhook sopra e il ORCID iD 0000-0002-7465-2162, l'URL completo è:
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Registra il webhook
Usa il tuo webhook‚ token di accesso per registrare il tuo webhook rispetto a quello dell'utente ORCID disco. Devi utilizzare una richiesta HTTP PUT, ma non dovresti includere nulla nel corpo della richiesta.
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 risposta dovrebbe essere 201, ma se la richiamata esisteva già, la risposta sarà 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
Ricezione della chiamata webhook
Dopo aver registrato un URL webhook, riceverai una richiamata quando l'utente ORCID il registro è aggiornato. Le notifiche di aggancio vengono inviate ogni cinque minuti per evitare chiamate multiple per una singola sessione utente.
La ORCID Il registro eseguirà la seguente chiamata HTTP quando un record viene aggiornato. La richiesta utilizza il metodo HTTP POST, ma il corpo della richiesta è vuoto.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
Il tuo server dovrebbe rispondere con codici di risposta HTTP standard. Quindi, se la chiamata è andata a buon fine, dovresti restituire 204 No Content.
HTTP/1.1 204 No Content
Qualsiasi codice di risposta 2xx indica che la chiamata è andata a buon fine. Se restituisci un codice che non è un 2xx, riproveremo la chiamata cinque minuti dopo.
Annullamento della registrazione di un webhook
Puoi annullare la registrazione di un webhook da un ORCID iD se non vuoi più sincronizzare i dati all'interno del tuo sistema con quello specifico ORCID.
L'URL per annullare la registrazione di un webhook è lo stesso della registrazione. Tuttavia, è necessario utilizzare il metodo DELETE HTTP.
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 risposta dovrebbe essere 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT