سيرشدك هذا البرنامج التعليمي خلال الخطوات الفردية لإعداد webhooks واختبارها على ملف ORCID سجل.
إخطارات تغيير Webhooks هي ملف ORCID ميزة الأعضاء المتميزة التي تتيح إعلام التطبيقات عند وجود بيانات عامة داخل ملف ORCID سجل التغييرات. تتيح هذه الميزة للأعضاء المميزين البقاء على اطلاع دائم بالمعلومات الجديدة ، أو حتى إطلاق أحداث في أنظمتهم الخاصة بناءً على نشاط ما. يرجى ملاحظة أن تبادل البيانات الفعلي يعتمد على مستويات الخصوصية التي حددتها ORCID iD صاحب ، والأذونات التي منحها الفرد للمنظمة العضو.
باستخدام API وبيانات اعتماد عميل API العضو الخاص بك ، يمكنك تسجيل عنوان URL لمعاودة الاتصال لكل منهما ORCID iD أنك تشاهدها ، وسنعلمك بعنوان URL لمعاودة الاتصال عند حدوث تغييرات في ORCID سجل.
الحصول على رمز الوصول إلى خطافات الويب
لاستخدام ميزة webhook ، ستحتاج إلى إنشاء رمز وصول يسمح لك بإنشاء خطافات الويب. يجب إكمال هذه العملية مرة واحدة فقط ، ويمكن بعد ذلك استخدام رمز الوصول نفسه لإنشاء خطافات ويب متعددة ORCID السجلات.
يمكن لأي عضو مميز الحصول على رمز وصول "/ webhook". يمكن استخدام رمز واحد لتسجيل خطافات الويب لسجلات متعددة. للحصول على رمز ، يمكنك إجراء مكالمة إلى ORCID نقطة نهاية الرمز المميز لواجهة برمجة التطبيقات.
غالبًا ما يشار إلى هذه العملية باسم تدفق OAuth لبيانات اعتماد العميل ، أو 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"}
تسجيل webhook
بمجرد حصولك على رمز الوصول إلى خطاف الويب الخاص بك ، ستتمكن من بدء تسجيل خطافات الويب. يمكنك تسجيل webhook مقابل ملف ORCID iD دون إذن المستخدمين حيث أن الوظيفة تبحث فقط في البيانات العامة المتاحة للمستخدمين ORCID سجل.
يمكن للأعضاء المميزين تسجيل Webhooks ضد أي 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 يبدأ استدعاء API بعنوان URL الخاص بـ ORCID سجل ثم قم بإضافة ‚√∫ / webhook‚√π وعنوان URL الذي تريد استدعاؤه. لذلك يجب أن يبدو مثل https: //api.sandbox.orcid.org / {ORCID} / webhook / {URL-ENCODED-WEBHOOK-URL}
على سبيل المثال ، استخدام عنوان URL الخاص بـ webhook أعلاه و 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
قم بتسجيل الويب هوك
استخدم رمز الدخول المميز للويب هوك الخاص بك لتسجيل الخطاف الويب الخاص بك مقابل المستخدم 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 تم تحديث السجل. يتم إرسال إشعارات الخطاف كل خمس دقائق لتجنب المكالمات المتعددة لجلسة مستخدم واحدة.
• 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 ، فسنقوم بإعادة محاولة الاتصال بعد خمس دقائق.
إلغاء تسجيل webhook
يمكنك إلغاء تسجيل الويب هوك من ملف ORCID iD إذا لم تعد ترغب في مزامنة البيانات داخل نظامك مع ذلك المحدد ORCID.
عنوان URL الخاص بإلغاء تسجيل Webhook هو نفسه الخاص بالتسجيل. ومع ذلك ، تحتاج إلى استخدام طريقة 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