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

من المثال (الشكل 1)، يمكنك أن ترى أن العميل يتحرك إلى أسفل المسار فقط إذا نقر على زر "نعم!" الذي أرسلته الكتلة قبل الأخيرة. (في حالات أخرى، يمكن أن يكون المشغل لمواصلة التحرك عبر المسار أي شيء تقريبًا، اعتمادًا على شروط تدفق chatbot الخاص بك.)
في هذا المثال (الشكل 1)، قررت العميلة Nastya عدم النقر على الزر في chatbot، لذلك توقفت المحادثة في الكتلة قبل الأخيرة من المسار:

لحل هذه المشكلة، تحتاج إلى اتخاذ بضع خطوات بسيطة في مخطط التدفق الخاص بك: لمواصلة الحوار مع العميل أو نقله عبر المسار بعد فترة زمنية معينة (على سبيل المثال، بعد n دقيقة)، ارسم سهمًا إضافيًا من الكتلة قبل الأخيرة واضبط التأخير الزمني الذي سينتقل بعده العميل تلقائيًا إلى الكتلة التالية في المسار.

الآن، قم بتعيين مؤقت بالفاصل الزمني المطلوب في إعدادات السهم، بحيث ينتقل العميل تلقائيًا إلى الكتلة التالية:

تأكد من تفعيل مفتاح "إلغاء إذا تم مغادرة الكتلة" (الشكل 3) لمنع إرسال الرسالة مرة أخرى بعد انتهاء المؤقت إذا كان العميل قد انتقل بالفعل إلى الكتلة التالية (على سبيل المثال، عن طريق النقر على زر).

يوضح المثال أعلاه أن الروبوت ينقل العميل تلقائيًا عبر المسار ويرسل الرسالة النهائية—حتى لو لم ينقر على الزر.
الآن، بمساعدة السهم الثاني مع المؤقت المحدد، سيتم نقل العميل إلى أبعد من ذلك على طول المسار بعد فترة زمنية معينة.
كيفية نقل العميل من الكتلة الأخيرة إلى كتلة أخرى؟
في مخطط التدفق (الشكل 4)، يمكنك أن ترى أن الكتلة قبل الأخيرة تحدد الكتلة التي سيدخلها عميلك، اعتمادًا على الزر الذي يضغط عليه في الكتلة ذات الفرعين:

إذا نقر العميل على أحد الزرين، فسيتوقف في الكتلة الأخيرة ولن يتمكن، على سبيل المثال، من العودة إلى الكتلة السابقة واختيار خيار مختلف عند الحاجة. لن يستجيب chatbot ببساطة للضغط على زر آخر لأن المستخدم قد انتقل بالفعل إلى الكتلة الأخيرة، والتي لا تسمح بمزيد من الحركة عبر المسار (انظر المثال أدناه).

في هذه الحالة، يمكنك حل المشكلة بطريقتين:
- باستخدام كتلة "Not State" — تحافظ هذه الوظيفة على العميل في الكتلة التي تحتوي على خيارات الأزرار دون نقله إلى الكتل التالية.
- باستخدام أزرار رد الاتصال — تنقل هذه الوظيفة العميل إلى الكتل التالية ولكنها لا تزال تسمح له بتغيير اختياره إذا لم يكن راضيًا عن النتيجة.
كتلة "Not State"
كتلة "Not State" هي كتلة رمادية اللون. على عكس كتلة "Dialog State"، ليس لها شروط، ولا يمكن نقل العملاء إليها مباشرة.
في تدفقنا، كتلة "Not State" مثالية لأن المستخدم لن يغادر الكتلة قبل الأخيرة ويمكنه الضغط على زر مختلف إذا كان غير راضٍ عن اختياره الأول.
لإعداد ذلك، انتقل إلى منشئ المسار وحدد نوع الكتلة "Not State" (لا تخلط بينها وبين "Not State with condition").

الآن يبدو مخطط التدفق الخاص بنا كما يلي:

لاختبار أن التدفق يعمل بشكل صحيح، افتح أداة اختبار bot. هناك، سترى أنه يمكن الضغط على أي زر بغض النظر عن اختيار العميل السابق:

أزرار رد الاتصال
إذا كنت بحاجة إلى أن ينتقل العميل إلى أبعد من ذلك على طول المسار وينتقل إلى كتل أخرى، فستساعد وظيفة زر رد الاتصال.
للقيام بذلك، قم بإزالة الأسهم المؤدية إلى الكتل النهائية في مخطط التدفق واضبط نوع تلك الكتل على "Primary condition check":

دعنا نذهب إلى إعدادات الزر داخل الكتلة:

سيتم فتح نافذة إعدادات زر "نعم!". هنا، قم بما يلي:
- حدد نوع الزر "Callback button"
- في نص رسالة الرد، أدخل الكلمات أو العبارات اللازمة لحقل الشرط في كتلة "Primary condition check".

قم بإعداد الزر الثاني بنفس الطريقة (في تدفقنا، هذا هو زر "لا").
استخدم نصوصًا/عبارات مختلفة لحقول "نص رسالة الرد" في إعدادات الأزرار داخل نفس المشروع لتجنب أخطاء chatbot.
بعد ذلك، انتقل إلى إعدادات كتل Primary condition check، حيث تحتاج إلى إدخال الكلمات التي كتبتها في حقل "نص رسالة الرد"، باستخدام نوع المطابقة "Exact match":

قم بإعداد الكتلة الثانية لزر "لا" بنفس الطريقة.
بهذه الطريقة، تعلمت كيفية نقل العميل تلقائيًا عبر المسار باستخدام ثلاث طرق مختلفة.