Skip to main content

نقاط نهاية API لإعداد التقارير

نقاط نهاية API لإعداد التقارير

تنبيه

نقاط النهاية المضمنة في API لإعداد التقارير هي نقاط نهاية خاصة لا تأتي مع سياسة إيقاف في الوقت الحالي. قد تغير Anthology Ally نقاط النهاية هذه أو تحدثها بناءً على خارطة الطريق أو الإصدارات المستقبلية لدينا.

اطَّلع على الوثائق الفنية التالية للتعرف على كيفية إعداد نقاط النهاية وتخصيصها بشكل مناسب. لا تتردد في الاطلاع على كيفية تكامل API الخاصة بـ Ally مع أداة إعداد التقارير الخارجية للحصول على إرشادات إضافية.تكامل Ally API مع أداة إعداد تقارير خارجية

الأساليب المتاحة

هناك أسلوبان متاحان لـ 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 لمؤسستك:

استجابة حالة 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 لمؤسستك:

التفويض: الرمز المميز لحامل 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 لمؤسستك:

التفويض: الرمز المميز لحامل 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