دليل التكامل مع NELC LRS — الدليل الرسمي الشامل

دليل التكامل مع NELC LRS — الدليل الرسمي الشامل

المؤلف: فريق Bzzix التقني
آخر تحديث: 2026
المستوى: متوسط إلى متقدم
الجهة: المركز الوطني للتعلم الإلكتروني (NELC)
الوقت المقدر للقراءة: 30 دقيقة


مقدمة

المركز الوطني للتعلم الإلكتروني (NELC) هو الجهة الحكومية المسؤولة عن تطوير وتنظيم التعليم الإلكتروني في المملكة العربية السعودية. يُشترط لاعتماد أي برنامج تدريبي إلكتروني رسمياً في المملكة أن يكون متوافقاً مع منظومة NELC، والتي تستخدم معيار xAPI لتلقي بيانات المتعلمين.

هذا الدليل يشرح بالتفصيل الكامل كيفية التكامل الفني مع NELC LRS.


1. نظرة عامة على نظام NELC

1.1 ما هو NELC LRS؟

NELC LRS هو النظام المركزي لتخزين سجلات التعلم في المملكة العربية السعودية. يستقبل جمل xAPI من جميع المنصات التعليمية المرتبطة به ويوفر:

  • تخزين آمن لبيانات المتعلمين
  • تقارير الامتثال للمؤسسات
  • التحقق من صحة الشهادات
  • إحصاءات التعليم على المستوى الوطني

1.2 منظومة NELC الكاملة

┌────────────────────────────────────────────────────────────┐
│                    منظومة NELC                             │
│                                                            │
│  ┌──────────┐    xAPI     ┌─────────────┐                 │
│  │  Moodle  │ ──────────► │             │                 │
│  └──────────┘             │  NELC LRS   │                 │
│  ┌──────────┐    xAPI     │             │  ► تقارير       │
│  │WordPress │ ──────────► │  (مستضاف   │  ► اعتمادات     │
│  └──────────┘             │   على      │  ► إحصاءات      │
│  ┌──────────┐    xAPI     │   NELC     │                 │
│  │ Laravel  │ ──────────► │   Cloud)   │                 │
│  └──────────┘             └─────────────┘                 │
│  ┌──────────┐    xAPI           ↕                        │
│  │ Mobile   │ ──────────►  بوابة NELC                    │
│  └──────────┘             للمؤسسات                       │
└────────────────────────────────────────────────────────────┘

1.3 الجدول الزمني للامتثال

المرحلة الوصف الموعد
التسجيل تسجيل المؤسسة في بوابة NELC قبل الإطلاق بـ 30 يوم
الاختبار اختبار التكامل في بيئة Staging قبل الإطلاق بـ 14 يوم
المراجعة مراجعة NELC للـ Statements قبل الإطلاق بـ 7 أيام
الاعتماد الحصول على اعتماد NELC يوم الإطلاق

1.4 الأدوات الرسمية المفتوحة المصدر للربط (Official Integration Tools)

يوفر المركز الوطني للتعليم الإلكتروني (NELC) حزماً وإضافات برمجية رسمية ومفتوحة المصدر لتسهيل دمج وتكامل معايير xAPI للأنظمة البرمجية الأكثر استخداماً:

  1. الربط مع WordPress LMS (أي إضافة تعليمية مثل LearnDash أو Tutor LMS):
  2. الربط مع Moodle:
  3. الربط مع Laravel (مكتبة تكامل مخصصة):

2. الحصول على بيانات اعتماد NELC

2.1 خطوات التسجيل المؤسسي

الخطوة 1: التسجيل في بوابة NELC

  1. اذهب إلى: nelc.gov.sa
  2. انقر على "تسجيل مؤسسي"
  3. أدخل بيانات المؤسسة:
    • اسم المؤسسة
    • رقم السجل التجاري
    • بيانات التواصل الرئيسي
    • نوع المؤسسة (حكومية / خاصة)

الخطوة 2: إنشاء طلب LRS بعد الموافقة على التسجيل:

  1. انتقل إلى "إدارة الأنظمة"
  2. انقر "طلب ربط LRS جديد"
  3. أدخل:
    • اسم نظامك (Moodle / WordPress / Laravel / مخصص)
    • Endpoint الخاص بمنصتك
    • عدد المتعلمين المتوقع

الخطوة 3: الحصول على Credentials ستحصل على بريد إلكتروني يحتوي على:

LRS Endpoint:  https://lrs.nelc.gov.sa/xapi/
Client Key:    NELC-xxxx-xxxx-xxxx
Client Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Institution ID: INST-XXXXXXX

⚠️ تحذير: احتفظ بهذه البيانات بسرية تامة. لا تضعها في كود مفتوح المصدر.


3. بنية API الخاصة بـ NELC

3.1 Endpoints الرئيسية

الـ Endpoint الطريقة الوصف
/xapi/statements POST إرسال Statement أو Statements
/xapi/statements GET استرجاع Statements
/xapi/activities/state PUT/GET حفظ حالة النشاط
/xapi/activities/profile PUT/GET ملف النشاط
/xapi/agents/profile PUT/GET ملف المتعلم
/xapi/about GET معلومات LRS

3.2 Headers المطلوبة

POST https://lrs.nelc.gov.sa/xapi/statements HTTP/1.1
Authorization: Basic base64(client_key:client_secret)
Content-Type: application/json; charset=utf-8
X-Experience-API-Version: 1.0.3
Accept: application/json

3.3 حساب Authorization Header

// PHP
$credentials = base64_encode($clientKey . ':' . $clientSecret);
$authHeader  = 'Basic ' . $credentials;

// مثال بالقيم
// Client Key:    NELC-1234-ABCD
// Client Secret: mysecret123
// base64("NELC-1234-ABCD:mysecret123") = "TkVMQy0xMjM0LUFCQ0Q6bXlzZWNyZXQxMjM="
// Authorization: Basic TkVMQy0xMjM0LUFCQ0Q6bXlzZWNyZXQxMjM=
# Bash
CREDENTIALS=$(echo -n "NELC-1234-ABCD:mysecret123" | base64)
echo "Authorization: Basic $CREDENTIALS"

4. الحقول الإلزامية لـ NELC

4.1 بنية Statement المعتمدة من NELC

{
  "actor": {
    "objectType": "Agent",
    "name": "اسم المتعلم",
    "mbox": "mailto:learner@institution.sa"
  },

  "verb": {
    "id": "http://adlnet.gov/expapi/verbs/completed",
    "display": {
      "ar": "أكمل",
      "en-US": "completed"
    }
  },

  "object": {
    "objectType": "Activity",
    "id": "https://your-platform.com/activities/course-001",
    "definition": {
      "name": {
        "ar": "عنوان الدورة",
        "en-US": "Course Title"
      },
      "type": "http://adlnet.gov/expapi/activities/course"
    }
  },

  "result": {
    "completion": true,
    "success": true,
    "score": {
      "scaled": 0.85,
      "raw": 85,
      "min": 0,
      "max": 100
    },
    "duration": "PT1H30M"
  },

  "context": {
    "platform": "اسم منصتك",
    "language": "ar",
    "extensions": {
      "https://nelc.gov.sa/extensions/institution-id": "INST-XXXXXXX",
      "https://nelc.gov.sa/extensions/program-id": "PROG-001"
    }
  },

  "timestamp": "2026-07-30T10:00:00+03:00"
}

4.2 قواعد التحقق من الصحة

الحقل القيمة المطلوبة تنسيق محدد
actor.mbox بريد إلكتروني صالح mailto:email@domain.sa
verb.id URI معتمد من ADL http://adlnet.gov/...
object.id URI فريد للنشاط URL كامل
context.extensions["institution-id"] معرّف NELC للمؤسسة INST-XXXXXXX
timestamp وقت ISO 8601 2026-07-30T10:00:00+03:00

5. أنواع الأنشطة المعترف بها من NELC

5.1 Activity Types المعتمدة

النوع URI الوصف
دورة http://adlnet.gov/expapi/activities/course دورة تدريبية كاملة
وحدة http://adlnet.gov/expapi/activities/module وحدة داخل دورة
درس http://adlnet.gov/expapi/activities/lesson درس داخل وحدة
اختبار http://adlnet.gov/expapi/activities/assessment اختبار وتقييم
سؤال http://adlnet.gov/expapi/activities/question سؤال منفرد
محاكاة http://adlnet.gov/expapi/activities/simulation محاكاة تفاعلية
فيديو https://w3id.org/xapi/video/activity-type/video مقطع فيديو
اجتماع http://adlnet.gov/expapi/activities/meeting اجتماع أو جلسة
برنامج http://adlnet.gov/expapi/activities/program برنامج تدريبي

5.2 الأفعال المعتمدة لكل نوع نشاط

للدورات والوحدات:

"verb": { "id": "http://adlnet.gov/expapi/verbs/completed" }
"verb": { "id": "http://adlnet.gov/expapi/verbs/launched" }
"verb": { "id": "http://adlnet.gov/expapi/verbs/experienced" }
"verb": { "id": "http://adlnet.gov/expapi/verbs/attempted" }

للاختبارات:

"verb": { "id": "http://adlnet.gov/expapi/verbs/passed" }
"verb": { "id": "http://adlnet.gov/expapi/verbs/failed" }
"verb": { "id": "http://adlnet.gov/expapi/verbs/answered" }

للفيديو:

"verb": { "id": "https://w3id.org/xapi/video/verbs/played" }
"verb": { "id": "https://w3id.org/xapi/video/verbs/paused" }
"verb": { "id": "https://w3id.org/xapi/video/verbs/completed" }

6. متطلبات التقارير والامتثال

6.1 البيانات الدنيا المطلوبة

لكل دورة تدريبية مرتبطة بـ NELC، يجب إرسال على الأقل:

  1. Statement البداية: launched عند بدء المتعلم الدورة
  2. Statements التقدم: attempted أو experienced للوحدات
  3. Statement الاختبار: passed أو failed للتقييم النهائي
  4. Statement الإكمال: completed عند إنهاء الدورة

6.2 تقارير الامتثال الدورية

NELC يتطلب:

  • ✅ إرسال فوري (Real-time) للـ Statements الحرجة
  • ✅ لا تأخير يتجاوز 24 ساعة لأي Statement
  • ✅ الاحتفاظ بـ Logs محلية لمدة 90 يوماً

6.3 متطلبات البيانات الشخصية

{
  "actor": {
    "name": "الاسم الكامل",
    "mbox": "mailto:email@domain.com"
  }
}

⚠️ تنبيه الخصوصية: لا تُرسل بيانات شخصية إضافية غير مصرّح بها (رقم الهوية، رقم الجوال) إلا إذا طلبتها NELC صراحةً.


7. قائمة الامتثال الكاملة

7.1 التحقق التقني

الإعداد الأساسي:

  • الحصول على Credentials من NELC
  • LRS Endpoint صحيح ومفعّل
  • Authorization Header يعمل بشكل صحيح
  • X-Experience-API-Version يساوي 1.0.3
  • Content-Type يساوي application/json; charset=utf-8

بنية الـ Statements:

  • Actor يحتوي على mbox أو account صالح
  • Verb يستخدم URI من ADL Registry
  • Object ID هو URL كامل وفريد
  • Timestamp بتنسيق ISO 8601 مع Timezone
  • Context يحتوي على institution-id من NELC

الأحداث الإلزامية:

  • إرسال launched عند بدء الدورة
  • إرسال completed عند إكمال الدورة
  • إرسال passed/failed لكل اختبار
  • تضمين score في نتائج الاختبار

الأداء والموثوقية:

  • Retry Logic مُعدَّ (3 محاولات على الأقل)
  • Queue محلية للـ Statements الفاشلة
  • Monitoring والتنبيهات مُفعَّلة
  • Log محلي يحتفظ بـ 90 يوماً

7.2 التحقق الوظيفي

  • اختبار إرسال Statement تجريبي ناجح
  • NELC استقبل وأكّد الـ Statements
  • التحقق من استرجاع Statements من LRS
  • اختبار إرسال مجمّع (Batch) ناجح
  • اختبار سيناريوهات الفشل وإعادة المحاولة

8. اختبار التكامل مع NELC

8.1 بيئة الاختبار (Staging)

قبل الإطلاق الرسمي، اختبر على Staging:

Staging Endpoint: https://staging-lrs.nelc.gov.sa/xapi/

8.2 سيناريوهات الاختبار الإلزامية

السيناريو 1: إكمال دورة كاملة

# خطوة 1: بدء الدورة
POST /xapi/statements
Body: { "verb": "launched", "object": "course-001" }

# خطوة 2: إكمال الاختبار
POST /xapi/statements
Body: { "verb": "passed", "result": { "score": { "raw": 90 } } }

# خطوة 3: إكمال الدورة
POST /xapi/statements
Body: { "verb": "completed", "result": { "completion": true } }

السيناريو 2: التحقق من البيانات المستقبَلة

# استرجاع Statements للمتعلم
GET /xapi/statements?agent={"mbox":"mailto:student@test.com"}

8.3 أداة اختبار NELC

NELC توفر أداة اختبار رسمية:

  • رابط الأداة: nelc.gov.sa/lrs-test (راجع البوابة الرسمية)
  • تدخل Credentials وتُرسل Statements تجريبية
  • الأداة تُعطي تقرير امتثال فوري

9. أخطاء NELC الشائعة وحلولها

خطأ: "Institution ID not found"

{
  "error": "Institution ID INST-XXXX not registered"
}

الحل: تأكد من أن institution-id في الـ Context يطابق تماماً ما حصلت عليه من NELC.

خطأ: "Invalid Actor"

{
  "error": "Actor mbox must be a valid mailto URI"
}

الحل:

// ❌ خاطئ
"mbox": "ahmed@example.com"

// ✅ صحيح
"mbox": "mailto:ahmed@example.com"

خطأ: "Statement timestamp out of range"

{
  "error": "Timestamp is too old (>30 days)"
}

الحل: أرسل الـ Statements فور حدوثها. NELC لا يقبل Statements أقدم من 30 يوماً.

خطأ: "Verb not recognized"

الحل: استخدم فقط URIs من http://adlnet.gov/expapi/verbs/ أو Profiles المعتمدة.

انقطاع الاتصال المتكرر

الأسباب: IP Blocking أو Rate Limiting
الحل:

  • تأكد من IP Whitelist مع NELC
  • لا ترسل أكثر من 1000 Statement في الدقيقة

10. الاتصال بـ NELC للدعم

قنوات الدعم الرسمية

القناة التفاصيل
البوابة الرسمية nelc.gov.sa
بريد الدعم support@nelc.gov.sa
الهاتف +966-11-XXXXXXX
ساعات العمل الأحد – الخميس، 8ص – 4م

ما تحتاجه عند التواصل مع NELC

  1. رقم المؤسسة في NELC
  2. نسخة من Statement المشكلة
  3. Logs الخطأ من نظامك
  4. وقت حدوث المشكلة (مع Timezone)

11. [خدمة Bzzix] — الإعداد والتكامل الكامل مع NELC

🏆 خدمة التكامل الشاملة مع NELC من Bzzix

Bzzix متخصصة في الربط بين منصات التعليم الإلكتروني ومنظومة NELC. نقدم خدمة تكامل كاملة تضمن الامتثال الكامل والاعتماد الرسمي.

حزم خدمات Bzzix

🔹 الحزمة الأساسية

  • ✅ تحليل بنية نظامك الحالي
  • ✅ إعداد الاتصال بـ NELC LRS
  • ✅ اختبار أساسي للامتثال
  • ✅ تقرير الامتثال

🔸 الحزمة المتقدمة

  • ✅ كل ما في الحزمة الأساسية
  • ✅ تطوير Integration مخصص
  • ✅ اختبار شامل لجميع السيناريوهات
  • ✅ تدريب الفريق التقني
  • ✅ دعم فني 30 يوماً

🔶 حزمة الإدارة الكاملة

  • ✅ كل ما في الحزمة المتقدمة
  • ✅ مراقبة مستمرة للـ Statements
  • ✅ تقارير شهرية للامتثال
  • ✅ دعم فني مستمر لمدة عام
  • ✅ ضمان الاعتماد من NELC

زمن التسليم: 3-7 أيام عمل
الضمان: نضمن الحصول على اعتماد NELC أو نُعيد المحاولة مجاناً

📧 البريد الإلكتروني: info@bzzix.com
📞 الهاتف/واتساب: +966-XX-XXXXXXX
🌐 الموقع: bzzix.com
📅 احجز استشارة مجانية: bzzix.com/consultation


12. مراجع ومصادر


© 2026 Bzzix — جميع الحقوق محفوظة. هذه الوثيقة جزء من مجموعة وثائق xAPI الرسمية لمنصة Bzzix.
تنبيه: معلومات NELC تتغير بانتظام. تحقق دائماً من الموقع الرسمي للحصول على آخر المتطلبات.

هل تحتاج مساعدة في تنفيذ ما في الدليل؟ فريق Bzzix متاح لخدمتك.
تواصل معنا الآن