استكشاف الأخطاء وإصلاحها في Shopify Flow
يساعدك Shopify Flow على أتمتة المهام والعمليات في متجرك، ولكن قد تواجه أخطاءً أو تصل إلى حدود معينة عند إنشاء مسارات العمل أو تعديلها. تشرح هذه الصفحة المشكلات الشائعة التي قد تواجهها، مثل حدود مسارات العمل وأخطاء البيانات، وتقدم إرشادات حول كيفية حلها. يمكن أن يساعدك فهم هذه الأخطاء في استكشاف المشكلات وإصلاحها للحفاظ على تشغيل مسارات عملك بسلاسة.
في هذه الصفحة
أخطاء عند إنشاء مسارات عمل
عند إنشاء مسار عمل، قد تواجه أخطاءً تمنعك من إضافة مسار عمل جديد. إليك بعض الأخطاء التي قد تواجهها:
تجاوز عدد مسارات العمل
عند إنشاء مسار عمل جديد، قد تواجه خطأً ينص على لقد وصلت إلى الحد الأقصى المسموح به وهو 1000 مسار عمل. للمتابعة، يُرجى حذف أي مسارات عمل غير مستخدمة والمحاولة مرة أخرى.
يقيّد Flow عدد مسارات العمل التي يمكن أن يمتلكها المتجر بحد أقصى يبلغ 1000 مسار. يشمل ذلك مسارات العمل النشطة وغير النشطة. إذا وصلت إلى هذا الحد وأردت إنشاء مسار عمل جديد، فاحذف مسارات العمل غير المستخدمة أو غير النشطة.
إذا كان متجرك يحتوي على أكثر من 1000 مسار عمل قبل تعيين هذا الحد، فيمكن لمتجرك الاستمرار في العمل بأكثر من 1000 مسار عمل. ومع ذلك، لإنشاء مسارات عمل جديدة، يجب أن يكون العدد أقل من الحد الأقصى.
قد تواجه هذا الخطأ عند تنفيذ عدد من الإجراءات عبر تطبيق Flow:
- إنشاء مسار عمل جديد
- تكرار مسار عمل
- استيراد مسار عمل
- تثبيت قالب
وجود عدد كبير جدًا من مسارات العمل على نفس المشغّل
عند تنشيط مسار عمل، قد ترى تحذيرًا بأن متجرك يحتوي على أكثر من 10 مسارات عمل نشطة تستخدم نفس المشغّل.
قد يؤدي وجود العديد من مسارات العمل التي تشترك في نفس المشغّل إلى حدوث مشكلات في الأداء، لأنه في كل مرة يقع فيها حدث المشغّل، يجب على Flow معالجة جميع مسارات العمل المرتبطة به. يمكن أن يؤدي هذا التشعب إلى إبطاء أوقات التنفيذ وزيادة استهلاك الموارد.
لتقليل عدد مسارات العمل المعتمدة على مشغّل واحد، فكّر في الأساليب التالية:
- دمج مسارات العمل التي تستخدم نفس المشغّل في مسار عمل واحد يحتوي على تفرعات وشروط متعددة.
- ألغِ تنشيط مسارات العمل التي لم تعد بحاجة إليها أو احذفها.
- راجع ما إذا كان يمكن لبعض مسارات العمل استخدام مُشغّل أكثر تحديدًا بدلاً من ذلك.
أخطاء عند تعديل مسارات العمل
عند تعديل مسار عمل، قد تواجه أخطاء تمنعك من حفظه. فيما يلي أخطاء شائعة قد تواجهها عند تعديل مسار عمل:
لم يتم العثور على بيانات
عند إضافة إجراء جديد إلى مسار عمل، قد تواجه خطأً ينص على لم يتم العثور على بيانات (Data not found):

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

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

كبديل، يمكنك استخدام مُشغّل مختلف يقدم المورد المطلوب. على سبيل المثال، بدلاً من استخدام مُشغّل تم إنشاء الطلب، يمكنك استخدام مُشغّل طلب التنفيذ جاهز للتنفيذ، والذي يقدم طلب تنفيذ واحد.

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

المشكلة الرابعة: لم يتم تقديم أي بيانات بواسطة مُشغّل تطبيق
على غرار المشكلة الثالثة، لا توفر بعض المُشغّلات التي تم إنشاؤها بواسطة تطبيقات بيانات موارد Shopify المطلوبة. على سبيل المثال، قد يوفر مُشغّل "تم إنشاء مراجعة" عنوان بريد إلكتروني ولكنه لا يوفر كائن عميل، وهو ما تتطلبه العديد من الإجراءات، مثل إضافة علامات للعميل.
لحل هذا الخطأ، قد تتمكن من استخدام إجراء "الحصول على البيانات" لجلب مورد Shopify الذي تحتاجه. على سبيل المثال، يمكنك استخدام إجراء الحصول على بيانات العميل للحصول على كائن العميل من عنوان البريد الإلكتروني المقدم بواسطة المُشغّل. كما هو الحال مع المشكلات الأخرى، يجب عليك أيضًا إضافة إجراء لكل للتكرار عبر أي قائمة يتم إرجاعها بواسطة إجراء يحصل على البيانات.
إذا لم يكن إجراء "الحصول على البيانات" خيارًا متاحًا، فقد تحتاج إلى التواصل مع مطوّر التطبيقات لسؤاله عما إذا كان بإمكانه تعديل مُشغّله لتقديم البيانات المطلوبة.
تم تجاوز عدد خطوات الانتظار
عند إضافة خطوات انتظار جديدة إلى مسار عملك، قد تواجه خطأً ينص على يجب أن تحتوي مسارات العمل على 40 خطوة انتظار أو أقل.
يحدد تطبيق Flow عدد خطوات الانتظار المسموح بها في مسار العمل إلى 40 خطوة. وإذا واجهت هذا الخطأ، فهذا يعني أنك قد تجاوزت هذا الحد. لحل المشكلة، أزِل خطوات الانتظار في أماكن أخرى في مسار عملك.
إذا كان لديك بالفعل مسارات عمل تحتوي على أكثر من 40 خطوة انتظار قبل فرض هذا الحد، فسيستمر مسار عملك في العمل كما هو متوقع. ومع ذلك، لإضافة خطوات انتظار إضافية، يجب عليك أولاً إزالة الخطوات الحالية للبقاء تحت الحد المسموح.
بالإضافة إلى ذلك، لا يمكن أن يتجاوز إجمالي وقت الانتظار في جميع خطوات الانتظار 90 يومًا.
تم تجاوز الحد الأقصى لحجم قيمة حقل التكوين
عند تعديل قيمة حقول التكوين داخل الشروط في مسار عملك، قد تواجه خطأً ينص على يجب أن تكون قيمة حقل التكوين أقل من 50 كيلوبايت.
يحدد تطبيق Flow حجم قيمة حقل التكوين بـ 50 كيلوبايت من البيانات. عندما تواجه هذا الخطأ، فإنك تكون قد وصلت إلى الحد الأقصى أو تجاوزته. لحل المشكلة، قم بتقصير طول البيانات التي تضيفها إلى ذلك الحقل.
إذا كان لديك بالفعل حقول تكوين بقيمة 50 كيلوبايت أو أكثر، فستستمر مسارات عملك في العمل كما هو متوقع. ومع ذلك، لإجراء تغييرات على مسار عملك، يجب عليك مراجعة القيمة التي تسبب الخطأ.
أخطاء عند تشغيل مسار عمل
عندما يواجه تشغيل مسار عمل خطأً، يتم وضع علامة على تشغيل مسار العمل كـ فاشل. وتُعرض رسالة الخطأ في تفاصيل تشغيل مسار العمل. وفيما يلي الأخطاء الشائعة التي قد تواجهها عندما يفشل تشغيل مسار عمل:
- الأخطاء العابرة هي أخطاء مؤقتة تحدث عندما يتعذر على Flow إكمال مهمة. تتم إعادة محاولة هذه الأخطاء إما حتى تنجح أو تصل إلى حد مهلة الانتظار.
- الأخطاء الدائمة هي أخطاء تحدث عندما يتعذر على Flow إكمال مهمة، ولا يمكن إعادة محاولة المهمة.
الأخطاء العابرة
الأخطاء العابرة هي أخطاء مؤقتة تحدث عندما يتعذر على تطبيق Flow إكمال مهمة. وتتم إعادة المحاولة لهذه الأخطاء إما حتى تنجح أو تصل إلى حد مهلة الانتظار. على سبيل المثال، إذا تعذر على Flow التواصل مع شريك عند تنفيذ إجراء مُوصِّل، فإن Flow يعيد محاولة المهمة عدة مرات قبل التخلي عنها.
تكون عمليات إعادة المحاولة متباعدة، حيث يزداد التأخير بين كل محاولة تالية مقارنة بالتأخير السابق. بشكل عام، عندما يواجه مسار العمل أخطاءً عابرة، فإنه يظل في حالة قيد التشغيل لفترة طويلة أثناء إعادة محاولة المهام.
عندما تتم إعادة محاولة المهمة بنجاح، يستمر مسار العمل. أما إذا واجهت المهمة المُعاد محاولتها خطأً دائمًا، فسيفشل مسار العمل. لكل قسم من أقسام مسار العمل حد أعلى مجمع للتنفيذ يبلغ 36 ساعة. وإذا لم تنجح خطوة بها أخطاء عابرة قبل الوصول إلى هذا الحد، فسيفشل مسار العمل.
تُقسَّم مسارات سير العمل التي تحتوي على خطوات انتظار إلى أقسام، مما يؤثر على كيفية حساب حدود مهلة التأخير في سير العمل. يمثل كل قسم مجموعة من المهام التي تُنفَّذ معًا، ولكل منها حد زمني خاص به يبلغ 36 ساعة. على سبيل المثال، إذا كان سير العمل يحتوي على خطوة انتظار تستغرق ساعة واحدة، فستُنفَّذ المهام التي تسبق خطوة الانتظار معًا في قسم واحد، وتُنفَّذ المهام التي تلي خطوة الانتظار معًا في قسم آخر. وإذا كان سير العمل يحتوي على عدة خطوات انتظار، فستُنفَّذ المهام الموجودة بين كل خطوة انتظار معًا في قسم واحد. تُعتبر مسارات سير العمل التي لا تحتوي على خطوة انتظار قسمًا واحدًا.
من الشائع حدوث أخطاء عابرة من حين لآخر. ومع ذلك، إذا كان لديك سير عمل يواجه نفس الخطأ العابر باستمرار عبر تشغيلات متعددة، فقد يحتاج سير العمل لديك إلى إعادة التكوين.
انتهت مهلة الخطوة
عادةً ما تحدث أخطاء انتهت مهلة الخطوة (Step timed out) عندما تحاول مهمة في سير العمل الاستعلام عن قدر كبير جدًا من البيانات داخل قسم واحد. وغالبًا ما يحدث هذا الخطأ في مسارات سير العمل التي تتكرر عبر القوائم، وخاصة القوائم المتداخلة الكبيرة جدًا بحيث يتعذر معالجتها بسرعة.
عند حدوث هذا الخطأ، يُعرض المشغّل أو خطوة الانتظار بالحالة قيد إعادة المحاولة (retrying).
لحل هذه المشكلة، راجع الشروط التي تصل إلى القوائم والقوائم المتداخلة للتأكد من إعدادها بشكل صحيح. من المشاكل الشائعة وجود شرط يتحقق من جميع المنتجات في متجر، بدلاً من المنتجات الموجودة في طلب فقط.
حالة 5XX
تتضمن معظم إجراءات Flow إجراء استدعاءات HTTP. ومن حين لآخر، يمكن أن تتسبب مشكلات الشبكات أو الخوادم الأخرى في فشل استدعاءات HTTP وإرجاع رمز خطأ يتراوح بين 500 و599. ولا تمثل رؤية هذا الخطأ مرة واحدة مشكلة، ولكن قد تشير الحالات المتكررة إلى وجود مشكلة في الخادم الذي يتعامل مع المهمة، وليس في كيفية إعداد الخطوة.
يُعرض هذا النوع من الأخطاء بشكل شائع في إجراء إرسال طلب HTTP، ولكنه يمكن أن يحدث في معظم المهام.
GraphQL مقيّد
يقتصر إجمالي حجم العمل الذي ينجزه سير العمل على حدود معدل واجهة برمجة التطبيقات (API)، والتي تتحدد جزئيًا بناءً على خطتك. وعادةً لا يتم الوصول إلى هذه الحدود ما لم يكن سير العمل معقدًا جدًا أو يحتوي على خطأ تصميم غير مقصود.
تصف الأمثلة التالية المواقف التي يمكن أن تؤدي إلى هذا الخطأ:
- تكرار Liquid أو الشروط في سير العمل عبر قائمة تحتوي على كميات كبيرة من البيانات، مثل التحقق من قيم الحقول الوصفية التي تحتوي على HTML.
- تكرار Liquid أو الشروط في سير العمل عبر قائمة كبيرة، مثل التكرار عبر
shop.ordersفي متجر كبير. - ينتج عن سير العمل حلقة لا نهائية يستمر فيها سير العمل في إنشاء تشغيلات جديدة لسير العمل. على سبيل المثال، يمكن أن يحدث هذا إذا كان سير العمل يستخدم مشغّل تمت إضافة علامات العميل ويتضمن إجراء إضافة علامات العميل.
إذا تم الوصول إلى الحد، فستتلقى خطأ GraphQL مقيّد. ويمكن أن يؤثر هذا الخطأ على مسارات سير العمل الأخرى عندما تحاول التشغيل، لذا بادر بحل هذا الخطأ فور حدوثه.
الأخطاء الدائمة
الأخطاء الدائمة هي الأخطاء التي تحدث عندما يتعذر على Flow إكمال مهمة ما، ولا يمكن إعادة محاولة المهمة. على سبيل المثال، إذا تعذر على Flow إرسال بريد إلكتروني لأن عنوان البريد الإلكتروني غير صالح، فلن يعيد محاولة المهمة. وبدلاً من ذلك، سيفشل سير العمل.
الحقول: id مطلوبة ولكنها فارغة
تتطلب إجراءات Shopify موردًا واحدًا أو أكثر، مثل منتج أو عميل أو طلب لتشغيلها. وإذا كان المورد الضروري غير متاح، فلن يتمكن الإجراء من التشغيل كما هو مقصود. على سبيل المثال، يمكن إنشاء طلب في مسؤول Shopify بدون عميل. وإذا قمت بتشغيل إجراء، مثل إضافة علامات العميل، فسيفشل الإجراء مع ظهور هذا الخطأ.
لمنع حدوث هذا الخطأ، أضف شرطًا قبل الإجراء للتحقق من وجود المورد. في المثال السابق، إذا كنت ترغب في إرسال بريد إلكتروني داخلي في نفس مسار سير العمل الذي يتضمن إضافة علامات العميل، فيمكنك إما وضع إجراء البريد الإلكتروني قبل الخطوة التي قد تفشل، أو استخدام أحد الأساليب التالية:
وضع الإجراءات في فروع متوازية (حيث يتفرع فرعان أو أكثر من خطوة):

إضافة شرط قبل الإجراء للتحقق مما إذا كان العميل موجودًا. على سبيل المثال، يمكنك التحقق مما إذا كان order / customer / id ليس فارغًا وموجودًا.

لا يملك Flow صلاحية الوصول إلى حسابك على Google Sheets. يُرجى إعادة الاتصال بحسابك.
يتطلب موصّل Google Sheets ربط حسابك على Google بـ Flow للحصول على إذن للكتابة في الورقة. يمكن أن يحدث هذا الخطأ عندما لا يملك Flow إذنًا للكتابة في ورقة، إما لأن الحساب تم إلغاء ربطه من Flow أو لأن هذا الحساب لا يمكنه الوصول إلى تلك الورقة.
لحل هذه المشكلة، تأكد من أن الحساب المستخدم للموصّل يمكنه فتح الورقة ولديه صلاحية التعديل. وإذا تم ربط حساب خاطئ، فيمكنك قطع اتصاله وتوصيل حساب جديد.
الخطوات:
- افتح سير عمل حاليًا أو أنشئ سير عمل جديدًا.
- أضف إجراءً إلى سير العمل.
- حدد موصّل Google Sheets.
- انقر على قطع الاتصال، ثم انقر على اتصال لإعادة توصيل حساب Google الصحيح.
تلقى إجراء Flow خصائص غير صالحة. العميل لا يقبل التسويق.
لا يُرسل إجراء إرسال بريد إلكتروني تسويقي رسائل بريد إلكتروني إلى العملاء الذين لم يوافقوا على تلقيها، ويفشل بشكل دائم إذا حاول سير العمل القيام بذلك.
لحل هذه المشكلة، أضف شرطًا في سير العمل يتحقق من حالة اشتراك العملاء. ويمكنك التأكد من موافقة العملاء على تلقي رسائل البريد الإلكتروني التسويقية قبل إرسالها. اتبع الخطوات الواردة في إدارة قائمة مشتركي البريد الإلكتروني.
مورد مفقود لـ [نوع المورد]
يشير هذا الخطأ إلى أنه تم حذف مورد، مثل customer أو order، قبل أن يتمكن سير العمل من جلب بياناته. ويحدث هذا غالبًا بعد خطوة انتظار، ولكن من الممكن حدوث ذلك في المشغّل أيضًا إذا تم حذف المورد بسرعة كبيرة بعد وقوع حدث المشغّل.
تلقي إشعار عند حدوث خطأ
إذا كان وجود أخطاء سيؤثر على عمليات متجرك، فيمكنك إعداد إشعارات لتلقيها عند حدوث خطأ. يمكن بناء إشعارات الأخطاء كسير عمل باستخدام مشغّل حدوث خطأ في سير العمل. صُممت إشعارات الأخطاء للحد من الإزعاج، لذلك ستتلقى إشعارًا واحدًا فقط لكل إصدار من سير العمل.
للبدء، يمكنك استخدام أحد القوالب التالية:
- تلقي تنبيه Shopify عند اكتشاف أخطاء في تشغيلات مسارات سير العمل
- تلقي إشعار عبر البريد الإلكتروني عند اكتشاف أخطاء في تشغيلات مسارات سير العمل
- تلقي إشعار Slack عند اكتشاف أخطاء في تشغيلات مسارات سير العمل
إعادة محاولة التشغيلات
في بعض الحالات، قد يواجه تشغيل سير العمل خطأ أو قد لا يعمل كما هو مقصود. وبعد استكشاف الأخطاء وإصلاحها في مسار سير العمل ذي الصلة، يمكن إعادة محاولة التشغيلات السابقة يدويًا لإصلاح نتيجة التشغيلات السابقة بأثر رجعي. تعرّف على المزيد حول إعادة محاولة تشغيلات سير العمل.
قيد التشغيل (محدود المعدل)
في بعض الحالات، يمكن أن يستهلك مسار سير العمل أو مسارات سير العمل الكثير من الموارد، ولتجنب تسبب ذلك في حدوث مشكلات، سيقيد Flow عمدًا تنفيذ التشغيلات في متجرك، مما قد يتسبب في حدوث تأخيرات وأخطاء تتعلق بانتهاء المهلة. ويمكن إصلاح ذلك عن طريق إعادة كتابة مسارات سير العمل غير الفعالة، وعادةً ما يكون ذلك لإصلاح خطأ لم تكن تعمل فيه كما هو مقصود.
التشغيل لفترة طويلة جدًا
تشير هذه الرسالة إلى أن عمليات تشغيل سير العمل تستغرق وقتًا طويلاً جدًا للتنفيذ. ينجم هذا عادةً عن استخدام كمية كبيرة من البيانات داخل سير العمل، مما يستغرق وقتًا طويلاً من تطبيق Flow لجلبها.
تنشأ هذه الحالات عادةً عن مسارات طلبات عميقة تمر عبر قوائم متعددة من العناصر (مثل طلب جميع الحقول الوصفية لجميع المنتجات في جميع المجموعات التي يكون المنتج جزءًا منها):

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

فشل عمليات إعادة المحاولة التلقائية
تشير هذه الرسالة إلى أن عمليات تشغيل سير العمل تفشل بشكل متكرر بسبب مشكلة مؤقتة ولكنها لا تنجح كثيرًا في عمليات إعادة المحاولة اللاحقة. يحدث هذا غالبًا عندما يواجه Admin API الخاص بمنصة Shopify أو تطبيق لأحد الشركاء حجمًا كبيرًا من الطلبات.