# انتظار المشغّل

يسمح لك عنصر **انتظار المشغّل** (Wait for Trigger) بالتحكم في كيفية تدفق رحلتك (Journey) بناءً على ما إذا كان المستخدم يشغّل حدثًا معينًا أو أكثر خلال إطار زمني محدد (يصل إلى 90 يومًا).

يمكنك إنشاء ما يصل إلى ثلاثة فروع، كل منها محدد بحدث معين أو مجموعة من الأحداث. يتيح لك هذا تصميم مسارات تواصل مختلفة بناءً على الحدث (الأحداث) الذي يشغله المستخدم. يوجد أيضًا فرع إضافي، يسمى _لم يتم تشغيله_ (Not triggered)، للمستخدمين الذين لا يستوفون شروط أي فرع آخر.

<img src="/journey-elements-README-23.webp" alt="عنصر انتظار المشغّل على لوحة الرحلة يوضح التفرع القائم على الأحداث"/>

##### حالات الاستخدام
- إرسال خصم خاص للمستخدمين الذين لم يكملوا عملية شراء خلال فترة محددة بعد إضافة عناصر إلى سلة التسوق.
- إنشاء مسارات تواصل منفصلة بناءً على الإجراء الذي يتخذه المستخدم بعد تلقي إشعار فوري: فتح الإشعار، أو النقر على رابط في الإشعار، أو عدم اتخاذ أي إجراء.
- إعداد رسائل متابعة مختلفة اعتمادًا على ما إذا كان المستخدم قد شاهد منتجًا، أو أضافه إلى سلة التسوق، أو اشتراه خلال إطار زمني محدد.




## تعيين فترة الانتظار

بعد إضافة عنصر انتظار المشغّل، حدد المدة التي يجب أن ينتظرها النظام حتى يقوم المستخدم بتشغيل الأحداث التي اخترتها.

يمكنك تعيين فترة الانتظار لمدة تصل إلى 90 يومًا.

إذا لم يتم تشغيل أي من الأحداث المحددة خلال هذا الإطار الزمني، فسيستمر المستخدم في النزول إلى فرع **لم يتم تشغيله** (Not triggered).
<img src="/journey-elements-wait-for-trigger-1.webp" alt="واجهة التكوين تعرض إعدادات فترة الانتظار لعنصر انتظار المشغّل مع خيارات لتعيين المدة وتمكين فترة الانتظار الثابتة"/>

#### فترة انتظار ثابتة (اختياري)

قم بتمكين **فترة انتظار ثابتة** (Fixed waiting period) إذا كنت تريد أن ينتظر المستخدم دائمًا المدة الكاملة، حتى لو حدث الحدث الخاص به في وقت أبكر.
<img src="/journey-elements-README-27.webp" alt="واجهة التكوين تعرض خيار فترة الانتظار الثابتة في إعدادات عنصر انتظار المشغّل."/>
<Aside type="note" title="مثال">
لنفترض أن خطوات رحلتك هي: **Push** → **انتظار المشغّل** → **Email**. إذا قمت بتعيين خطوة **انتظار المشغّل** على يوم واحد، وقمت بتشغيل **فترة انتظار ثابتة**، حتى لو قام المستخدم بتشغيل الحدث بسرعة (على سبيل المثال، بعد 5 دقائق فقط من الإشعار الفوري)، فسيظل ينتظر اليوم الكامل قبل الانتقال لتلقي البريد الإلكتروني.
</Aside>


## تكوين الفروع

تتيح لك الفروع إعداد مسارات نتائج مختلفة في الرحلة، اعتمادًا على الأحداث التي يشغلها المستخدم. يمكنك إضافة ما يصل إلى ثلاثة فروع، بالإضافة إلى وجود فرع **لم يتم تشغيله** (Not triggered) دائمًا للمستخدمين الذين لا يطابقون أي شروط حدث.

لتكوين فرع:

1. أدخل اسمًا للفرع في حقل **اسم الفرع** (BRANCH NAME).

2. أضف أحداثًا إلى الفرع بالنقر على **إضافة حدث** (ADD EVENT) واختيار حدث من القائمة المنسدلة. يمكنك إضافة ما يصل إلى أربعة أحداث لكل فرع.

3. لكل حدث، يمكنك إضافة شروط بالنقر على **إضافة شرط** (ADD CONDITION) لتصفية الأحداث حسب سمات محددة. للمشغلات المتاحة، راجع [مشغلات العلامات حسب النوع](/ar/product/audience-data-and-segmentation/segmentation/create-segments/by-tags/#tag-operators-by-type).

<img src="/journey-elements-wait-for-trigger-6.webp" alt="واجهة التكوين تعرض كيفية إضافة شروط للأحداث في فرع باستخدام زر إضافة شرط وخيارات تصفية السمات"/>

4. لإزالة حدث من فرع، انقر على **إزالة حدث** (REMOVE EVENT).

إذا كان الفرع يتضمن أحداثًا متعددة، يمكنك اختيار كيفية تقييمها باستخدام أحد المشغلات المنطقية التالية:

- **AND:** يجب على المستخدم تشغيل جميع الأحداث المدرجة للمتابعة في هذا الفرع.
- **OR:** يحتاج المستخدم إلى تشغيل حدث واحد على الأقل من الأحداث المدرجة للمتابعة.

يتيح لك هذا تخصيص كل فرع للتعامل مع مجموعات معقدة من إجراءات المستخدم بطريقة واضحة ومنظمة.

<video src="/journey-elements-README-24.webm" title="واجهة التكوين تعرض كيفية إعداد أحداث متعددة باستخدام المشغلات المنطقية AND/OR في عنصر انتظار المشغّل." autoplay loop muted playsinline />

لإضافة فرع جديد، انقر على **إضافة فرع** (Add branch).

<img src="/journey-elements-wait-for-trigger-5.webp" alt="واجهة التكوين تعرض زر إضافة فرع وخيارات إعداد فروع متعددة في عنصر انتظار المشغّل"/>

<Aside type="tip">
قبل استخدام انتظار المشغّل، تأكد من أن الأحداث التي تريد مراقبتها موجودة بالفعل في مشروعك. [تعرف على كيفية إنشاء الأحداث](/ar/product/audience-data-and-segmentation/events/)
</Aside>

### إعداد مطابقة سمات الجلسات المتعددة

إذا كانت رحلتك تستخدم [**جلسات نشطة متعددة لكل مستخدم**](/ar/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/#multiple-active-sessions-per-user)، يظهر هذا القسم تلقائيًا. والغرض منه هو التأكد من مطابقة كل حدث وارد مع جلسة المستخدم الصحيحة، بدلاً من تطبيقه على كل جلسة نشطة قد يمتلكها المستخدم.


لتكوين مطابقة الجلسة:

1. أولاً، أضف حدثًا إلى فرعك (كما هو موضح في قسم [تكوين الفروع](#configure-branches) أعلاه).

2. بعد ذلك، حدد سمة في القائمة المنسدلة تحدد الجلسة. يجب أن تستوفي السمة التي تختارها شرطين:

   - يجب أن تتطابق مع المعرف المستخدم في خطوة الدخول (على سبيل المثال، `order_id`، `appointment_id`، `transaction_id`).
   
   - يجب أن تكون موجودة أيضًا في الحدث الذي أضفته إلى الفرع.

<img src="/journey-elements-wait-for-trigger-2.webp" alt="واجهة التكوين تعرض القائمة المنسدلة لمطابقة سمات الجلسات المتعددة مع خيارات تحديد معرف الجلسة"/>


<Aside type="caution" title="هام">
يمكنك استخدام نفس السمة تمامًا كما في خطوة الدخول أو أي سمة تحتوي على نفس القيمة (على سبيل المثال، `order_id` داخل `order_list`). إذا لم تتطابق القيمة مع معرف جلسة الدخول، فلن يعرف Pushwoosh إلى أي جلسة ينتمي الحدث وسيطبق الحدث على **جميع** الجلسات النشطة لذلك المستخدم.
[تعرف على المزيد](/ar/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/#multiple-active-sessions-per-user)
</Aside>

##### مثال

يسمح تطبيقك للمستخدمين بحجز مواعيد متعددة. يبدأ كل حجز جلسة رحلة منفصلة يتم تحديدها بواسطة سمة مثل `appointment_id`.

لنفترض أن مستخدمًا حجز موعدين:

* موعد **1001**
* موعد **1002**

يؤدي هذا إلى إنشاء جلستين نشطتين، واحدة لكل موعد.

لاحقًا، يقوم المستخدم بتشغيل حدث مثل `AppointmentConfirmed` يحتوي على `appointment_id: 1001`.
يقارن عنصر **انتظار المشغّل** هذه القيمة بمعرف الجلسة ويطبق الحدث بشكل صحيح فقط على الجلسة الخاصة بالموعد **1001**. هذا يضمن استمرار تدفق الموعد الصحيح.

> إذا لم يتضمن الحدث سمة مطابقة الجلسة (في هذه الحالة `appointment_id`)، فلن يتمكن Pushwoosh من تحديد الجلسة التي ينتمي إليها. سيتم بعد ذلك تطبيق الحدث على **جميع** جلسات المستخدم النشطة، مما يؤدي إلى تدفقات غير صحيحة أو مكررة.



## أمثلة على حالات الاستخدام

**1. إعداد اتصالات خاصة للمستخدمين الذين يشغلون حدثًا معينًا أو عدة أحداث محددة.** تخيل أنك تريد إرسال بريد إلكتروني للعملاء الذين حجزوا ودفعوا ثمن تذكرة طائرة. للقيام بذلك، أضف خطوة انتظار المشغّل مع فرع واحد وحدد حدثين فيه: _TicketBooked_ و _TickedPurchased_ (افترض أنك قمت بتكوينهما من قبل). حدد المشغل المنطقي _AND_ بحيث يتقدم المستخدمون الذين يستوفون كلا الشرطين فقط.

<img src="/journey-elements-README-25.webp" alt="مثال على تكوين انتظار المشغّل مع حدثين باستخدام منطق AND لحجز وشراء التذاكر." data-size="original"/>

**2. تقسيم التدفق حسب نوع المنتج الذي تم شراؤه.** لنفترض أنك تقدم اشتراكات أساسية ومميزة. عند شراء اشتراك، يقوم المستخدمون بتشغيل حدث _SubscriptionPurchased_ مع سمة _type_ التي تحصل على قيمة _Basic_ أو _Premium_. لتقسيم تدفق الرحلة اعتمادًا على نوع الاشتراك، أضف خطوة انتظار المشغّل مع فرعين. في الفرع الأول، حدد حدث _SubscriptionPurchased_ مع شرط _type is Basic_؛ في الثاني، أضف حدث _SubscriptionPurchased_ مع شرط _type is Premium_.

<video src="/journey-elements-README-26.webm" title="مثال على تكوين انتظار المشغّل مع فرعين لأنواع الاشتراك الأساسي والمميز." autoplay loop muted playsinline />