خلاصه مقاله
نود کد n8n اجازه میدهد داخل کارflowهای خودتان جاوااسکریپت یا پایتون بنویسید تا عملیات پیچیدهای مثل پردازش JSONهای تو در تو یا فراخوانی APIهای خاص را انجام دهید. در ادامه یاد میگیرید چه زمانی از این نود استفاده کنید و چه زمانی سراغ گرههای آماده بروید.
مقدمه
اگر بهدنبال خودکارسازیای فراتر از قابلیتهای آماده n8n هستید، نود کد راهحل شماست. با چند خط کد میتوانید خروجی دلخواه بسازید یا دادههای عجیبوغریب را بهراحتی پردازش کنید.
نود کد چیست؟
این نود یک ویرایشگر داخلی برای JavaScript و Python دارد؛ یعنی میتوانید همین داخل n8n کد بنویسید و اجرا کنید. دیگر نیازی به سرور جدا یا افزونه خاصی نیست.
کاربردهای کلیدی
- محاسبات ریاضی سفارشی
- پارس JSONهای چندلایه
- فراخوانی APIهایی که نیاز به امضا یا پارامتر خاص دارند
ویژگیهای مهم نود کد
| ویژگی | توضیح |
|---|---|
| Helperهای آماده | فقط با this.helpers.httpRequest درخواست HTTP بفرستید. |
| دسترسی به دادههای اجرا | میتوانید متغیرهای محیطی یا شناسه اجرا را بخوانید. |
| پردازش حجیم | صدها هزار رکورد را بدون افت سرعت group یا filter کنید. |
۴ نمونه عملی
۱) گروهبندی سفارشهای مشتری
const groups = {};
for (const item of items) {
const key = item.json.customerId;
groups[key] ??= [];
groups[key].push(item.json);
}
return Object.keys(groups).map(c => ({ json: { customer: c, orders: groups[c] }}));۲) ارسال تصویر به وردپرس
با چند خط کد میتوانید رسانه را از طریق REST API وردپرس آپلود کنید درحالیکه گره آماده این قابلیت را ندارد.
۳) فراخوانی Stripe با چند فیلتر ترکیبی
کد زیر مشتریان بین دو تاریخ را با وضعیت subscription خاص فیلتر میکند:
const res = await this.helpers.httpRequest({
method: 'GET',
url: 'https://api.stripe.com/v1/customers',
headers: { Authorization: 'Bearer sk_...' },
qs: { created: { gte: Date.parse('2024-01-01')/1000 }}
});
return res.data.filter(c => c.subscriptions.data[0]?.status === 'active');۴) استخراج اطلاعات از JSON چندلایه
return items.map(i => ({ json: { name: i.json.user.profile.fullName }}));چه موقع سراغ نود کد نرویم؟
برای کارهای ساده از گرههای زیر استفاده کنید تا هم سرعت بالاتر باشد هم اشکالزدایی آسانتر:
- If: تصمیمگیری دوسویه
- Edit Fields: تغییر نام یا نوع فیلد
- Filter: حذف رکوردهای ناخواسته
- Merge: ادغام یا تقسیم داده
- HTTP Request: APIهای ساده
- Date & Time: محاسبه بازه زمانی
- Wait: تأخیر قبل از ادامه
- Loop Over Items: تکرار روی هر آیتم
راهنمای تازهکارها
- از AI کمک بگیرید: ChatGPT یا Copilot برایتان کد مینویسد؛ فقط خواستهتان را دقیق بنویسید.
- ورودی و خروجی را بشناسید: همیشه ساختار
itemsرا با console.log بررسی کنید. - کوچک شروع کنید: ابتدا یک تابع ساده مثلاً حذف فاصلههای اضافی تست کنید.
جمعبندی
نود کد n8n ابزار قدرتمندی است ولی سوءمصرفش سربار نگهداری میآورد. برای منطق خاص یا پارس پیچیده از آن استفاده کنید و کارهای معمولی را به گرههای آماده بسپارید تا workflowهایتان تمیز و سریع بمانند.
