ظهور قيمة فارغة في n8n قد يعني أنك قرأت المسار الخطأ، وليس أن الخدمة لم ترسل بيانات. هذا الدليل يشرح الفرق بين عنصر العمل والحقول المتداخلة وأنواع القيم، باستخدام طلب وهمي يمكن مقارنته بالمخرجات.
العنصر والكائن والقائمة
تنتقل البيانات بين عقد n8n في عناصر، ويحتوي العنصر عادة على بيانات JSON وقد يحتوي بيانات ثنائية. قائمة من ثلاثة عناصر تختلف عن عنصر واحد بداخله قائمة منتجات. كثير من العقد تعالج العناصر واحدًا واحدًا؛ لذلك افحص عدد العناصر قبل إرسال بريد أو إنشاء صفوف.
مثال JSON افتراضي
{
"order_id": "DEMO-101",
"quantity": 2,
"paid": false,
"customer": {"name": "Test"},
"notes": null
}order_id نص يحافظ على شكل المعرّف، وquantity رقم يصلح للحساب بعد التحقق، وpaid قيمة منطقية. customer كائن داخله name، وnotes بلا قيمة في هذا المثال. لا تستبدل null بنص فارغ دون معرفة معنى الغياب في مهمتك.
قراءة الحقل الصحيح
إذا كانت هذه الحقول في مستوى العنصر الحالي، فالتعبير {{ $json.order_id }} يقرأ المعرّف، و{{ $json.customer.name }} يقرأ الاسم المتداخل. أما إذا وصلت داخل body من Webhook، فمسار المعرّف يصبح {{ $json.body.order_id }}. راجع شجرة المخرجات واسحب الحقل المتاح بدل نقل مسار من مثال مختلف.
اختبار النوع قبل الحساب
القيمة 2 تختلف عن النص "2"، كما تختلف القيمة المنطقية false عن النص "false". أداة المصدر قد ترسل أرقامًا كنصوص. حدد متى تحوّل النوع، ثم افحص ما يحدث لقيمة مثل "اثنان" أو حقل مفقود. السماح بتجاهل أخطاء التحويل قد يخفي المشكلة بدل إصلاحها.
| القيمة | الفحص المناسب |
|---|---|
| معرّف 00125 | حفظه كنص إذا كانت الأصفار جزءًا منه |
| كمية فارغة | تسجيل نقص قبل الحساب |
| تاريخ 03/04/2026 | تحديد تنسيق المصدر والمنطقة الزمنية |
| قائمة منتجات | اختيار إجراء لكل منتج أو ملخص واحد للطلب |
تجربة تكشف تكرار الإجراءات
جهّز عنصرين بمعرّفين مختلفين، ثم راجع عدد العناصر قبل عقدة الكتابة وبعدها. إذا أردت رسالة واحدة تلخص الطلبين، فلا تفترض أن عقدة الإرسال ستجمعهما تلقائيًا. صمم التجميع صراحة واختبره على صندوق تجريبي. وإذا كنت تريد رسالة لكل عنصر، طابق المستلم والمحتوى مع العنصر نفسه.
تشخيص القيمة الفارغة
- افتح العقدة السابقة في التنفيذ نفسه، لا تنفيذًا قديمًا.
- ابحث عن اسم الحقل بحروفه الفعلية ومكانه.
- راجع وجود الكائن الأب قبل قراءة حقل داخله.
- تحقق من خيارات Edit Fields التي قد تستبعد حقول الإدخال.
- اختبر عنصرًا آخر إذا كانت بعض السجلات تختلف في البنية.
دوّن قاعدة لما يحدث عند غياب المعلومة: إيقاف، مراجعة، أو قيمة بديلة معلنة. لا تملأ بريد عميل مفقود بعنوان شخص آخر، ولا تنشر المخرجات الخام إذا كانت تحتوي بيانات خاصة.
المراجع والخطوة التالية
بنية البيانات في n8n وإعداد Edit Fields. لتطبيق القراءة من طلب خارجي، راجع دليل Webhook في خريطة المقالات. تحديث: 16 أكتوبر 2026. جميع القيم افتراضية.
التعليقات