استخدام بيانات استجابة webhook في رحلتك
نظرة عامة
Anchor link toعندما تقوم بـ ربط القيم من استجابة webhook، يقوم Pushwoosh بتخزينها كمتغيرات يمكنك استخدامها لاحقًا في الرحلة في عناصر Update user profile و Time Delay وتخصيص المحتوى، بنفس الطريقة التي تستخدم بها سمة حدث (Event attribute). الاستثناء الوحيد هو Condition split: لا يمكنه التفرع بناءً على متغير webhook مباشرة، لأنه يحتاج إلى قيمة بنوع معلن (Tag أو سمة حدث)، وقيمة webhook المربوطة ليس لها نوع. انظر مقارنة قيمة webhook في Condition split أدناه.
حفظ قيمة webhook كـ Tag باستخدام تحديث ملف تعريف المستخدم
Anchor link toيمكن لـ Webhook إرجاع بيانات من نظام خارجي، مثل معرّف مستخدم CRM أو حالة الاشتراك، التي لا يخزنها Pushwoosh في ملف تعريف المستخدم بعد. يقوم Update user profile بحفظ القيم المربوطة كـ Tags حتى تتمكن من استخدامها في الشرائح (segments)، والمحتوى الديناميكي (dynamic content)، وخطوات الرحلة اللاحقة.
مثال: حفظ معرّف مستخدم CRM كـ Tag
Anchor link toيقوم مستخدم جديد بالتسجيل في تطبيقك، وتقوم الرحلة بإنشاء سجل مطابق في نظام CRM الخاص بك. يتيح لك حفظ معرّف مستخدم CRM المُرجع كـ Tag الرجوع إلى نفس سجل CRM أو تحديثه لاحقًا، على سبيل المثال من رحلة أخرى أو استدعاء Webhook متابع، بدلاً من إنشاء سجل مكرر في كل مرة يعود فيها المستخدم للدخول إلى الرحلة.
تدفق الرحلة: Trigger-based Entry → Webhook → Update user profile → إنهاء الفرع
- أنشئ رحلة باستخدام Trigger-based Entry على حدث
SignUp. - أضف عنصر Webhook بعد خطوة الدخول. قم بتسميته (على سبيل المثال،
Create user in CRM) وعيّن عنوان URL للطلب إلى نقطة نهاية إنشاء المستخدم في CRM الخاص بك. - في Response mapping، عيّن Path إلى حقل المعرّف في الاستجابة (على سبيل المثال،
data.user.id) و Attribute إلىcrm_user_id.

-
أضف عنصر Update user profile بعد خطوة Webhook.
-
في Dynamic Tag Value، انقر على + Dynamic Value. في Tag، حدد الـ Tag الذي يخزن معرّف CRM (أنشئه مسبقًا إذا لزم الأمر). في Event، حدد خطوة webhook بالاسم الذي أعطيته لها (
Create user in CRM). في Dynamic Value، حددcrm_user_id.

- أنهِ الفرع — أضف عنصر Exit أو اتركه بدون اتصال صادر.

جدولة تأخير من قيمة webhook باستخدام التأخير الزمني
Anchor link toغالبًا ما تكون تواريخ الزيارة، ومواعيد التجديد، وفترات التسليم موجودة في نظام حجز أو فوترة خارجي. بعد أن يقوم Webhook بربط التاريخ من استجابة API، يمكن لـ Time Delay إيقاف الرحلة مؤقتًا حتى تلك اللحظة، على سبيل المثال قبل يومين من الموعد، حتى يتم إرسال الرسالة التالية في الوقت المحدد.
مثال: جدولة تذكير من تاريخ في الاستجابة
Anchor link toيقوم مستخدم بحجز موعد في تطبيقك. تقوم الرحلة بجلب تاريخ الزيارة من نظام الحجز الخاص بك وترسل تذكيرًا عبر إشعار فوري قبل يومين من الزيارة.
- أنشئ رحلة باستخدام Trigger-based Entry على حدث
AppointmentBooked. - أضف عنصر Webhook بعد خطوة الدخول. قم بتسميته (على سبيل المثال،
Get appointment details) وعيّن عنوان URL للطلب إلى واجهة برمجة تطبيقات نظام الحجز الخاص بك. - في Response mapping، عيّن Path إلى حقل التاريخ في الاستجابة (على سبيل المثال،
appointment.date) و Attribute إلىvisit_date.

- أضف عنصر Time Delay بعد خطوة Webhook. حدد Based on user/event data، وعيّن Get date from إلى Event، وعيّن Event إلى خطوة webhook بالاسم الذي أعطيته لها (
Get appointment details)، وعيّن Event value إلىvisit_date، وعيّن التأخير إلى Before2Days.

- إذا كان بإمكان المستخدمين الحجز قبل أقل من يومين من الزيارة، فقم بتمكين Split to branches if the date’s in the past or date is empty على عنصر Time Delay. يؤدي هذا إلى إنشاء فرعين، In the past و In the future. انظر تقسيم الفروع عندما يكون التاريخ في الماضي أو فارغًا.
- أضف خطوة Push مع رسالة التذكير الخاصة بك. إذا تم تمكين التقسيم، أضف هذا الـ Push في كلا الفرعين: In the past (إرسال فوري) و In the future (بعد Time Delay).
- أنهِ كل فرع — أضف عنصر Exit أو اتركه بدون اتصال صادر.

مقارنة قيمة webhook في تقسيم الشرط
Anchor link toيتفرع Condition split بناءً على شريحة (Segment) أو Tag أو سمة حدث (Event attribute) بنوع معلن. القيمة المربوطة من استجابة webhook ليس لها نوع، لذلك لا تظهر في القوائم المنسدلة لـ Condition split ولا يمكن مقارنتها مباشرة.
للتفرع بناءً على قيمة webhook، احفظها أولاً كـ Tag من النوع المطابق باستخدام Update user profile، ثم قارن ذلك الـ Tag في Condition split.
مثال: التفرع بناءً على رصيد webhook مقابل مبلغ الحدث المُشغِّل
Anchor link toيطلب مستخدم عملية شراء، وتتحقق الرحلة مما إذا كان رصيده في CRM يغطي السعر من الحدث المُشغِّل قبل المتابعة.
تدفق الرحلة: Trigger-based Entry → Webhook → Update user profile → Condition split
- أنشئ رحلة باستخدام Trigger-based Entry على حدث
PurchaseRequested، مع سمة رقميةrequired_amount. - أضف عنصر Webhook بعد خطوة الدخول. في Response mapping، عيّن Path إلى حقل الرصيد في الاستجابة (على سبيل المثال،
current_balance) و Attribute إلىcurrent_balance. - أضف عنصر Update user profile بعد خطوة Webhook. في Dynamic Tag Value، عيّن Tag إلى Tag رقمي من نوع Integer أو Price (أنشئه مسبقًا إذا لزم الأمر، على سبيل المثال
Current_balance)، و Event إلى خطوة webhook، و Dynamic Value إلىcurrent_balance. - أضف عنصر Condition split بعد Update user profile. عيّن الشرط إلى Tag
Current_balance، والمشغل greater or equals، وبالنسبة للقيمة حدد Event attribute → حدث الدخول →required_amountبدلاً من ثابت. - قم بتوصيل كل فرع بالخطوات التالية.
أشياء يجب أخذها في الاعتبار
Anchor link to- صيغة المسار (Path syntax): استخدم مسارًا مفصولاً بنقاط (على سبيل المثال،
data.user.id)، أو مقطع*لربط كل عنصر في مصفوفة. المرشحات غير مدعومة. انظر ربط كل عنصر في مصفوفة لمزيد من التفاصيل. - حجم الاستجابة: لا تتم معالجة الاستجابات التي يزيد حجمها عن 64 كيلوبايت للربط.
- Condition split: قيمة webhook المربوطة ليس لها نوع ولا يمكن استخدامها مباشرة. احفظها كـ Tag أولاً. انظر مقارنة قيمة webhook في Condition split.
- الاختبار: قم بتشغيل Test webhook في عنصر Webhook قبل استخدام القيم المربوطة في رحلة حية. تأكد من نجاح الطلب، ثم تحقق من نص الاستجابة مقابل كل Path في علامة تبويب Calls log. إذا بدت قيمة ما خاطئة لمسافر معين بمجرد أن تكون الرحلة حية، تحقق من صف ذلك المسافر في Calls log.
- القوائم في الاستجابة: استخدم
*في Path لربط كل عنصر. اخترitem_{n}لسمات منفصلة أو اسمًا بدون{n}لسلسلة نصية واحدة مفصولة بفواصل. تبدأ فهارس Path من 0. تبدأ أسماء{n}من 1. يتم ربط أول 50 عنصرًا على الأكثر. انظر ربط كل عنصر في مصفوفة.