# إطلاق رحلات العملاء باستخدام الدخول المستند إلى API

يسمح لك الدخول المستند إلى API (API-based Entry) بإطلاق رحلة عميل في اللحظة التي يقع فيها حدث تجاري معين. لبدء حملة، يجب عليك إرسال طلب API خاص.

## الإعداد

1. أنشئ رحلة باستخدام عنصر الدخول المستند إلى API (API-based Entry)

<video src="/customer-journey-api-based-entry-1.webm" alt="واجهة Customer Journey Builder تُظهر كيفية إنشاء رحلة جديدة باستخدام عنصر الدخول المستند إلى API" autoplay loop muted playsinline />

2. انقر نقرًا مزدوجًا على خطوة الدخول المستند إلى API. ستُفتح نافذة إعدادات الدخول.

3. يمكنك تعديل محتوى الإشعارات الفورية (push) والبريد الإلكتروني (email) في كل مرة يتم فيها إطلاق الرحلة باستخدام العناصر النائبة للمحتوى (content placeholders). يمكن تغيير قيمة كل عنصر نائب في الطلب. إذا لم تكن بحاجة إلى هذا الخيار، يمكنك تخطي هذه الخطوة.

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

أولاً، أضف أسماء العناصر النائبة في نافذة إعداد الدخول المستند إلى API. يمكنك استخدام أي أسماء مناسبة لك.

<video src="/customer-journey-api-based-entry-2.webm" alt="نافذة إعداد الدخول المستند إلى API تُظهر كيفية إضافة أسماء العناصر النائبة للمحتوى الديناميكي" autoplay loop muted playsinline />

الآن، أنشئ [إعدادًا مسبقًا (Preset)](/ar/product/content/presets/) للإشعار الفوري أو البريد الإلكتروني وأدرج العنصر النائب بدلاً من النص الذي تريد تعديله. يجب أن يكون العنصر النائب بأحد التنسيقات التالية حسب احتياجاتك:

*   `{placeholder_name|format_modifier|}` – إذا لم يتم تحديد قيمة العنصر النائب عند إطلاق الحملة، سيرى المستخدمون مساحة فارغة في مكانه.
*   `{placeholder_name|format_modifier}` – إذا لم يتم تحديد قيمة العنصر النائب ولم يتم تعيينها بالفعل لمستخدم (في حال استخدمت وسمًا (Tag) كعنصر نائب)، فلن يتم إرسال الرسالة.

<details>

<summary>مُعدِّلات التنسيق</summary>

*   CapitalizeFirst – يحول الحرف الأول في قيمة العنصر النائب إلى حرف كبير؛
*   CapitalizeAllFirst – يحول الحرف الأول في كل كلمة في قيمة العنصر النائب إلى حرف كبير إذا كانت القيمة تتكون من أكثر من كلمة واحدة؛
*   UPPERCASE – يحول جميع الحروف إلى أحرف كبيرة؛
*   lowercase – يحول جميع الحروف إلى أحرف صغيرة؛
*   regular – يدرج قيمة العنصر النائب تمامًا كما هي محددة في الطلب، بدون أي تعديلات.

</details>

<img src="/customer-journey-api-based-entry-3.webp" alt="محرر الإعداد المسبق للإشعارات الفورية يُظهر مثالاً على صيغة العنصر النائب مع مُعدِّلات التنسيق في محتوى الرسالة"/>

<Aside type="note">
يمكنك أيضًا استخدام اسم وسم (Tag) موجود بدلاً من اسم العنصر النائب. في هذه الحالة، يجب عليك تكوين الكتابة فوق قيمة هذا الوسم بالقيمة المحددة في الطلب كما هو موضح أدناه.
</Aside>

عند تكوين خطوة الإشعار الفوري (Push) أو البريد الإلكتروني (Email) في رحلتك، حدد الإعداد المسبق الذي تم إنشاؤه وقم بتشغيل خيار **تخصيص الرسالة بسمات الحدث (Personalize message with event attributes)**. حدد العناصر النائبة التي تريد تعديلها في الطلب عند إطلاق الرحلة. اختر **الدخول المستند إلى API (API-based Entry)** كمصدر واسم العنصر النائب كسمة ديناميكية:

<video src="/customer-journey-api-based-entry-4.webm" title="إعدادات خطوة الإشعار الفوري أو البريد الإلكتروني تُظهر خيار تخصيص الرسالة بسمات الحدث واختيار مصدر الدخول المستند إلى API" autoplay loop muted playsinline />

انقر على **تطبيق (Apply)** لحفظ التغييرات.

4. في نافذة إعدادات الدخول، انسخ قالب الطلب لتعديله:

<img src="/customer-journey-api-based-entry-5.webp" alt="نافذة إعدادات الدخول المستند إلى API تعرض قالب طلب API مع تنسيق ترويسة التفويض"/>
<Aside>
لإطلاق رحلة عبر API، يجب عليك تضمين رمز تفويض صالح في ترويسة `Authorization`.

**تنسيق الترويسة المطلوب**

 ```http
 Authorization: Api <your_api_token>
 ```
 **مثال**

 ```http
 Authorization: Api c8dc6435-xxxxxxxxxxxxxxx
 ```
</Aside>

5. أضف فلاتر الجمهور إلى معامل `filter` باستخدام [لغة التجزئة (Segmentation language)](/ar/developer/api-reference/segmentation-filters-api/segmentation-language/). يرجى ملاحظة أنك تحتاج إلى إعداد [الوسوم (Tags)](/ar/developer/guides/audience-and-segmentation/tags/) اللازمة مسبقًا.

على سبيل المثال، إذا كنت ترغب في استهداف الرحلة للمستخدمين الذين أضافوا عنصر _Socks_ إلى _Wishlist_ الخاصة بهم، فيجب أن تبدو قيمة `filter` كما يلي:

```
    "filter": "A("12345-12345") * "T("Wishlist", EQ, "Socks")"
```

في هذا المثال، يجب أن يكون لديك وسم _Wishlist_ مهيأ في تطبيقك.

<Aside type="note">
سيتم إضافة رمز التطبيق الخاص بك تلقائيًا إلى معامل `filter` بتنسيق `A(\"12345-12345\")`. يرجى عدم إزالته أو تعديله.

أيضًا، يرجى الأخذ في الاعتبار أنه يجب عمل escape لعلامات الاقتباس ("") والشرطات المائلة العكسية (\\) باستخدام شرطة مائلة عكسية (\\) في استعلامات JSON.
</Aside>

6. إذا قمت بإعداد العناصر النائبة، فحدد المحتوى المطلوب كقيم لها:

<img src="/customer-journey-api-based-entry-6.webp" alt="قالب طلب API يُظهر تكوين قيم العناصر النائبة للمحتوى الديناميكي عند إطلاق الرحلة"/>

7. إذا تم تمكين خيار **حدود معدل الرسائل (Message Rate Limits)**، فسيتم تحديد عدد المستخدمين الذين يدخلون الرحلة في وقت واحد كل ثانية. يمكنك استخدام القيمة الافتراضية البالغة 5000 مستخدم في الثانية أو تعيين رقم آخر.

<img src="/customer-journey-api-based-entry-7.webp" alt="إعدادات الدخول المستند إلى API تُظهر خيار حدود معدل الرسائل مع القيمة الافتراضية 5000 مستخدم في الثانية"/>

<Aside type="tip">
نوصي بإبقاء القيمة بين 5000 و 10000 مستخدم في الثانية. إذا كانت القيمة منخفضة جدًا، فقد يستغرق دخول جمهورك إلى الرحلة وقتًا أطول. إذا كانت القيمة عالية جدًا، فقد يتم تحميل الخدمة التي تعالج بياناتك بشكل زائد.
</Aside>

8. إذا كنت تخطط لإعادة تشغيل حملتك بشكل متكرر ولا تريد أن يدخل نفس المستخدمين الرحلة عدة مرات، فقم بتعيين [تحديد التكرار (Frequency Capping)](/ar/product/customer-journey/journey-settings#frequency-capping).

> على سبيل المثال، لقد أنشأت حملة لإعلام المستخدمين بانخفاض سعر منتج معين. وتريد إعادة إطلاق الرحلة عدة مرات عن طريق إرسال عدة طلبات بفلاتر جمهور مختلفة. في هذه الحالة، يمكنك إضافة تحديد التكرار حتى لا يتم إرسال الإشعار بشكل متكرر للمستخدمين الذين يتطابقون مع عدة فلاتر.

9. إذا كنت تريد إطلاق رحلة كلما حدث حدث تجاري معين، فقم بأتمتة الطلب باستخدام webhook. بمجرد وقوع الحدث، يجب أن يرسل webhook الطلب تلقائيًا لبدء الرحلة.

يمكنك أيضًا إرسال الطلب يدويًا إذا لم تكن بحاجة إلى الأتمتة.

<Aside type="note">
* إذا قمت بتغيير شروط التجزئة عند إرسال طلب جديد، فلن يؤثر ذلك على المستخدمين الذين دخلوا الرحلة بالفعل.
* إذا قمت بتغيير محتوى الرسالة عند إرسال طلب جديد، فسيتلقى جميع المستخدمين الإصدار الجديد من الرسالة (بما في ذلك أولئك الذين دخلوا الرحلة بالفعل ولكنهم لم يتلقوا هذه الرسالة بعد).
</Aside>