ما هي الويب هوك webhooks؟
الويب هوك webhooks هي ميزة متقدمة تقوم بإرسال الأحداث events التي تتم داخل منصتك إلى رابط معين لتتمكن من ربط المنصة مع خدمات أخرى مثل الأتمتة أو الأنظمة الخارجية.
طريقة إعداد الويب هوك Webhooks
1. سجل دخول إلى المنصة باستخدام حساب المدير.

2. من “القائمة الجانبية“، انتقل إلى “الإعدادات” واختر “التكامل“

3. من صفحه “التكامل“ اختر قسم “Webhooks“

4. ستظهر لك قائمة جانبية لإعداد بيانات “Webhooks“.

إضافة Webhook جديد
- إدخال رابط الـ Webhook في حقل Webhook URL : قم بإدخال الرابط الذي سيستقبل البيانات
مثال https://example.com/webhook - اختيار الأحداث (Events)
- قم بتحديد الأحداث التي تريد تتبعها:
- submission.created : يتم إرسال طلب POST عند قيام الطالب برفع تسليم جديد
- ticket.created : يتم إرسال طلب POST عند إنشاء تذكرة دعم جديدة
- student.created : يتم إرسال طلب POST عند تسجيل طالب جديد في دورة

أمثلة على شكل الأحداث
شكل الحدث student.created
{
"event": "student.created",
"timestamp": "2026-03-30T12:00:00Z",
"data": {
"id": 42,
"user": {
"id": 10,
"name": "Ahmed Ali",
"email": "ahmed@example.com"
},
"cohort": {
"id": 3,
"name": "Cohort 2026"
},
"course": {
"id": 5,
"name": "Web Development"
},
"team": {
"id": 7,
"name": "Team Alpha"
},
"tags": ["scholarship", "part-time"],
"created_at": "2026-03-30T12:00:00.000Z"
}
}
شكل الحدث submission.created
{
"event": "submission.created",
"timestamp": "2026-03-30T12:00:00Z",
"data": {
"id": 101,
"course": {
"id": 5,
"name": "Web Development"
},
"students": [42, 43],
"created_at": "2026-03-30T12:00:00.000Z",
"updated_at": "2026-03-30T12:00:00.000Z",
"target_id": 20,
"checklist": [
{
"kind": "longText",
"title": "Describe your approach",
"result": "I used a modular architecture...",
"status": "noAnswer"
}
],
"level_number": 2,
"target": {
"id": 20,
"title": "Build a REST API",
"evaluation_criteria": [
{
"id": 1,
"name": "Code Quality",
"max_grade": 4,
"grade_labels": ["Bad", "Okay", "Good", "Excellent"]
}
]
},
"files": [
{
"filename": "solution.zip",
"content_type": "application/zip",
"byte_size": 204800,
"checksum": "abc123def456...",
"url": "https://www.example.com/rails/active_storage/blobs/..."
}
],
"evaluator": "Dr. Sarah",
"evaluated_at": "2026-03-30T14:00:00.000Z",
"grades": {
"1": 3
}
}
}
شكل الحدث ticket.created
{
"event": "ticket.created",
"timestamp": "2026-03-30T12:00:00Z",
"data": {
"id": 55,
"title": "Cannot access course materials",
"description": "I'm getting a 403 error when trying to view lessons",
"status": "open",
"user": {
"id": 10,
"name": "Ahmed Ali",
"email": "ahmed@example.com"
},
"created_at": "2026-03-30T12:00:00.000Z"
}
}
شكل الحدث payment.completed
{
"event": "payment.completed",
"data": {
"id": 1234,
"user": {
"id": 567,
"name": "Ahmed",
"email": "ahmed@example.com"
},
"product": {
"id": 89,
"type": "Course",
"name": "Introduction to Web Development"
},
"price": 299.99,
"gateway": "ZamnPay",
"payment_method": "VISA/MASTER",
"end_at": null,
"subscription": null,
"created_at": "2026-04-05T14:30:00.000Z"
}
}
شكل الحدث Recurring subscription payment
{
"event": "payment.completed",
"data": {
"id": 1235,
"user": {
"id": 567,
"name": "Ahmed",
"email": "ahmed@example.com"
},
"product": {
"id": 12,
"type": "Consultation",
"name": "Consultation Name"
},
"price": 150.0,
"gateway": "ZamnPay",
"payment_method": "MADA",
"end_at": "2026-05-05T23:59:59.999Z",
"subscription": {
"id": 42,
"status": "active"
},
"created_at": "2026-04-05T14:45:00.000Z"
}
}
5. عند الضغط على زر “إضافة” وتفعيل خيار “مفعل” سيظهر لك مفتاح HMAC لاستخدامه
