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

# مرجع قواعد الاستراتيجيات

> الفهرس الكامل لمشغّلات الاستراتيجيات وعوامل التشغيل والإجراءات وعوامل التصفية وآليات التقييم وراء محرر الاستراتيجيات داخل التطبيق.

هذه الصفحة هي الفهرس الكامل وراء محرر الاستراتيجيات: كل مشغّل وعوامل التشغيل التي يقبلها، وكل إجراء، وعوامل التصفية العامة، وكيفية تقييم الاستراتيجية. وهي مرافقة لدليل [بناء الاستراتيجيات](/ar/aftersell/strategies_building_in_app) - ارجع إليها عندما تحتاج إلى التفاصيل الشاملة حول خيار معين.

تجمع **القاعدة** بين **المشغّلات** (*متى*) و**الإجراءات** (*ثم*)، ويمكنك الجمع بين ما يصل إلى خمسة مشغّلات تحت مفتاح تبديل واحد **AND** / **OR**: مع **AND** يجب أن تتطابق جميع المشغّلات، ومع **OR** يكفي تطابق أي منها. تتبع الأقسام أدناه هذا الشكل - [المشغّلات](#triggers) و[الإجراءات](#actions) أولًا، ثم عناصر التحكم على مستوى الاستراتيجية التي تنطبق على كل القواعد: [ترتيب القواعد](#rule-priority-and-evaluation-order)، و[عوامل التصفية العامة](#global-filters)، و[القاعدة الشاملة](#catch-all).

<div id="triggers">
  ## المشغّلات
</div>

تحدد المشغّلات متى تُفعَّل القاعدة. أنواع المشغّلات المتاحة:

<div id="product-triggers">
  ### مشغّلات المنتج
</div>

الاستهداف بناءً على المنتجات في السياق (سلة المتسوق، أو الطلب المكتمل للتو، أو المنتج الذي يتم عرضه):

* **Specific product(s)** - يطابق منتجات Shopify محددة حسب المعرّف
* **Collection** - يطابق المنتجات التي تنتمي إلى مجموعات محددة
* **Tag(s)** - يطابق المنتجات ذات وسوم محددة (مثل "sale" و"summer")
* **Title** - يطابق عنوان المنتج
* **Vendor** - يطابق اسم البائع/العلامة التجارية
* **Type** - يطابق حقل نوع المنتج (مثل "Apparel" و"Electronics")
* **Handle** - يطابق الاسم المختصر لعنوان URL الخاص بالمنتج
* **Metafield** - يطابق أزواج namespace/key/value للحقول الوصفية المخصصة
* **Selling plan** - يطابق المنتجات "subscription" أو "one-time". لا يُقيَّم إلا عندما يوفر سياق الطلب خطة بيع للمنتج - لا ترسل أسطح البيع الإضافي في صفحة الدفع وما بعد الشراء في Aftersell هذه المعلومة، لذا لن يتطابق المشغّل هناك ما لم يوفرها تكامل مخصص بشكل صريح

<div id="customer-triggers">
  ### مشغّلات العميل
</div>

الاستهداف بناءً على هوية المتسوق:

* **Customer tag** - مثل "VIP" و"loyalty-gold"
* **Country code** - بلد الفوترة
* **Province code** - مقاطعة/ولاية الفوترة
* **Locale** - لغة العميل (مثل "en-US")
* **Accepts marketing** - حالة الاشتراك في التسويق
* **Order count** - عدد الطلبات السابقة
* **Total spent** - إجمالي الإنفاق طوال فترة التعامل

<div id="cart-triggers">
  ### مشغّلات السلة
</div>

الاستهداف بناءً على الحالة العامة للسلة:

* **Cart subtotal** - مثل مجموع فرعي أكبر من \$50
* **Item count** - إجمالي كمية العناصر في السلة
* **Line count** - عدد البنود المتمايزة
* **Cart attribute** - سمات السلة المخصصة المعيّنة عبر واجهة برمجة تطبيقات السلة في Shopify
* **Cart note** - حقل ملاحظة السلة

<div id="location-triggers">
  ### مشغّلات الموقع
</div>

الاستهداف بناءً على وجهة شحن المتسوق، وعملة المتجر:

* **Shipping country** - بلد وجهة الشحن
* **Shipping province** - مقاطعة/ولاية وجهة الشحن
* **Shipping method** - طريقة الشحن المختارة
* **Store currency** - رمز عملة المتجر النشطة

<div id="marketing-triggers">
  ### مشغّلات التسويق
</div>

الاستهداف بناءً على عنوان URL للصفحة التي وصل إليها المتسوق:

* **URL** - يطابق جزءًا من عنوان URL للصفحة المقصودة، بحيث يمكنك استهداف حملة أو قناة محددة بمطابقة معامل مضمّن في عنوان URL (مثل `utm_source=newsletter`)

<div id="time-triggers">
  ### المشغّلات الزمنية
</div>

الاستهداف بناءً على وقت تقييم الطلب، بتوقيت المتجر:

* **Day of week** - اليوم الحالي
* **Hour of day** - الساعة الحالية

<div id="dynamic-triggers">
  ### المشغّلات الديناميكية
</div>

* **Always match** - مشغّل بلا شرط يُفعَّل دائمًا. استخدمه لجعل القاعدة تعمل مع كل طلب (وهذا يختلف عن [القاعدة الشاملة](#catch-all) على مستوى الاستراتيجية، التي لا تُفعَّل إلا عندما لا تتطابق أي قاعدة أخرى).

<Note>
  لا يتم ملء كل مشغّل في كل سطح. صفحة الدفع، على سبيل المثال، ترسل سياق المنتج والسلة فقط - لن تتطابق مشغّلات العميل والموقع والتسويق هناك. راجع أدلة [تنفيذ الاستراتيجيات](/ar/aftersell/implementing_strategies_post_purchase_upsells) لمعرفة ما يرسله كل سطح.
</Note>

<div id="operators">
  ### عوامل التشغيل
</div>

يستخدم كل مشغّل **عامل تشغيل** لتحديد كيفية مطابقة القيمة. تعتمد عوامل التشغيل المتاحة على نوع المشغّل.

| عامل التشغيل | الوصف |
| - | - |
| **Equals** | يتطابق عندما يكون الحقل مساويًا تمامًا للقيمة التي تحددها - مثل vendor يساوي "Nike". |
| **Does not equal** | يتطابق عندما يكون الحقل أي شيء غير القيمة التي تحددها - مفيد لاستبعاد نوع منتج أو بائع محدد. |
| **Contains any** | يتطابق عندما يتضمن حقل متعدد القيم قيمة واحدة على الأقل من قائمتك - مثل منتج ينتمي إلى أي واحدة من عدة مجموعات. |
| **Does not contain any** | يتطابق عندما لا يتضمن حقل متعدد القيم أيًا من القيم في قائمتك - مثل استبعاد المنتجات الموسومة بـ "final-sale". |
| **Contains all** | يتطابق عندما يتضمن حقل متعدد القيم كل قيمة في قائمتك - مثل منتج يجب أن يحمل الوسمين "sale" و"summer" معًا. |
| **Does not contain all** | يتطابق عندما يفتقد حقل متعدد القيم قيمة واحدة على الأقل من القيم في قائمتك. |
| **Contains** | يتطابق عندما يتضمن حقل نصي قيمتك كجزء من النص - مثل العنوان يحتوي على "Gift". |
| **Does not contain** | يتطابق عندما لا يتضمن حقل نصي قيمتك. |
| **Greater than** | يتطابق عندما يتجاوز حقل رقمي قيمتك - مثل مجموع السلة الفرعي أكبر من \$75. |
| **Less than** | يتطابق عندما يكون حقل رقمي أقل من قيمتك - مثل عدد الطلبات أقل من 2 (المشترون لأول مرة). |
| **Greater than or equal to** | يتطابق عندما يساوي حقل رقمي قيمتك أو يتجاوزها - مثل إجمالي الإنفاق \$500 على الأقل. |
| **Less than or equal to** | يتطابق عندما يساوي حقل رقمي قيمتك أو يقل عنها - مثل عدد عناصر السلة لا يزيد عن 3. |

ليس كل عامل تشغيل متاحًا لكل مشغّل:

* **عوامل القوائم** (**Contains any / all** ونفيهما) تنطبق على الحقول متعددة القيم مثل الوسوم والمجموعات ووسوم العملاء والمنتجات المحددة.
* **عوامل النص** (**Equals** و**Contains** ونفيهما) تنطبق على الحقول النصية أحادية القيمة مثل العنوان والبائع والاسم المختصر واللغة والبلد وعنوان URL.
* **العوامل الرقمية** تنطبق على حقول مثل مجموع السلة الفرعي وعدد العناصر وعدد البنود وعدد الطلبات وإجمالي الإنفاق وساعة اليوم. لا توجد للعوامل الرقمية صيغ نفي "does not".
* بعض الحقول تدعم فقط **Equals** و**Does not equal** - وهي selling plan وday of week وaccepts marketing.

<div id="actions">
  ## الإجراءات
</div>

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

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

<div id="product-actions">
  ### إجراءات المنتج
</div>

سمات المنتج نفسها المتاحة في جانب المشغّلات متاحة أيضًا عند تحديد الإجراءات. يمكنك إرجاع المنتجات بناءً على:

* **Specific products** - اختر منتجات فردية يدويًا من كتالوج Shopify الخاص بك.
* **Collection** - أرجع جميع المنتجات التي تنتمي إلى مجموعة محددة.
* **Product attributes** - أرجع المنتجات المطابقة لمعايير مثل الوسوم أو البائع أو نوع المنتج أو الحقول الوصفية - وهي أنواع السمات نفسها المستخدمة في المشغّلات.

<div id="dynamic-actions">
  ### الإجراءات الديناميكية
</div>

تغيّر الإجراءات الديناميكية ما يتم إرجاعه بناءً على إشارات في الوقت الفعلي بدلًا من قائمة منتجات ثابتة. تشمل أنواع الإجراءات الديناميكية المتاحة:

* **Most popular** - المنتجات الأفضل أداءً في متجرك حسب حجم المبيعات، إما على مستوى المتجر بأكمله أو ضمن مجموعة.
* **Recently purchased** - المنتجات التي تم شراؤها مؤخرًا في المتجر.
* **Inherit from when** - إعادة استخدام مشغّلات القاعدة نفسها ("متى") كمحدِّد للمنتجات، بحيث تطابق المنتجات المُرجعة المعايير نفسها التي فُعّلت بها القاعدة.
* **AI Recommendations** - اقتراحات مخصصة يولّدها نموذج التوصيات في Aftersell.

<div id="filtering-actions">
  ### إجراءات التصفية
</div>

بمجرد تجميع مجموعة المنتجات، يمكنك تكوين عدد المنتجات المُرجعة وترتيبها:

* **Sort** - التحكم في المنتجات المختارة:
  * **Random** - اختيار عشوائي.
  * **Price: high → low** - تُرجع المنتجات الأغلى أولًا.
  * **Price: low → high** - تُرجع المنتجات الأرخص أولًا.
* **Amount/Limit** - تعيين الحد الأقصى لعدد المنتجات المُرجعة.
* **Type** - تضييق مجموعة المنتجات المجمّعة إلى نوع منتج واحد في Shopify. اختر **Equals** للمطابقة التامة أو **Contains** للمطابقة الجزئية (كلاهما غير حساس لحالة الأحرف). يُحتفظ فقط بالمنتجات التي يطابق نوعها القيمة التي تُدخلها؛ ويُزال الباقي قبل تطبيق Amount/Limit.

<Info>
  يقلّص فلتر **Type** مجموعة المنتجات التي جمعتها إجراءات المنتج - وهو يختلف عن إجراء المنتج **Product type**، الذي *يُرجع* منتجات من نوع معين. استخدم الفلتر عندما تريد تقييد ما يمكن أن يُرجعه إجراء أوسع (مثل إجراء مجموعة أو إجراء ديناميكي).
</Info>

<Info>
  يُطبَّق Sort أولًا، ثم Amount/Limit. على سبيل المثال، إذا كان الفرز مضبوطًا على **Random**، فإن مجموعة المنتجات الكاملة تُرتّب عشوائيًا قبل تطبيق الحد - لذا تحصل دائمًا على شريحة عشوائية، وليس المنتجات نفسها بترتيب عشوائي.
</Info>

<div id="key-value-actions">
  ### إجراءات المفتاح والقيمة
</div>

اختياريًا، أرفق أزواج مفتاح وقيمة بقاعدة. عندما تتطابق القاعدة، تُرجع هذه الأزواج في `meta.data` في استجابة واجهة برمجة التطبيقات إلى جانب نتائج المنتجات. تشمل الاستخدامات الشائعة:

* نص الشريط الترويجي
* تسميات الحملات للتحليلات

<Note>
  إذا تطابقت عدة قواعد وأصدرت المفتاح نفسه، فإن القيمة من أول قاعدة مطابقة هي التي تُعتمد - ولا يمكن للقواعد اللاحقة تجاوزها.
</Note>

<div id="rule-priority-and-evaluation-order">
  ## أولوية القواعد وترتيب التقييم
</div>

تُقيَّم القواعد داخل الاستراتيجية بالترتيب، خطوة تلو الأخرى. تُقيَّم الخطوة 1 أولًا، وهكذا. يمكنك إعادة ترتيب القواعد بسحبها وإفلاتها في محرر الاستراتيجيات. يقوم محرك التقييم بما يلي:

1. يقيّم مشغّلات كل قاعدة مقابل السياق المقدَّم.
2. يجمع المنتجات من جميع القواعد المطابقة.
3. يزيل النسخ المكررة ويقيّد النتيجة بالحد الأقصى المكوّن (الافتراضي: 20 منتجًا).

<div id="global-filters">
  ## عوامل التصفية العامة
</div>

تزيل عوامل التصفية العامة المنتجات من أهلية الاختيار عبر كل القواعد في الاستراتيجية. يمكنك الوصول إليها عبر **أيقونة الفلتر** بجوار اسم الاستراتيجية في أعلى يسار محرر الاستراتيجيات.

عوامل التصفية العامة المتاحة:

* **Exclude out of stock** - استبعاد أي منتج غير متاح للشراء حاليًا تلقائيًا.
* **Exclude input products** - استبعاد المنتج (المنتجات) التي فعّلت القاعدة (مثل المنتج الذي يعرضه المتسوق حاليًا في صفحة المنتج)، بحيث لا توصي أبدًا بالمنتج نفسه الذي ينظر إليه المتسوق بالفعل.
* **Exclude by product tag** - استبعاد المنتجات التي تحمل وسومًا محددة.
* **Exclude by metafield** - استبعاد المنتجات المطابقة لـ namespace/key/value محدد لحقل وصفي.
* **Exclude by product ID** - استبعاد منتجات محددة حسب المعرّف.
* **Require stock at location** - الإبقاء فقط على المنتجات التي يتوفر لها مخزون في موقع مختار (يتطلب أذونات قراءة المخزون والمواقع).

<div id="catch-all">
  ## القاعدة الشاملة (Catch all)
</div>

Catch all هي قاعدة خاصة تعمل كخطوة أخيرة في كل تقييم للاستراتيجية. ليس لها مشغّل؛ وتُفعَّل تلقائيًا إذا لم تتطابق أي قاعدة أخرى في الاستراتيجية مع الطلب الحالي.

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

* **Enable/disable** - تشغيل قاعدة Catch all أو إيقافها للاستراتيجية. عند تعطيلها، ستُرجع الطلبات التي لا تطابق أي قاعدة نتيجة فارغة.
* **Configure actions** - تحديد ما يُرجع باستخدام أي مزيج من أنواع الإجراءات المتاحة، مثل أي قاعدة أخرى.

عند تفعيل Catch all، ستشير استجابة واجهة برمجة التطبيقات إلى `resolution.fallbackUsed: true`.
