نقاط نهاية API لإعداد التقارير
نقاط نهاية API لإعداد التقارير
تنبيه
نقاط النهاية المضمنة في API لإعداد التقارير هي نقاط نهاية خاصة لا تأتي مع سياسة إيقاف في الوقت الحالي. قد تغير Anthology Ally نقاط النهاية هذه أو تحدثها بناءً على خارطة الطريق أو الإصدارات المستقبلية لدينا.
اطَّلع على الوثائق الفنية التالية للتعرف على كيفية إعداد نقاط النهاية وتخصيصها بشكل مناسب. لا تتردد في الاطلاع على كيفية تكامل API الخاصة بـ Ally مع أداة إعداد التقارير الخارجية للحصول على إرشادات إضافية.
الأساليب المتاحة
هناك أسلوبان متاحان لـ Ally API لإعداد التقارير. يصفهما القسم التالي:
أسلوب | عنوان URL | نوع طلب HTTP | الوصف |
عام | https://[region]/api/v2/clients/[Ally Client ID]/reports/overall | الحصول على | بشكل افتراضي، يُظهِر هذا الأسلوب مجموعة بيانات تحتوي على معلومات حول المقرر الدراسي، WYSIWYG، ونتائج الملفات وأنواع الملفات المشمولة في كل مقرر دراسي من مثيل LMS، بغض النظر عما إذا كان Ally ممكّنًا أم لا. |
المشكلات | https://[region]/api/v2/clients/[Ally Client ID]/reports/issues | الحصول على | بشكل افتراضي، يُظهِر هذا الأسلوب مجموعة بيانات تحتوي على المعلومات ذات الصلة بجميع المشكلات المتعلقة بإمكانية وصول ذوي الاحتياجات الخاصة التي تحدث في كل مقرر دراسي، والمضمنة في مثيل LMS، بغض النظر عما إذا كان Ally ممكّنًا أم لا. |
فكرة مفيدة
استبدل [Ally Client ID] بمعرف Ally الخاص بك. إذا كنت لا تعلم المعرِّف الخاص بك، فإنه يمكنك إنشاء تذكرة دعم لطلبها.
فكرة مفيدة
استبدل [Region] حسب المنطقة التي تستضيف فيها بيئة Ally لمؤسستك:
مركز بيانات الولايات المتحدة: prod.ally.ac
مركز البيانات الكندي: prod-ca-central-1.ally.ac
مركز البيانات الأوروبي: prod-eu-central-1.ally.ac
مركز بيانات سنغافورة: prod-ap-southeast-1.ally.ac
مركز البيانات الأسترالي: prod-ap-southeast-2.ally.ac
استجابة حالة HTTP
تشتمل Ally API على حقل للحالة في بيانات التعريف كما يلي:
الحالة 200 - ناجح: تم استلام طلبك بنجاح ومجموعة البيانات المطلوبة هي جزء من الاستجابة.
الحالة 202 - المعالجة: تم استلام طلبك بنجاح ولكن مجموعة البيانات قيد الإعداد، وهي غير متوفرة بعد. كرر طلبك بعد مرور بعض الوقت (يُوصى بدقيقة واحدة على الأقل).
الحالة 401 - غير مصرح به: معرف عميل Ally أو رمز التفويض المميز غير صحيح.
الحالة 400 - طلب غير صحيح: يحتوي عنوان URL على اسم معلمة غير صالح، على سبيل المثال، خيار فلتر أو عامل تشغيل أو قيمة غير معروفة. راجع بناء جملة URL. تذكر أن بعض خيارات التصفية والفرز حساسة لحالة الأحرف.
توثيق الطرق
طريقة: بشكل عام
HTTP طلب : GET
https:// [Region]/api/v2/clients/[Ally Client ID]/reports/overall
استبدل [Ally Client ID] بمعرف Ally الخاص بك. إذا كنت لا تعلم المعرِّف الخاص بك، فإنه يمكنك إنشاء تذكرة دعم لطلبها.
استبدل [Region] حسب المنطقة التي تستضيف فيها بيئة Ally لمؤسستك:
مركز بيانات الولايات المتحدة: prod.ally.ac
مركز البيانات الكندي: prod-ca-central-1.ally.ac
مركز البيانات الأوروبي: prod-eu-central-1.ally.ac
مركز بيانات سنغافورة: prod-ap-southeast-1.ally.ac
مركز البيانات الأسترالي: prod-ap-southeast-2.ally.ac
التفويض: الرمز المميز لحامل OAuth.
المعلمات: عوامل تصفية اختيارية أو خيارات فرز.
نص الطلب: لا يوجد
الاستجابة:
{
"data": [
{
"application/x-quiz": 2,
"observedDeletedOn": "",
"termName": "Fall 2016",
"courseId": "1",
"application/x-announcement": 0,
"image": 4,
"termId": "2",
"document": 93,
"allyEnabled": true,
"pdf": 74,
"courseCode": "BIO101",
"application/x-assignment": 0,
"departmentId": "1",
"totalFiles": 192,
"courseUrl": "https://ally.instructure.com/courses/1",
"departmentName": "Anthology Ally",
"application/x-page": 1,
"filesScore": 0.6022810739019293,
"application/x-syllabus": 1,
"numberOfStudents": 1,
"html-page": 5,
"lastCheckedOn": "2022-04-13 15:33:23",
"WYSIWYGScore": 1.0,
"totalWYSIWYG": 5,
"courseName": "Biology 101",
"application/x-discussion-topic": 1,
"other": 11,
"overallScore": 0.6129724428830603,
"presentation": 5
}
],
"metadata": {
"filteredTotal": 0,
"total": 7186,
"to": 7186,
"status": "Processing",
"from": 1
}
} الطريقة: القضايا
HTTP طلب : GET
https:// [Region]/api/v2/clients/[Ally Client ID]/reports/overall
استبدل [Ally Client ID] ID بمعرّف Ally الخاص بك. إذا كنت لا تعلم المعرِّف الخاص بك، فإنه يمكنك إنشاء تذكرة دعم لطلبها.
استبدل [Region] حسب المنطقة التي تستضيف فيها بيئة Ally لمؤسستك:
مركز بيانات الولايات المتحدة: prod.ally.ac
مركز البيانات الكندي: prod-ca-central-1.ally.ac
مركز البيانات الأوروبي: prod-eu-central-1.ally.ac
مركز بيانات سنغافورة: prod-ap-southeast-1.ally.ac
مركز البيانات الأسترالي: prod-ap-southeast-2.ally.ac
التفويض: الرمز المميز لحامل OAuth
المعلمات: عوامل تصفية اختيارية أو خيارات فرز.
نص الطلب: لا يوجد
الاستجابة:
{
"data": [
{
"imageDecorative2": 4,
"htmlEmptyHeading2": 0,
"imageSeizure1": 2,
"observedDeletedOn": "",
"htmlObjectAlt2": 0,
"security1": 3,
"termName": "Fall 2016",
"courseId": "1",
"languageCorrect3": 14,
"htmlColorContrast2": 2,
"htmlLinkName3": 0,
"termId": "2",
"languagePresence3": 10,
"allyEnabled": true,
"htmlLabel2": 0,
"alternativeText2": 68,
"htmlImageAlt2": 0,
"htmlImageRedundantAlt3": 0,
"headingsPresence2": 20,
"courseCode": "BIO101",
"headingsSequential3": 4,
"departmentId": "1",
"htmlHeadingsPresence2": 0,
"courseUrl": "https://ally.instructure.com/courses/1",
"headingsStartAtOne3": 4,
"departmentName": "Anthology Ally",
"htmlHeadingsStart2": 0,
"htmlTdHasHeader2": 0,
"htmlList3": 0,
"htmlDefinitionList3": 0,
"htmlCaption2": 0,
"tableHeaders2": 23,
"htmlEmptyTableHeader2": 0,
"htmlHasLang3": 1,
"ocred2": 0,
"scanned1": 6,
"htmlBrokenLink2": 0,
"numberOfStudents": 1,
"htmlHeadingOrder3": 0,
"lastCheckedOn": "2022-04-13 15:33:23",
"headingsHigherLevel3": 0,
"contrast2": 28,
"title3": 46,
"imageOcr3": 0,
"tagged2": 4,
"libraryReference": 172,
"courseName": "Biology 101",
"imageContrast2": 0,
"imageDescription2": 4,
"htmlTitle3": 1,
"parsable1": 2
}
],
"metadata": {
"filteredTotal": 0,
"total": 7186,
"to": 7186,
"status": "Processing",
"from": 1
}
} حيث:
البيانات: تحتوي على مجموعة بيانات النتائج.
بيانات التعريف:
إلى: سجل البيانات التي سيتم جلبها إليها ، يكون "إزاحة" + "حد" أو "إجمالي" إذا تجاوز المبلغ "الإجمالي".
من: سجل ستبدأ منه البيانات ، إنه "تعويض" + 1.
الإجمالي: إجمالي عدد المقررات الدراسية التي درسها Ally في مثيل LMS.
الإزاحة - من أي سجل يبدأ
الصف الأول هو الإزاحة = 0 ،
إذا كانت (الإزاحة < 0)، فسيتلقى المستخدم إذًا الخطأ 400 - [قيمة غير صالحة (المعلمة = الإزاحة، الرسالة = لا توجد مثل هذه البيانات)]،
إذا كانت (الإزاحة >= الإجمالي) =>، فسيتلقى المستخدم إذًا الخطأ 400 - [قيمة غير صالحة (المعلمة = الإزاحة، الرسالة = لا توجد مثل هذه البيانات)]
الحد - عدد السجلات التي يتم استردادها بدءا من الإزاحة
إذا كان (الحد < 1)، فسيتلقى المستخدم إذًا الخطأ 400 - [قيمة غير صالحة (المعلمة = الحد، الرسالة = الحد خارج الحدود)]
إذا كان (الحد < 10000)، فسيتلقى المستخدم إذًا الخطأ 400 - [قيمة غير صالحة (المعلمة = الحد، الرسالة = الحد خارج الحدود)]
إذا كانت (الإزاحة < الإجمالي && الإزاحة + الحد > الإجمالي)، فسنقوم بتغيير الحد في الخلفية من أجلك، وسيتم استرجاع البيانات حتى النهاية (الإجمالي)
عوامل التصفية وخيارات الفرز
يمكن تصفية استجابات نقطة النهاية في عنوان URL. يصف هذا القسم الخيارات المتاحة:
خيارات الفرز
يمكنك تحديد ما إذا كنت تريد عرض النتائج التي تم فرزها بترتيب تصاعدي أو تنازلي مع مراعاة معيار واحد. إذا كنت بحاجة إلى إضافة خيار فرز، فإنه يجب عليك إضافة معلمة الفرز كما هو موضح أدناه:
endpoint-url?sort=<Sort parameter value>
حيث يمكن أن تكون قيمة المعلمة <Sort parameter value> أيا من قيم المعلمات التالية:
قيمة المعلمة | الوصف | مدعومة في | مثال |
اسم المقرر الدراسي | الترتيب حسب اسم المقرر الدراسي ، على سبيل المثال الكيمياء 101 (courseCode غير صالح) | نقاط نهاية "عام" ونقاط نهاية "المشكلات" | endpoint-url?sort=courseName |
معرّف المقرر الدراسي | الترتيب حسب معرف الدورة التدريبية، على سبيل المثال 123456 (عادة ما يكون هذا عبارة عن عدد صحيح) | نقاط نهاية "عام" ونقاط نهاية "المشكلات" | endpoint-url?sort=courseId |
termId | الفرز حسب معرِّف الفصل الدراسي. على سبيل المثال المبلغ | نقاط نهاية "عام" ونقاط نهاية "المشكلات" | endpoint-url?sort=termId |
termName | فرز حسب اسم المصطلح. على سبيل المثال الصيف | نقاط نهاية "عام" ونقاط نهاية "المشكلات" | endpoint-url?sort=termName |
الدرجة الإجمالية | الفرز حسب الدرجة الكلية لإمكانية وصول ذوي الاحتياجات الخاصة لكل مقرر دراسي. | نقطة نهاية "عام" فحسب. | endpoint-url?sort=overallScore |
filesScore | فرز النتائج حسب درجة الملف لكل مقرر دراسي. | نقطة نهاية "عام" فحسب. | endpoint-url?sort=filesScore |
wysiwygScore | فرز النتائج حسب درجة WYSIWYG لكل مقرر دراسي. | نقطة نهاية "عام"، وليست متاحة إلا لـ Ally لنظام إدارة التعلم (LMS) فحسب. | endpoint-url?sort= wysiwygScore |
webPagesScore | فرز النتائج حسب درجة صفحة الويب لكل مجال. | نقطة نهاية "عام"، وليست متاحة إلا لـ Ally للويب وWCM فحسب. | endpoint-url?sort= webPagesScore |
ملاحظة
قيم المعلمات حساسة لحالة الحروف، ويمكن استخدام خيار فرز واحد فحسب في كل مرة.
بشكل افتراضي، يتم فرز النتائج حسب الترتيب التصاعدي. إذا كنت تريد تعيين ترتيب مختلف، فإنه يمكنك إضافة معلمة الترتيب:
endpoint-url?sort=<Sort parameter value>&order=<Order value>
حيث يمكن أن تكون قيمة < الطلب>: asc أو desc
مثال:
https://prod.ally.ac/api/v2/clients/0/issues?sort=courseName&order=desc
خيارات التصفية
يمكنك استخدام خيارات التصفية للحصول على استجابات أصغر أو أقل استنادًا إلى المعايير المحددة. إذا كنت بحاجة إلى إضافة خيار تصفية، فيجب عليك إضافة معلمة التصفية كما هو موضح أدناه:
معلمات التصفية (بدون المشغل)
اسم معلمة عامل التصفية | الوصف | مدعومة في |
allyEnabled | يمكنك الحصول على المقررات الدراسية حيث تكون Ally نشطة القيمة صحيحة أو خاطئة | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
departmentId | التصفية حسب معرِّف القسم | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
departmentName | التصفية حسب اسم القسم. على سبيل المثال الهندسة | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
termId | التصفية حسب معرِّف الفصل الدراسي | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
termName | قم بالتصفية حسب اسم المصطلح. على سبيل المثال الصيف | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
معرّف المقرر الدراسي | التصفية حسب المعرف أو المقرر الدراسي. على سبيل المثال 123456 (عادة ما يكون هذا عبارة عن عدد صحيح) | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
اسم المقرر الدراسي | التصفية حسب اسم المقرر الدراسي. على سبيل المثال الكيمياء 101 (courseCode غير صالح) | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
نقطة النهاية URL؟<Filter Parameter>=<value>
معلمات عامل التصفية (مع وجود عوامل)
نقطة النهاية URL؟<Filter Parameter>=<Operator>:<value>
حيث:
<Filter Parameter>: تصفية المعلمة للحصول على مجموعة أصغر من النتائج. يمكنك الرجوع إلى المعلمات المدعومة في الجدول أدناه.
<Operator>: يجب عليك استخدام عامل للتصفية، مثل "يساوي" أو "لا يساوي".
<value>: القيمة المستخدمة في عامل التصفية.
اسم معلمة عامل التصفية | نوع الحقل | العوامل المدعومة | الوصف | مدعومة في |
allyEnabled | منطقي | eq, ne | يمكنك الحصول على المقررات الدراسية حيث تكون Ally نشطة. القيمة "صواب" أو "خطأ". | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
اسم المقرر الدراسي | سلسلة | eq, ne, co, nc, sw | التصفية حسب اسم المقرر الدراسي. على سبيل المثال الكيمياء 101 (courseCode غير صالح) | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
معرّف المقرر الدراسي | سلسلة | eq, ne, co, nc, sw | التصفية حسب المعرّف أو المقرر الدراسي. على سبيل المثال 123456 (عادة ما يكون هذا عبارة عن عدد صحيح) | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
termId | سلسلة | eq, ne, co, nc, sw | التصفية حسب معرِّف الفصل الدراسي. | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
termName | سلسلة | eq, ne, co, nc, sw | قم بالتصفية حسب اسم المصطلح. على سبيل المثال الصيف | نقاط نهاية "عام" ونقاط نهاية "المشكلات" |
الدرجة الإجمالية | رقم | eq, ne, le, lt, ge, gt | يمكنك التصفية حسب النتيجة الإجمالية. على سبيل المثال الدورات ذات الدرجة التي تساوي 90% | نقطة النهاية الإجمالية وفي جميع حلول Ally: LMS ومواقع الويب وWCM. |
filesScore | رقم | eq, ne, le, lt, ge, gt | يمكنك التصفية حسب درجة الملفات. على سبيل المثال الدورات التي حصلت على درجة ملفات تساوي 90% | نقطة النهاية الإجمالية وفي جميع حلول Ally: LMS ومواقع الويب وWCM. |
wysiwygScore | رقم | eq, ne, le, lt, ge, gt | يمكنك التصفية حسب درجة WYSIWYG. على سبيل المثال الدورات التي حصلت على درجة WYSIWYG تساوي 90% | نقطة نهاية "عام"، وليست متاحة إلا لـ Ally لنظام إدارة التعلم (LMS) فحسب. |
webPagesScore | رقم | eq, ne, le, lt, ge, gt | يمكنك التصفية حسب درجة المجال. على سبيل المثال، صفحات الويب التي لها الدرجة 90%. | نقطة نهاية "عام"، وليست متاحة إلا لـ Ally للويب أو WCM فحسب. |
ملاحظة
تُعد قيم المعلمات حساسة لحالة الحروف.
العوامل المدعومة
يحتوي الجدول التالي على العوامل المدعومة استنادًا إلى نوع الحقل:
نوع الحقل | العامل | الوصف |
سلسلة | eq | يساوي |
سلسلة | ne | لا يساوي |
سلسلة | co | يحتوي على كلمة رئيسية |
سلسلة | nc | لا يحتوي على كلمة رئيسية |
سلسلة | sw | يبدأ بالكلمة الأساسية |
رقم | eq | يساوي |
رقم | ne | لا يساوي |
رقم | le | أقل من أو يساوي |
رقم | lt | أقل من |
رقم | ge | أكبر من أو يساوي |
رقم | gt | أكبر من |
مثال:
يسترد المثال التالي جميع المقررات الدراسية التي تحتوي على الكلمة الأساسية "اختبارات" في اسم المقرر الدراسي:
https://prod.ally.ac/api/v2/clients/15/reports/overall?courseName=co:tests
استخدام عوامل تصفية متعددة
يمكنك دمج خيارات الفرز والتصفية في عنوان URL نفسه لنقطة النهاية عن طريق إضافة الحرف "&" بين الشرطين. على سبيل المثال، لنفترض أنك تريد استرداد جميع المقررات الدراسية التي تحتوي على الكلمة الأساسية "اختبار" في اسم المقرر الدراسي حيث تكون Ally قيد التمكين، وتكون درجتها الإجمالية أقل من 90%. سيبدو عنوان URL على النحو التالي:
https://prod.ally.ac/api/v2/clients/0/overall?courseName=co:test&allyEnabled=true&overallScore=lt:0.9
يمكنك أيضًا استخدام خيارين للتصفية. على سبيل المثال، لنفترض أنك بحاجة إلى الحصول على جميع المقررات الدراسية التي تحتوي على درجة إجمالية تتراوح بين 10% و70%:
https://prod.ally.ac/api/v2/clients/0/reports/overall?overallScore=ge:0.1&overallScore=le:0.7