Ten samouczek przeprowadzi Cię przez poszczególne kroki konfigurowania i testowania webhooków na ORCID rekord.
Powiadomienia o zmianach elementów webhook są ORCID funkcja członka premium, która umożliwia aplikacjom otrzymywanie informacji, gdy dane publiczne w ramach ORCID zapisywać zmiany. Ta funkcja pozwala członkom premium być na bieżąco z nowymi informacjami, a nawet uruchamiać zdarzenia w ich własnych systemach na podstawie aktywności. Należy pamiętać, że rzeczywista wymiana danych opiera się na poziomach prywatności określonych przez ORCID iD posiadacza oraz uprawnienia, które dana osoba udzieliła organizacji członkowskiej.
Korzystając z interfejsu API i poświadczeń klienta interfejsu API członka, możesz zarejestrować adres URL wywołania zwrotnego dla każdego z nich ORCID iD które oglądasz, a my powiadomimy ten adres URL wywołania zwrotnego, gdy nastąpią zmiany w ORCID rekord.
Uzyskaj token dostępu do elementów webhook
Aby korzystać z funkcji webhook, musisz wygenerować token dostępu, który umożliwia tworzenie webhooków. Ten proces należy wykonać tylko raz, ten sam token dostępu może być następnie użyty do utworzenia webhooków na wielu ORCID Records.
Każdy członek premium może otrzymać token dostępu „/webhook”. Pojedynczy token może służyć do rejestrowania elementów webhook dla wielu rekordów. Aby otrzymać token, dzwonisz do ORCID Punkt końcowy tokenu interfejsu API.
Ten proces jest często nazywany przepływem OAuth poświadczeń klienta lub 2-etapową autoryzacją OAuth.
Poniżej znajduje się przykładowe wywołanie w celu uzyskania tokena dostępu — zastąp symbole zastępcze swoimi poświadczeniami (pamiętaj o usunięciu nawiasów).
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"
Następnie zostanie zwrócony token dostępu podobny do poniższego.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
Zarejestruj webhooka
Po uzyskaniu tokena dostępu do webhooków będziesz mógł rozpocząć rejestrację webhooków. Możesz zarejestrować webhook przeciwko ORCID iD bez zgody użytkowników, ponieważ funkcja przegląda tylko dane publiczne, które są dostępne dla użytkowników ORCID rekord.
Webhooki mogą być rejestrowane przez członków premium przeciwko dowolnym ORCID wpis w rejestrze. Kroki są następujące:
Zakoduj adres URL
Adres URL — zakoduj żądany adres URL ORCID zadzwonić, gdy rekord użytkownika zostanie zaktualizowany. Na przykład następujący adres URL:
https://nowhere2.com/0000-0002-7465-2162/updated
staje się
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Zbuduj adres URL
Zbuduj pełny adres URL dla ORCID Wywołanie interfejsu API rozpoczynające się od adresu URL pliku ORCID rekord, a następnie dodając ‚√∫/webhook‚√π i adres URL, który chcesz wywołać. Powinno to wyglądać tak: https://api.sandbox.orcid.org/{ORCID}/webhook/{URL-ZAKODOWANY-WEBHOOK-URL}
Na przykład przy użyciu powyższego adresu URL elementu webhook i pliku ORCID iD 0000-0002-7465-2162, pełny adres URL to:
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
Zarejestruj webhooka
Użyj swojego tokena dostępu do webhooków, aby zarejestrować swój webhook względem użytkownika ORCID nagrywać. Musisz użyć żądania HTTP PUT, ale nie powinieneś niczego umieszczać w treści żądania.
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
Odpowiedzią powinno być 201, ale jeśli wywołanie zwrotne już istniało, odpowiedź wyniesie 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
Odbieranie wywołania webhooka
Po zarejestrowaniu adresu URL elementu webhook otrzymasz oddzwonienie, gdy użytkownik ORCID rekord jest aktualizowany. Powiadomienia o hakach są wysyłane co pięć minut, aby uniknąć wielu połączeń w ramach jednej sesji użytkownika.
Opona ORCID Rejestr wykona następujące wywołanie HTTP, gdy rekord zostanie zaktualizowany. Żądanie używa metody HTTP POST, ale treść żądania jest pusta.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
Twój serwer powinien odpowiedzieć standardowymi kodami odpowiedzi HTTP. Jeśli więc połączenie się powiodło, powinieneś zwrócić 204 No Content.
HTTP/1.1 204 No Content
Dowolny kod odpowiedzi 2xx oznacza, że połączenie się powiodło. Jeśli zwrócisz kod inny niż 2xx, spróbujemy ponownie zadzwonić pięć minut później.
Wyrejestrowywanie webhooka
Możesz wyrejestrować webhooka z pliku ORCID iD jeśli nie chcesz już synchronizować danych we własnym systemie z tym konkretnym ORCID.
Adres URL służący do wyrejestrowania elementu webhook jest taki sam, jak w przypadku rejestracji. Musisz jednak użyć metody 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
Odpowiedź powinna być 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT