الانتقال من الواجهة القديمة
ما الذي تغير
الواجهة القديمة كانت تستخدم:
- Header:
X-TOKEN-KEY - Routes:
/api/open/evaluation/*
الواجهة الحالية تستخدم:
- Header:
X-API-Key - Routes:
/api/keath/public/v1/*
التحويل
| القديم | الجديد |
|---|---|
X-TOKEN-KEY | X-API-Key |
POST /api/open/evaluation/start | POST /api/keath/public/v1/evaluations |
GET /api/open/evaluation/result | GET /api/keath/public/v1/evaluations/:taskId |
| polling القديم | GET /api/keath/public/v1/evaluations/:taskId/status |
| افتراض داخلي عن النموذج | GET /api/keath/public/v1/models |
الفكرة الجديدة
في السابق كنت ترسل النص والrubrics مباشرة.
الآن اختر أحد مسارين:
مسار assignment:
- احصل على
model_id - أنشئ assignment
- قيّم باستخدام
assignment_id
- احصل على
مسار one-pass:
- احصل على
model_id - أرسل النموذج والسؤال والrubric وإجابة الطالب في طلب واحد
- احصل على
التقييم غير المتزامن الموثوق
يرجع POST /evaluations/one-pass وPOST /evaluations/batch استجابة HTTP 202 Accepted مع task_id عام. أرسل Idempotency-Key حتى يعيد تكرار طلب الشبكة نفسه المهمة نفسها بدلا من إنشاء مهمة مكررة. يقبل batch من 1 إلى 100 عنصر.
تمر المهمة بالمراحل QUEUED وUPLOADING وSUBMITTED وPROGRESS، ثم تنتهي بSUCCESS أو FAILURE أو CANCEL. لا تخصم credits إلا بعد التحقق من نتيجة مكتملة. استخدم polling بمهلة نهائية وbackoff.
للتوافق، يحتفظ POST /evaluations مع assignment موجود بالمسار القديم: يبدأ عادة بPENDING وتخصم credits عند قبول المهمة. لذلك لا تطبق حالته الأولى أو توقيت الخصم على one-pass أو batch.
ما يجب تغييره في العميل
- استبدل
X-TOKEN-KEYبX-API-Key. - استبدل
/api/open/evaluation/*ب/api/keath/public/v1/*. - لا تستخدم
model_idمكانassignment_id. - استخدم
POST /evaluationsإذا كان لديك assignment. - استخدم
POST /evaluations/one-passإذا كنت لا تريد إنشاء assignment. - تابع الحالة عبر
GET /evaluations/:taskId/status. - اقرأ النتيجة النهائية عبر
GET /evaluations/:taskId.
الصيغ المدعومة
الواجهة الجديدة تقبل إجابات الطلاب كنص أو ملف:
- صور
- DOCX
- TXT
- RTF
بالنسبة إلى Google Docs، صدّر المستند أولا إلى DOCX أو PDF أو نص. الاستيراد المباشر عبر Google Docs OAuth غير موجود في public v1.
اختبار قبل النقل
قبل تحويل الطلبات الحقيقية:
- تأكد أن
GET /creditsيعمل. - تأكد أن
GET /modelsيعرض النموذج المطلوب. - تأكد أن
POST /assignmentsيرجعassignment_id. - تأكد أن
POST /evaluationsيرجعtask_id. - تأكد أن polling ينتهي ب
SUCCESSأوFAILUREأوCANCEL. - تأكد أن الكود لم يعد يحتوي على
X-TOKEN-KEY.