> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerix.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# الأحداث والـ Webhooks والصلاحيات

> أحداث التحليلات التي يسجّلها التحكم بالإصدارات، والـ Webhook الذي يرسله، ومن يستطيع تعديله.

## أحداث التحليلات

تسجّل الحزمة هذه الأحداث عبر قائمة الانتظار نفسها التي تمر بها بقية أحداث
[التحليلات](https://docs.lerix.dev/ar/modules/analytics.md). ولا تُسجَّل حين تكون التحليلات متوقفة في التطبيق.

| الحدث | الخصائص | متى |
| - | - | - |
| `$update_prompt_shown` | `state`، `reason`، `ruleId`، `latestVersion` | في كل مرة تعرض فيها الواجهة الجاهزة شاشة تحديث أو مطالبة تحديث (الواجهات المخصصة في Flutter: `reportPromptShown(update)`) |
| `$update_prompt_action` | `action` (`update` أو `later` أو `skip`)، `state`، `ruleId` | حين ينقر المستخدم زراً، أو تستدعي شيفرتك `openStore()` أو `later()` أو `skip()` |
| `$maintenance_shown` | `maintenanceId` | حين تصبح النافذة جارية على الجهاز، مرة واحدة في كل جلسة لكل نافذة، حتى مع `ui: false` |
| `$config_applied` | `etag` | مرة واحدة في كل مرة يستلم فيها الجهاز حالة جديدة للتحكم بالإصدارات |

ويُسجَّل حدث `$app_update` الموجود أصلاً (`from` و`to`) حين يعمل التطبيق بإصدار
جديد. ومعاً تشكّل هذه الأحداث مسار تحويل: عُرض التنبيه، ثم نُقر **تحديث**، ثم حُدّث
التطبيق فعلاً. أنشئه من **التحليلات ← مسارات التحويل**، وقسّمه حسب الإصدار أو المنصة
أو الدولة.

## Webhook

يرسل كل تغيير في التحكم بالإصدارات الحدث `release_control.changed` إلى
[Webhooks](https://docs.lerix.dev/ar/developers/webhooks.md) المشروع، فتعلم قناة فريقك بنافذة الصيانة أو
بالتحديث الإلزامي لحظة حدوثه.

```json theme={"dark"}
{
  "type": "release_control.changed",
  "projectSlug": "my-shop",
  "createdAt": "2026-10-23T10:00:00.000Z",
  "data": {
    "action": "maintenance.create",
    "targetId": "0b6f3c1e-...",
    "actor": { "id": "5d2a...", "name": "Ana", "kind": "user" },
    "reason": "Database migration",
    "url": "https://app.lerix.dev/dashboard/project/my-shop/release-control"
  }
}
```

| `action` | المعنى |
| - | - |
| `rule.upsert` | أُنشئت قاعدة تحديث أو عُدّلت |
| `rule.delete` | حُذفت قاعدة تحديث |
| `maintenance.create` | بدأت نافذة صيانة أو جُدولت |
| `maintenance.update` | عُدّلت نافذة، أو مُدّدت، أو فُعّلت للجميع بعد وضع الاختبار، أو بدأت في موعدها |
| `maintenance.end` | انتهت نافذة |
| `lift_all` | استخدم أحدهم **رفع الكل** |
| `app.store_update` | تغيّر رابط متجر أحد التطبيقات أو معرّفه في App Store |

قيمة `actor.kind` هي `user` لعضو في المشروع. وحين تبدأ نافذة مجدولة أو تبلغ وقت
انتهائها، يرسل Lerix الحدث بنفسه مع
`"actor": { "id": null, "name": "Lerix", "kind": "system" }`، والإجراء
`maintenance.update` (السبب "Scheduled start") أو `maintenance.end` (السبب
"Reached its end time"). وتكون `reason` قيمتها `null` إن لم يُذكر سبب. ويشير `url`
إلى تبويب **التحديثات** في صفحة التحكم بالإصدارات للمشروع.

## الإشعارات داخل اللوحة وبالبريد

يتلقى أعضاء المشروع الذين يملكون صلاحية **إدارة تحديثات التطبيق** إشعاراً داخل لوحة
التحكم ورسالة بريد إلكتروني حين تُفعَّل نافذة صيانة أو تُجدول، أو تبدأ في موعدها، أو
تُفعَّل للجميع بعد وضع الاختبار، أو تنتهي، وحين يستخدم أحدهم **رفع الكل**. ويستطيع
كل عضو إيقاف رسائل البريد هذه من تفضيلات الإشعارات.

## الصلاحيات

| الإجراء | من يستطيعه |
| - | - |
| فتح **التحكم بالإصدارات** والاطلاع على القواعد والنوافذ ومقياس الانتشار والسجل | كل أعضاء المشروع |
| إنشاء قواعد التحديث أو تعديلها أو حذفها، وتعديل روابط المتاجر | الأعضاء الذين يملكون **إدارة تحديثات التطبيق** |
| بدء الصيانة أو جدولتها أو تعديلها أو تمديدها أو إنهاؤها، واستخدام **رفع الكل** | الأعضاء الذين يملكون **إدارة تحديثات التطبيق** |

يملك دورا **المالك** و**المسؤول** صلاحية **إدارة تحديثات التطبيق**. وتكون الصفحات
للقراءة فقط لمن سواهم، مع ملاحظة: "يمكنك عرض التحكم بالإصدارات، لكن تعديله يتطلب
صلاحية «إدارة تحديثات التطبيق»."

## السجل

يعرض قسم **السجل** في تبويب **الطوارئ** كل تغيير على قواعد التحديث ونوافذ الصيانة
وروابط المتجر: ما الذي تغيّر، ومن غيّره، ومتى، والسبب، والقيم قبل التغيير وبعده
(**قبل / بعد**). وتظهر التغييرات التي يجريها Lerix في موعدها باسم **النظام**. وإذا
استخدم فريق Lerix يوماً [مفتاح إيقاف الحزمة](https://docs.lerix.dev/ar/modules/release-control/overview.md#مفتاح-إيقاف-لحزمة-lerix-نفسها)
لمشروعك، يظهر ذلك في السجل أيضاً باسم **Lerix**.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.