مُوحّد المفرد/المصفوفة بأسماء دلالية مشتقة من الحقل الأب
جارٍ تحميل الفلو…
وصف سير العمل
سير عمل ذاتي يصدر خمس حمولات تجريبية (مفرد، مصفوفة، null، نوع غير صالح، وcustomer مصفوفة أصلاً). عقدة If تفحص Array.isArray(invoice.lines) وتوجه كل حالة لفرع مختلف فعلياً: المصفوفات تمر عبر noOp بعددها الأصلي، والحمولات المفردة تلف مسبقاً في مصفوفات مع تسجيل الشكل الأصلي. ثم عقدة Merge بوضع append تجمع الفرعين في محرك تسمية واحد يبني اسم كل مصفوفة ديناميكياً من مفتاح الحقل الأب (invoice_ + key)، ويحفظ الحقول العددية في خريطة scalars، ويفرز الناتج حتمياً حسب payloadId.
كيف يعمل
- 1.شغّل المشغل اليدوي فتصدر عقدة Code خمس حمولات اختبارية
- 2.تفحص عقدة If كون invoice.lines مصفوفة: true يمرر عبر noOp كما هو، وfalse يلف الكائنات المفردة في مصفوفات ويسجل الشكل الأصلي _originalShape (single/missing/invalid)
- 3.تجمع عقدة Merge بوضع append ومدخلين (index 0 و1) عناصر الفرعين
- 4.يبني محرك التسمية أسماء دلالية ديناميكياً من مفتاح الحقل الأب، ويحفظ الحقول العددية في scalars، ويتعامل مع missing/invalid بأمان (normalized وscalars كائنان فارغان {})
- 5.تفرز عقدة المحرك الناتج حسب payloadId وتسلّم noOp ناتجاً موحد البنية مرتباً PL-001 إلى PL-005
حالات الاستخدام
- توحيد حمولات Webhook المتذبذبة بين كائن مفرد ومصفوفة لنفس الكيان
- تسمية دلالية ديناميكية للمصفوفات المتوازية من مفتاح الحقل الأب قبل التفكيك
- فحص صريح للأنواع مع حفظ الحقول العددية ومسار آمن للحمولات الناقصة أو غير الصالحة وناتج مرتب حتمياً
المتطلبات قبل التشغيل
- لا يتطلب بيانات اعتماد؛ المعالجة محلية بالكامل
- للاستبدال بمدخل حقيقي: احذف عقدة Emit Sample ووصّل Webhook بنفس بنية invoice مباشرة بعقدة If
- بوابة If مثبتة على مسار invoice.lines فقط؛ عدّل التعبير إذا اختلف مسار المصفوفة المستهدفة، ومحرك التسمية يعمل على أي حقول داخل invoice تلقائياً. جمع الفرعين بعقدة Merge بوضع append بمدخلين صحيحين 0 و1
الإعداد والاختبار في n8n
- استورد JSON في n8n مع active = false
- شغّل Manual Trigger وتفحص مخرجات Unified Output Handoff: خمسة عناصر مرتبة PL-001 حتى PL-005
- تحقق أن PL-001 ملفوف في مصفوفات من عنصر واحد مع scalars يحوي id، وPL-002 بعدده الأصلي 2 عبر فرع التمرير، وPL-003 بnormalized = {} وscalars = {} وmissing، وPL-004 بnormalized = {} وinvalid مع بقاء id في scalars، وPL-005 تمرر customer كمصفوفة من عنصرين وتلف lines المفرد
- أضف حقلاً جديداً داخل invoice في العينة لتتأكد أن التسمية الدلالية تُشتق تلقائياً دون تعديل الكود
ماذا يقدّم كخدمة؟
مناسب كخدمة أتمتة تشغيلية لربط الأنظمة، تقليل المهام اليدوية، وتسريع تسليم النتائج للعملاء أو الفرق الداخلية.
الأدوات المستخدمة
معلومات
كيفية الاستخدام
- 1.انقر على "تنزيل القالب"
- 2.افتح لوحة تحكم n8n الخاصة بك
- 3.اذهب إلى Workflows > Import from File
- 4.اختر الملف المُنزّل وقم بتهيئة الاتصالات
العقد المستخدمة (8)
تشغيل يدوي
تشغيل يدوي
عقدة Code
عقدة Code
شرط منطقي
شرط منطقي
بدون إجراء
بدون إجراء
عقدة Code
عقدة Code
دمج البيانات
دمج البيانات
عقدة Code
عقدة Code
بدون إجراء
بدون إجراء
ملاحظة توضيحية
ملاحظة توضيحية
ملاحظة توضيحية
ملاحظة توضيحية
ملاحظة توضيحية
ملاحظة توضيحية
أحدث الأتمتة… تصل إلى بريدك
اشترك لتصلك الفلوهات الجديدة مع وصف واضح لما تقدّمه ورابط استعراضها، فور نشرها في دروب إيديا.
- فلوهات جديدة
- شرح واضح
- خطوات التشغيل