خطاف الويب

الوظيفة

تُستخدم مهام Webhook لتلقي البيانات من خارج محرك SKOOR، باستخدام واجهة برمجة التطبيقات REST API. ستنتظر المهمة قيم الإدخال (القيم الرقمية والسلسلة) وتخزن سجل قيم القيم الواردة.

التنبيه

رمز الخطأ، القيم، القيم النصية

بالنسبة لهذا النوع من المهام، يجب تعيين المجمع على واحد يمكن استخدامه لمصادقة مكالمات REST. إذا لم يتم ذلك بعد، فقم بإنشاء مستخدم من نوع Collector في /root/Users/Users.

تفاصيل Webhook

معلمات Webhook

المعلمة

الوصف

المهلة بعد

إذا تم تعيينها، فسيتم تعيين رمز خطأ المهمة إلى 5 (خطأ المهلة) إذا لم يتم إرسال أي بيانات إلى المهمة خلال الوقت المحدد. يجب إعادة تعيين المهلة بواسطة رمز الخطأ المرسل مع تسليم البيانات التالي

القيم

أضف قيمة لكل قيمة رقمية سيتم إرسالها إلى SKOOR REST API. لكل قيمة، يتيح زر تعريف الوحدة تحديد اسم القيمة ووحدتها وقاسمها ودقتها ووصفها

قيم السلسلة

أضف قيمة سلسلة لكل قيمة سلسلة سيتم إرسالها إلى SKOOR REST API. لكل قيمة سلسلة، يتيح زر تعريف الوحدة تحديد اسم قيمة السلسلة ووحدتها ووصفها.

قيم Webhook وحدود الإنذار

القيمة / حد الإنذار

الوصف

القيمة 1-x

قيمة رقمية محددة من قبل المستخدم

قيمة سلسلة 1-x

قيمة سلسلة محددة من قبل المستخدم

رمز الخطأ

رمز خطأ عام للمهمة (انظر قسم رموز أخطاء المهام)

تغذية البيانات إلى مهمة Webhook

يمكن استخدام أي عميل REST لإرسال القيم والقيم السلسلية إلى مهمة Webhook. في هذا المثال، يتم استخدام أداة سطر الأوامر curl. فيما يلي قائمة بنص برمجي bash shell بسيط سيقوم بتغذية المهمة بقيمتين رقمية وقيمة سلسلية واحدة في كل مرة يتم تشغيلها. 

يجب إرسال رمز خطأ مع القيم لإعادة تعيين رمز الخطأ 5 (خطأ انتهاء المهلة) إذا تم تعيين انتهاء المهلة بعد في تكوين المهمة

#!/bin/bash
  
HOST="10.1.0.89"
USER="webhook"
PASSWORD="webhook"
JOBID=830

SESSIONID=$(curl -s -k "https://${HOST}/skoor-webservice/session/login?username=${USER}&password=${PASSWORD}" | python -m json.tool | grep sessionId | cut -d"\"" -f4)

curl -s -k -X POST -H "Content-Type: application/json" -d '{"returnValue1":24.42,"returnValue2":99,"stringValue1":"Skoor Test 3","errorCode":0}' "https://${HOST}/skoor-webservice/webcollector/jobs/$JOBID/values?sessionId=${SESSIONID}"

curl -s -k "https://${HOST}/skoor-webservice/session/logout?sessionId=${SESSIONID}"

يحدد البرنامج النصي أولاً بعض المتغيرات:

  • HOST: عنوان IP أو اسم المضيف لخادم SKOOR حيث تم تكوين مهمة Webhook

  • USER: اسم مستخدم المجمع المُعد على خادم SKOOR

  • PASSWORD: كلمة مرور مستخدم المجمع

  • JOBID: معرف مهمة Webhook التي يجب أن تتلقى القيم

ثم يتم تسجيل الدخول إلى خدمة SKOOR Webservice، لتلقي معرف الجلسة. معرف الجلسة هو سلسلة تبدو كما يلي: d6c38ad55e80b4a3bed39d55699b824e.

يرسل الأمر curl القيم باستخدام ترميز returnValueX و stringValueX ضمن طلب POST إلى خدمة الويب SKOOR، مع معرف جلسة صالح.

يبدو نص طلب POST كما يلي:

{
    "returnValue1": 24.42,
    "returnValue2": 99,
    "stringValue1": "Skoor Test 3",
    "errorCode": 0
}

أو

{
    "returnValue": [24.42, 99],
    "stringValue1": "Skoor Test 3",
    "errorCode": 0
}

يمكن أن تكون البيانات المطلوب إدخالها من أي مصدر، طالما يمكن تمريرها إلى عميل REST.

أرسل طلب POST دائمًا باستخدام الرأس المناسب Content-Type: application/json.

كخطوة أخيرة، يقوم البرنامج النصي بتسجيل الخروج من الجلسة. تأكد من تنفيذ تسجيل الخروج، وإلا فإن تشغيل هذا البرنامج النصي بانتظام سيؤدي إلى ترك العديد من الجلسات مفتوحة على خادم SKOOR.

يمكن أن يوجد البرنامج النصي ويتم تشغيله من أي مضيف يمكنه الوصول إلى خادم SKOOR Engine عبر منفذ HTTPS TCP 443.

لمزيد من المعلومات حول REST API، يرجى الاطلاع على دليل خدمة الويب المتاح في كل تثبيت لـ SKOOR Engine على https://<SKOOR server>/skoor-webservice.

قبل تشغيل البرنامج النصي، يجب تعريف القيمتين وقيمة السلسلة الواحدة في مهمة Webhook باستخدام أزرار الوحدة المقابلة لها:

     

بمجرد تشغيل البرنامج النصي، يجب أن تكون مهمة Webhook قد تلقت القيم:

تضع القيمة 1 المهمة في حالة Minor (ثانوية) نظرًا لأن حدود الإنذار التالية قد تم تحديدها في المهمة: