متغيرات الرسائل
خصّص أي رسالة في رحلة (Email أو SMS أو Push أو WhatsApp أو Webhook) باستخدام عناصر Liquid النائبة. يُعرض المتغير الذي لا قيمة له كنص فارغ؛ ولا ينتج عنه خطأ أبدًا.
نطاقا أسماء الأحداث
تمنحك الرحلات نطاقَي أسماء للأحداث، والفرق بينهما مهم:
trigger- كيفية دخولهم. حدث الدخول، ثابت طوال التنفيذ.event- آخر ما فعلوه. أحدث حدث دفع الرحلة إلى الأمام، مثل الرد الذي حسم تقسيم السلوك. يبدأ مساويًا لـtrigger، ثم يعاد ربطه كلما انتهى انتظار.
لذلك، لمعرفة «ما الذي ردت به جهة الاتصال للتو»، استخدم event (أو الأسماء البديلة reply أدناه)، وليس trigger.
المستخدم: السمات الافتراضية مقابل المخصصة
السمات الافتراضية: حقول قياسية، تُكتب مثل {{ user.firstName }}:
| المتغير | القيمة |
|---|---|
user.firstName, user.lastName | سمات الاسم |
user.email, user.phone | حقول جهة الاتصال |
user.id | معرّف جهة الاتصال الخاص بـ Joryio |
user.externalId | معرّفك الخارجي |
user.whatsappName | اسم ملف WhatsApp الشخصي المتزامن مع جهة الاتصال |
السمات المخصصة: أي شيء آخر في جهة الاتصال، ضمن نطاق custom، مثل {{ user.custom.plan }}:
| المتغير | القيمة |
|---|---|
user.custom.<attribute> | أي سمة مخصصة (مثل user.custom.plan) |
لا تزال الصيغة المسطحة الأقدم {{ user.<attribute> }} تعمل للتوافق مع الإصدارات السابقة، لكن {{ user.custom.<attribute> }} هي الطريقة الموصى بها للإشارة إلى السمات المخصصة؛ فهي تبقيها مميزة بصريًا عن الحقول الافتراضية.
أسماء السمات الافتراضية محجوزة؛ لا يمكنك إنشاء سمة مخصصة تحمل اسم سمة افتراضية (مثل email أو country أو firstName)، لذلك لا تتعارض القائمتان ولا يعرض المنتقي الاسم مرتين.
إدراج المتغيرات
تحتوي محررات WhatsApp وSMS وPush وWebhook على زر + تخصيص يفتح منتقي إضافة تخصيص. اختر نوعًا وحدد السمة وأضف قيمة افتراضية اختيارية، ثم انقر إدراج للمقطع المُنشأ:
- أحدث حدث - أحدث حدث دفع الرحلة إلى الأمام. اختر مصدرًا: رد (WhatsApp) (الأسماء البديلة السهلة
reply.*) أو حدث مخصص (event.*). - المشغّل (الدخول) - كيفية الدخول. اختر مصدرًا: رسالة WhatsApp أو حدث مخصص.
- السمات الافتراضية -
{{ user.firstName }}و{{ user.email }}والحقول الأساسية الأخرى (القائمة نفسها الموجودة في منتقي «السمة الافتراضية» للشريحة). - السمات المخصصة - السمات المخصصة لمؤسستك فقط (تُدرج الافتراضية تحت نوعها الخاص، ولا تظهر في الموضعين)، وتُدرج كـ
{{ user.custom.<attribute> }}. - كتالوج المنتجات - سجلات من كتالوج متجرك المتزامن عبر اختيار منتج، وتُدرج كعلامة تعيين مثل
{% assign products = 'featured' | products %}ثم تكررها باستخدام{% for item in products %} … {% endfor %}. - كيان مخصص - سجلات من كيان مخصص عبر اختيار محفوظ، وتُدرج كـ
{% assign items = 'tv_series' | entity: 'latest' %}وتكرر بالطريقة نفسها.
تضيف القيمة الافتراضية الاختيارية مرشح | default: "…"، لكي تعود السمة الفارغة إلى نصك بدل عرض فراغ.
Email وداخل التطبيق
تحتوي محررات Email والرسائل داخل التطبيق المرئية على زر تخصيص يفتح المنتقي نفسه في وضع النسخ: أنشئ المقطع وانسخه والصقه حيث تريد في تصميمك. (لا تتوفر ردود / أحدث حدث / مشغّل هناك؛ إذ لا تُحل إلا داخل رحلة.)
المشغّل (حدث الدخول)
| المتغير | القيمة |
|---|---|
trigger.properties.<field> | أي خاصية حملها حدث الدخول |
trigger.properties.content.text | النص الوارد، إذا كان الدخول عبر رسالة WhatsApp |
الحدث (أحدث حدث تقدمت به الرحلة) والأسماء البديلة reply
بعد تقسيم سلوك ينتظر ردًا، يصبح event هو ذلك الرد. تُعد الأسماء البديلة reply اختصارات سهلة للرسائل الواردة؛ وتعمل بالطريقة نفسها لكل من ردود WhatsApp وSMS. بعد تقسيم سلوك رسالة SMS واردة، يكون reply.text أحدث نص SMS وارد من جهة الاتصال.
| المتغير | الاسم البديل | القيمة |
|---|---|---|
event.properties.content.text | reply.text | نص الرد |
event.properties.type | reply.type | نوع الرسالة الواردة (نص أو صورة أو زر…) |
event.properties.profile.name | reply.profile.name | اسم ملف WhatsApp الشخصي |
event.name | - | اسم الحدث |
event.properties.<field> | - | أي خاصية أخرى ملتقطة |
مثال: رد WhatsApp بعد تقسيم سلوك
Thanks {{ reply.profile.name | default: "there" }} - you said
"{{ reply.text }}". We'll follow up shortly.
استخدم trigger.* في كيفية دخولهم وevent.* / reply.* في ما فعلوه للتو. في رحلة دخول مجدولة، لا يحمل trigger محتوى واردًا؛ ويكون الرد بعد التقسيم في event / reply.