이 자습서에서는 웹훅을 설정하고 테스트하는 개별 단계를 안내합니다. ORCID 기록.
Webhooks 변경 알림은 ORCID 프리미엄 회원 기능은 ORCID 기록 변경. 이 기능을 통해 프리미엄 회원은 새로운 정보에 대한 최신 정보를 얻거나 활동에 따라 자체 시스템에서 이벤트를 트리거 할 수도 있습니다. 실제 데이터 교환은에서 설정 한 개인 정보 수준을 기반으로합니다. ORCID iD 소유자 및 개인이 회원 조직에 부여한 권한.
API 및 멤버 API 클라이언트 자격 증명을 사용하여 각각에 대한 콜백 URL을 등록 할 수 있습니다. ORCID iD 귀하가 보고 있다는 사실을 확인하고 변경 사항이 있을 때 해당 콜백 URL을 알려드립니다. ORCID 기록.
웹 후크 액세스 토큰 얻기
웹훅 기능을 사용하려면 웹훅을 생성 할 수있는 액세스 토큰을 생성해야합니다. 이 프로세스는 한 번만 완료하면되며 동일한 액세스 토큰을 사용하여 여러 서버에서 웹훅을 만들 수 있습니다. ORCID 기록.
프리미엄 회원이라면 누구나 '/webhook' 액세스 토큰을 얻을 수 있습니다. 단일 토큰을 사용하여 여러 레코드에 대한 웹후크를 등록할 수 있습니다. 토큰을 얻으려면 다음을 호출합니다. ORCID API 토큰 엔드 포인트.
이 프로세스를 종종 클라이언트 자격 증명 OAuth 흐름 또는 2 단계 OAuth라고합니다.
다음은 액세스 토큰을 얻기위한 호출의 예입니다. 자리 표시자를 자격 증명으로 바꿉니다 (대괄호를 제거해야 함).
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"
그러면 다음과 유사한 액세스 토큰이 반환됩니다.
{"access_token":"5eb23750-1e19-47a3-b6f6-26635c34e8ee",
"token_type":"bearer",
"refresh_token":"c7d3d5fd-e4c0-4825-89f2-7cfb4a1cf01e",
"expires_in":631138518,
"scope":"/webhook"}
웹훅 등록
웹훅 액세스 토큰을 받으면 웹훅 등록을 시작할 수 있습니다. 웹훅을 등록 할 수 있습니다. ORCID iD 기능은 사용자가 사용할 수 있는 공개 데이터만 보기 때문에 사용자의 허가 없이 ORCID 기록.
Webhook은 프리미엄 회원이 ORCID 레지스트리에 기록합니다. 단계는 다음과 같습니다.
URL 인코딩
원하는 URL을 URL 인코딩 ORCID 사용자의 레코드가 업데이트될 때 호출합니다. 예를 들어 다음 URL:
https://nowhere2.com/0000-0002-7465-2162/updated
된다
https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
URL 구축
에 대한 전체 URL을 작성하십시오. ORCID URL로 시작하는 API 호출 ORCID 기록한 다음 ‚√∫/webhook‚√π와 호출하려는 URL을 추가합니다. 그러면 https://api.sandbox.orcid.org/{처럼 보여야 합니다.ORCID} / webhook / {URL-ENCODED-WEBHOOK-URL}
예를 들어 위의 웹훅 URL을 사용하고 ORCID iD 0000-0002-7465-2162, 전체 URL은 다음과 같습니다.
https://api.sandbox.orcid.org/0000-0002-7465-2162/webhook/https%3A%2F%2Fnowhere2.com%2F0000-0002-7465-2162%2Fupdated
웹훅 등록
Webhook, 액세스 토큰을 사용하여 사용자에 대한 Webhook 등록 ORCID 기록. HTTP PUT 요청을 사용해야하지만 요청 본문에 아무것도 포함하지 않아야합니다.
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
응답은 201이어야하지만 콜백이 이미 존재하는 경우 응답은 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
웹 후크 호출 받기
웹훅 URL을 등록한 후에는 사용자가 ORCID 기록이 업데이트됩니다. 단일 사용자 세션에 대한 다중 호출을 방지하기 위해 후크 알림이 XNUMX 분마다 전송됩니다.
The ORCID 레코드가 업데이트되면 레지스트리는 다음 HTTP 호출을 수행합니다. 요청이 HTTP POST 메서드를 사용하지만 요청 본문이 비어 있습니다.
curl -v -X POST https://nowhere2.com/0000-0002-7253-3645/updated
서버는 표준 HTTP 응답 코드로 응답해야합니다. 따라서 호출이 성공하면 204 No Content를 반환해야합니다.
HTTP/1.1 204 No Content
2xx 응답 코드는 호출이 성공했음을 의미합니다. 2xx가 아닌 코드를 반환하면 XNUMX 분 후에 다시 통화를 시도합니다.
웹훅 등록 취소
웹 후크 등록을 취소 할 수 있습니다. ORCID iD 더 이상 자신의 시스템 내의 데이터를 특정 시스템과 동기화하지 않으려면 ORCID.
웹훅 등록 해제를위한 URL은 등록을위한 URL과 동일합니다. 그러나 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
응답은 204 No Content
.
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Fri, 05 Apr 2013 12:49:17 GMT