# المحتوى المتصل

المحتوى المتصل (Connected content) هو ميزة في [قوالب Liquid](/ar/product/personalization/liquid-templates/) تسمح لك باسترداد واستخدام البيانات ديناميكيًا من مصدر خارجي، مثل خدمة ويب، مباشرة داخل رسائل البريد الإلكتروني أو إشعارات Push. تتيح هذه الميزة التخصيص في الوقت الفعلي عن طريق جلب بيانات JSON من عنوان URL محدد وحفظها في متغير يمكن استخدامه في المحتوى الخاص بك.

## حالات الاستخدام الرئيسية

- **توصيات المنتجات**: عرض قوائم منتجات مخصصة مصممة لكل مستخدم.

- **رموز الترويج**: إدراج رموز ترويجية فريدة تم إنشاؤها بواسطة خدمة خلفية.

## المتطلبات الأساسية

*   لاستخدام المحتوى المتصل، يجب أن يكون لديك خدمة خلفية خاصة بك تقوم بإنشاء وتوفير البيانات المطلوبة (مثل رموز الترويج، توصيات المنتجات) بناءً على **User ID، HWID، أو custom tags**. يقوم Pushwoosh بعد ذلك بجلب هذه البيانات قبل إرسال الرسالة.

## دليل التنفيذ خطوة بخطوة

<Aside type="caution" icon="setting" title="مطلوب مساعدة المطور">
ستحتاج إلى مساعدة فريق المطورين لديك لاستخدام المحتوى المتصل. شارك هذا الدليل معهم للبدء.
</Aside>

### الخطوة 1. إعداد الخدمة الخلفية

يجب أن تقوم الخدمة الخلفية بما يلي:

*   قبول طلب يحتوي على معلمات خاصة بالمستخدم (مثل `userId`). يدعم المحتوى المتصل `UserID`، `HWID`، أو أي custom tags قمت بإعدادها في مشروعك.
*   إرجاع استجابة JSON بالبيانات المطلوبة. يمكن بعد ذلك إدراج هذا المحتوى ديناميكيًا في الرسائل.

<Aside type="note" title="كيف يعمل">

تعمل الخدمة الخلفية كمزود بيانات، حيث تستجيب لطلبات HTTP بمعلومات خاصة بالمستخدم.

1.  يرسل Pushwoosh طلبًا إلى خدمتك الخلفية، ويمرر معرفات خاصة بالمستخدم كمعلمات استعلام.
2.  تعالج خدمتك الخلفية الطلب وتسترد البيانات المطلوبة.
3.  تعيد خدمتك الخلفية استجابة JSON.
4.  قبل إرسال الرسالة، يجلب Pushwoosh استجابة JSON من الخدمة الخلفية ويستخدم القيم المرجعة (مثل `code`) في محتوى الرسالة ديناميكيًا.

**مثال على الاستجابة**

```
{ "code": "SPECIALOFFERFORUSER12345" }
```
</Aside>

### الخطوة 2. إنشاء preset مع المحتوى المتصل في Pushwoosh

1.  في [محرر محتوى Push](/ar/product/content/push-presets/) أو [محرر محتوى البريد الإلكتروني](/ar/product/content/email-content/drag-and-drop-email-editor/)، أدخل صيغة المحتوى المتصل في حقل الرسالة.

**مثال**

```
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :save result %}  
```
**تفصيل الصيغة**
| | |
| ----- | ----- |
| `connected_content` | يجلب بيانات JSON من عنوان URL الخلفي المحدد. |
| `http://your-backend-url.com` | نقطة النهاية الخلفية التي تعيد البيانات المطلوبة بتنسيق JSON. |
| `userId={{ ${userid} }}` | معلمة استعلام ديناميكية تمرر معرف المستخدم إلى الواجهة الخلفية. داخل `connected_content`، ضع المتغير ضمن `${}`. في نص الرسالة، اكتب `{{userid}}` بدونها. |
| `:save result` | يخزن استجابة JSON التي تم جلبها في المتغير `result` لاستخدامه في قوالب Liquid |

![أدخل صيغة المحتوى المتصل](/connectedcontent.webp)

**المصادقة (اختياري)**

إذا كانت خدمتك الخلفية تتطلب مصادقة، يمكنك تضمين مفتاح API أو رمز مميز في طلب المحتوى المتصل لضمان الوصول الآمن.

```
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&auth=YOUR_API_KEY :save result %}  
```

يمكنك أيضًا إرسال بيانات المصادقة (أو أي بيانات أخرى) كرؤوس HTTP باستخدام المعلمة الاختيارية `:headers` — وهي كائن JSON لأسماء وقيم الرؤوس.

```
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :headers {"Authorization": "Bearer YOUR_TOKEN", "X-Api-Key": "YOUR_API_KEY"} :save result %}  
```
| | |
| ----- | ----- |
| `:headers {...}` | كائن JSON لرؤوس HTTP المرسلة مع الطلب، على سبيل المثال `Authorization: Bearer <token>`. |

<Aside type="caution" title="القيم الثابتة فقط">
تعمل متغيرات التخصيص `${}` فقط داخل عنوان URL. القيم داخل `:headers` ثابتة ولا يتم استيفاؤها.
</Aside>

<Aside type="danger" title="أبقِ بيانات الاعتماد خارج عنوان URL">
فضل استخدام `:headers` على معلمة استعلام URL (مثل `&auth=YOUR_API_KEY`) لمفاتيح API والرموز المميزة: إذا فشل الجلب، يتم كتابة عنوان URL للطلب في السجلات، مما يكشف عن أي مفتاح موضوع هناك. لا يتم تسجيل القيم داخل `:headers` أبدًا.

يتطلب المحتوى المتصل أيضًا تمكين قوالب محتوى Liquid لحسابك. إذا لم تكن كذلك، يتم إرسال علامة `connected_content` بأكملها - بما في ذلك أي مفتاح بداخلها - إلى كل مستلم كنص حرفي بدلاً من عرضها. اتصل بـ[دعم Pushwoosh](https://help.pushwoosh.com/hc/en-us/requests/new) إذا لم تكن متأكدًا مما إذا كان حسابك قد تم تمكين هذا.
</Aside>

**استخدام tags في المحتوى المتصل**

لتضمين قيمة tag، أضفها إلى عنوان URL كمعلمة استعلام بالصيغة نفسها `{{ ${tag_name} }}`. إذا كُتبت بالشكل `{{ tag_name }}` داخل الوسم `connected_content`، فستُرسل القيمة فارغة.

```
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&lang={{ ${Language} }} :save result %} 
```

2.  بعد ذلك، أضف نص الرسالة الذي يتضمن **البيانات المستردة**، مثل هذا:

```

مرحباً، {{userid}}، احصل على رمز الترويج الشخصي الخاص بك - {{result.code}} 
```

![أضف نص الرسالة مع البيانات المستردة](/connectedcontent-1.webp)

3.  بعد الانتهاء من محتوى الرسالة وتكوين إعدادات preset، احفظه لإعادة استخدامه في الحملات.

<video src="/connectedcontent-2.webm" title="إرسال رسالة بمحتوى متصل" autoplay loop muted playsinline />

### الخطوة 3. إرسال رسالة باستخدام preset المكوّن

أرسل رسالة باستخدام هذا preset باستخدام [one-time push](/ar/product/messaging-channels/push-notifications/send-push-notifications/one-time-push/#how-to-send-a-push-notification-using-the-one-time-push-form) أو [نموذج البريد الإلكتروني](/ar/product/messaging-channels/emails/sending-emails/send-one-time-emails/) أو [customer journey](/ar/product/customer-journey/pushwoosh-journey-overview/).

<Aside type="caution" title="هام">
إذا أعادت الخدمة حالة غير HTTP 200 OK، فلن يتم إرسال البريد الإلكتروني أو إشعار Push. هذا يضمن أن اتصالك يخرج فقط إذا تم استرداد البيانات اللازمة بنجاح.
</Aside>