مرحبا، أحتاج إلى مساعدة تقنية في مراجعة سير عمل في n8n.
أنا أقوم ببناء سير عمل تسجيل/تحديث عملاء WhatsApp باستخدام n8n + Google Sheets + Z-API.
يبدأ سير العمل في WF001 ثم يستمر في WF002.
القرار التصميمي المهم هو أنني لا أريد استخدام عمود “ETAPA” في Google Sheets.
بدلاً من ذلك، يجب أن يحدد WF002 مكان وجود العميل في المحادثة من خلال تحليل البيانات الموجودة في صف Google Sheets.
المحادثة لديها هذه الخطوات:
- يقبل العميل التسجيل/التحديث
- يقدم العميل مقاس حذائه
- يجيب العميل على M04، وهي فئة المنتج المفضلة
- يجيب العميل على M05، وهو سؤال آخر في سير العمل
- يعالج سير العمل الرد النهائي ويرسل الرسائل المتبقية
في WF002، يوجد عقدة Switch/Rules تسمى:
“Identificar momento da conversa”
تحتوي حالياً على قواعد تحاول تحديد:
NUMERACAO
M04
M05
INTERESSE
RESPOSTA_M05
تستخدم القواعد الحقول الموجودة في Google Sheets، مثل:
- Numeração
- Categoria Preferida
- Última resposta
- بيانات العميل الموجودة الأخرى
حاولنا سابقاً عدة تعديلات على سير العمل هذا، لكن الاختبارات لم تعمل بشكل موثوق.
قبل إجراء أي تغييرات أخرى، أريد أن أفهم العمارة الصحيحة في n8n.
أسئلتي هي:
-
هل من الصحيح استخدام عقدة Rules/Switch لتحديد خطوة المحادثة الحالية بناءً على حقول Google Sheets الموجودة، دون إنشاء عمود ETAPA؟
-
هل يمكن لسير العمل أن يحدد بشكل موثوق ما إذا كانت رسالة WhatsApp الواردة هي إجابة العميل على السؤال 1، السؤال 2، السؤال 3، وما إلى ذلك، باستخدام بيانات Google Sheets الموجودة فقط؟
-
هل هناك أي مشاكل في استخدام تعبيرات تشير إلى عقدة أخرى، مثل:
$(‘Preparar Resposta Recebida’).item.json
داخل شروط Switch/Rules؟ -
لدينا حالياً عدة عقد Wait:
- 10 ثوان
- 60 ثانية بعد M04
- 60 ثانية بعد M05
- 5 ثوان بين M06 و M07
- 5 ثوان بين M07 و M08
بعض عقد Wait هذه مخصصة فقط لإنشاء تأخير بين الرسائل، بينما عقد Wait لمدة 60 ثانية مخصصة لمنح العميل وقتاً لإرسال رد آخر قبل أن يبحث سير العمل عنه.
هل يمكن لعقد Wait هذه أن تسبب مشاكل مع تنفيذات webhook، أو التنفيذات المتزامنة، أو فقدان سير العمل لسياق العميل/خلطه؟
-
ما هي عمارة n8n الموصى بها لهذا النوع من محادثات WhatsApp، حيث يمكن لكل عميل أن يرد في أوقات مختلفة وتبدأ كل رسالة WhatsApp جديدة تنفيذ webhook جديد؟
-
هل هناك طريقة أفضل لتحديد حالة المحادثة دون استخدام عمود ETAPA؟
يمكنني تقديم لقطات شاشة لسير العمل وتكوين Rules وWait nodes وعقد Google Sheets وعقد Z-API HTTP Request.
أود أن أفهم العمارة الصحيحة قبل تغيير سير العمل مرة أخرى، لأننا قد أجرينا بالفعل عدة تغييرات دون الحصول على نتائج موثوقة.