در بسیاری از Workflowهایی که با n8n میسازیم، اطلاعات از منابع مختلفی مانند API، فرمهای سایت، Webhook، پایگاه داده یا پیامرسانها دریافت میشوند. اما دادههای دریافتی همیشه دقیقاً به همان شکلی نیستند که برای مراحل بعدی به آنها نیاز داریم.
برای مثال، ممکن است یک API اطلاعات مشتری را با فیلدهای first_name، last_name و phone_number برگرداند، درحالیکه شما برای ارسال پیام به یک سرویس دیگر به فیلدهای fullName، mobile و message نیاز داشته باشید.
در چنین شرایطی، Node Edit Fields (Set) به شما کمک میکند ساختار دادهها را تغییر دهید، فیلدهای جدید بسازید، مقادیر را اصلاح کنید و اطلاعات موردنیاز را برای ادامه Workflow آماده کنید.
در این آموزش یاد میگیریم Edit Fields در n8n چیست، چه کاربردی دارد، چگونه از آن استفاده کنیم و چطور با چند مثال عملی دادهها را برای ارسال به API، ذخیره در دیتابیس و اجرای اتوماسیونهای واقعی آماده کنیم.
Edit Fields در n8n چیست؟
Edit Fields یکی از Nodeهای کاربردی n8n است که برای ویرایش ساختار و مقادیر دادههای ورودی استفاده میشود.
در نسخههای جدید n8n، نام این Node بهصورت Edit Fields (Set) نمایش داده میشود. در آموزشها و نسخههای قدیمیتر ممکن است آن را با نام Set بشناسید. بنابراین، اگر در یک آموزش قدیمی با Set مواجه شدید، بدانید که این Node همان کاربرد اصلی را در ویرایش دادهها دارد.
با استفاده از Edit Fields میتوانید:
- فیلد جدید به دادههای ورودی اضافه کنید.
- نام و مقدار فیلدهای موردنیاز را تعیین کنید.
- مقادیر را از Nodeهای قبلی دریافت کنید.
- از Expressions برای تولید مقادیر پویا استفاده کنید.
- دادههای غیرضروری را از خروجی حذف کنید.
- اطلاعات را برای ارسال به API یا ذخیره در دیتابیس آماده کنید.
- ساختار دادههای خروجی را سادهتر و قابلاستفادهتر کنید.
نکته مهم این است که Edit Fields برای ویرایش و آمادهسازی دادهها طراحی شده است؛ بنابراین، برای تصمیمگیری شرطی، اجرای حلقه یا ارسال درخواست HTTP باید از Nodeهای مناسب دیگری استفاده کنید.
Edit Fields چه تفاوتی با سایر Nodeهای n8n دارد؟
برای درک بهتر کاربرد این Node، بهتر است تفاوت آن را با چند Node پرکاربرد دیگر بدانیم.
| Node | کاربرد اصلی |
|---|---|
| Edit Fields (Set) | ساخت، تغییر و انتخاب فیلدهای داده |
| HTTP Request | ارسال درخواست به API و دریافت پاسخ |
| Webhook | دریافت درخواستهای ورودی از سیستمهای دیگر |
| IF | بررسی شرط و هدایت داده به مسیرهای مختلف |
| Code | اجرای کد JavaScript برای پردازشهای پیچیدهتر |
| Merge | ترکیب دادهها یا خروجی چند مسیر |
برای مثال، اگر بخواهید اطلاعات مشتری را از یک API دریافت کنید، نام و شماره تلفن او را تغییر دهید و سپس پیامکی ارسال کنید، میتوانید از این ساختار استفاده کنید:
HTTP Request → Edit Fields → Node ارسال پیامک
در این ساختار، HTTP Request اطلاعات مشتری را دریافت میکند، Edit Fields دادهها را به شکل موردنیاز درمیآورد و Node آخر اطلاعات آمادهشده را به سرویس پیامکی ارسال میکند.
پیشنیازهای استفاده از Edit Fields
برای دنبالکردن این آموزش بهتر است:
- یک نمونه n8n در اختیار داشته باشید.
- با ساخت Workflow و اجرای Nodeها آشنا باشید.
- مفهوم JSON را در حد مقدماتی بدانید.
- بدانید هر Node میتواند اطلاعاتی را به Node بعدی منتقل کند.
اگر هنوز با ساختار Workflow آشنا نیستید، پیشنهاد میکنیم ابتدا مقاله آموزش Workflow در n8n را مطالعه کنید.
آموزش استفاده از Edit Fields در n8n بهصورت مرحلهبهمرحله
در اولین مثال، یک Workflow ساده میسازیم که اطلاعات یک مشتری را دریافت میکند و خروجی موردنیازمان را تولید میکند.
مرحله اول: ساخت Workflow
وارد پنل n8n شوید و یک Workflow جدید ایجاد کنید.
سپس یک Node از نوع Manual Trigger اضافه کنید تا بتوانید Workflow را بهصورت دستی اجرا کنید.
Manual Trigger برای آزمایش و توسعه Workflow مناسب است؛ زیرا بدون نیاز به دریافت درخواست از یک سایت یا سرویس خارجی، امکان اجرای مراحل را فراهم میکند.
مرحله دوم: اضافهکردن Edit Fields
پس از Manual Trigger، یک Node جدید اضافه کنید و عبارت Edit Fields را جستوجو کنید.
Node مربوط به Edit Fields (Set) را انتخاب کنید و آن را به Manual Trigger متصل کنید.
در این مرحله، Workflow شما شامل دو Node خواهد بود:
Manual Trigger → Edit Fields
اکنون میتوانیم فیلدهای خروجی را در Edit Fields تعریف کنیم.
مرحله سوم: ساخت فیلدهای جدید
فرض کنید میخواهیم اطلاعات زیر را تولید کنیم:
- نام مشتری: علی رضایی
- شماره تلفن: 09121234567
- نوع اشتراک: طلایی
- وضعیت حساب: فعال
در Node مربوط به Edit Fields، بخش تنظیم فیلدها را باز کنید و فیلدهای زیر را ایجاد کنید.
| نام فیلد | نوع داده | مقدار |
|---|---|---|
fullName | String | علی رضایی |
mobile | String | 09121234567 |
plan | String | طلایی |
isActive | Boolean | true |
برای فیلد isActive بهتر است نوع داده را Boolean انتخاب کنید، نه String؛ زیرا مقدار آن یک وضعیت منطقی است.
در برخی نسخهها یا تنظیمات رابط کاربری، روش نمایش فیلدها ممکن است متفاوت باشد. مهم این است که نام فیلد، نوع داده و مقدار آن بهدرستی تنظیم شود.
مرحله چهارم: اجرای Node و بررسی خروجی
پس از تنظیم فیلدها، Node را اجرا کنید و بخش Output را بررسی کنید.
خروجی مورد انتظار به شکل زیر است:
{
"fullName": "علی رضایی",
"mobile": "09121234567",
"plan": "طلایی",
"isActive": true
}
این خروجی یک نمونه ساده از دادههایی است که میتوانند در مراحل بعدی Workflow استفاده شوند.
اکنون میتوانید یک Node دیگر به Workflow اضافه کنید و مقادیر fullName، mobile یا plan را در آن استفاده کنید.
چگونه اطلاعات Node قبلی را در Edit Fields استفاده کنیم؟
در پروژههای واقعی معمولاً اطلاعات را بهصورت دستی وارد نمیکنیم؛ بلکه دادهها از یک Node قبلی دریافت میشوند.
برای مثال، فرض کنید Node قبلی اطلاعات زیر را برگردانده است:
{
"first_name": "علی",
"last_name": "رضایی",
"phone_number": "09121234567",
"email": "ali@example.com"
}
میخواهیم نام فیلدها را به ساختار موردنیاز خودمان تبدیل کنیم.
در Edit Fields فیلدهای زیر را تعریف میکنیم:
| نام فیلد خروجی | مقدار با Expression |
|---|---|
fullName | {{ $json.first_name + ' ' + $json.last_name }} |
mobile | {{ $json.phone_number }} |
emailAddress | {{ $json.email }} |
در اینجا از Expressions استفاده میکنیم تا مقادیر بهصورت پویا از دادههای ورودی دریافت شوند.
اگر ورودی تغییر کند، خروجی نیز بر اساس اطلاعات جدید تولید خواهد شد.
خروجی مورد انتظار:
{
"fullName": "علی رضایی",
"mobile": "09121234567",
"emailAddress": "ali@example.com"
}
توجه کنید که عبارت $json به دادههای ورودی همان آیتم در Node فعلی اشاره میکند. بنابراین، نام فیلدها باید با ساختار واقعی دادههای ورودی مطابقت داشته باشد.
Expressions در Edit Fields چیست؟
Expressions قابلیتی در n8n هستند که اجازه میدهند مقدار یک فیلد را بر اساس دادههای ورودی یا نتیجه محاسبات تعیین کنید.
برای مثال، بهجای اینکه نام مشتری را بهصورت ثابت وارد کنید، میتوانید آن را از دادههای دریافتی استخراج کنید.
چند نمونه کاربردی از Expressions را در ادامه میبینیم.
۱. دریافت مقدار یک فیلد
{{ $json.name }}
این عبارت مقدار فیلد name را از داده ورودی میخواند.
۲. ترکیب نام و نام خانوادگی
{{ $json.first_name + ' ' + $json.last_name }}
این عبارت نام و نام خانوادگی را با یک فاصله ترکیب میکند.
۳. تولید یک پیام پویا
{{ 'سلام ' + $json.fullName + '، سفارش شما ثبت شد.' }}
اگر مقدار fullName برابر با «علی رضایی» باشد، نتیجه به شکل زیر خواهد بود:
سلام علی رضایی، سفارش شما ثبت شد.
۴. محاسبه مقدار عددی
فرض کنید مقدار price برابر با 500000 و مقدار discount برابر با 50000 باشد.
{{ $json.price - $json.discount }}
نتیجه برابر با 450000 خواهد بود.
در این مثال، هر دو فیلد باید مقدار عددی معتبر داشته باشند. اگر دادهها به شکل رشتهای دریافت شده باشند، ممکن است لازم باشد ابتدا نوع آنها را بررسی یا تبدیل کنید.
۵. تعیین مقدار پیشفرض
گاهی یک فیلد در دادههای ورودی وجود ندارد یا مقدار آن خالی است. در چنین شرایطی میتوانید از یک مقدار پیشفرض استفاده کنید:
{{ $json.name || 'کاربر مهمان' }}
این عبارت در صورت نبود مقدار مناسب برای name، عبارت «کاربر مهمان» را برمیگرداند.
توجه کنید که استفاده از عملگر || علاوه بر مقادیر خالی و null، برای مقادیری مانند رشته خالی و عدد صفر نیز ممکن است مقدار پیشفرض را فعال کند. اگر میخواهید فقط در صورت نبود مقدار از مقدار جایگزین استفاده کنید، باید منطق موردنیازتان را دقیقتر تعریف کنید.
برای مثال:
{{ $json.name ?? 'کاربر مهمان' }}
عملگر ?? فقط زمانی مقدار جایگزین را انتخاب میکند که مقدار سمت چپ null یا undefined باشد.
تفاوت حالت Manual Mapping و JSON Output
در Edit Fields میتوانید از روشهای مختلفی برای تعریف خروجی استفاده کنید. دو حالت مهم این Node عبارتاند از Manual Mapping و JSON Output.
Manual Mapping
در حالت Manual Mapping، فیلدهای خروجی را از طریق رابط کاربری تعریف میکنید.
برای هر فیلد میتوانید نام، نوع داده و مقدار آن را مشخص کنید.
این روش برای Workflowهایی مناسب است که تعداد فیلدهای آنها محدود است و میخواهید ساختار خروجی را بهصورت شفاف مدیریت کنید.
برای مثال:
customerNamecustomerPhoneorderNumberpaymentStatus
هر کدام از این فیلدها را میتوانید جداگانه تعریف کنید.
JSON Output
در حالت JSON Output میتوانید ساختار داده خروجی را به شکل یک شیء JSON تعریف کنید.
برای مثال، ساختاری مانند زیر را در نظر بگیرید:
{
"customerName": "علی رضایی",
"customerPhone": "09121234567",
"orderStatus": "paid"
}
در این حالت باید ساختار JSON و Expressions مورد استفاده را مطابق رابط کاربری نسخه n8n خود تنظیم کنید.
JSON Output زمانی مفید است که بخواهید ساختار مشخصی از دادهها را بهصورت یکجا تعریف کنید. بااینحال، برای خروجیهای ساده، Manual Mapping معمولاً برای کاربران تازهکار قابلفهمتر است.
گزینه Include Other Input Fields چه کاربردی دارد؟
یکی از نکات مهم در کار با Edit Fields، نحوه برخورد آن با فیلدهای ورودی است.
فرض کنید Node قبلی اطلاعات زیر را ارسال میکند:
{
"name": "علی رضایی",
"phone": "09121234567",
"email": "ali@example.com",
"city": "تهران"
}
در Edit Fields فقط فیلد customerName را تعریف میکنید.
اگر حفظ فیلدهای ورودی را فعال نکرده باشید، خروجی ممکن است فقط شامل فیلد جدید تعریفشده باشد:
{
"customerName": "علی رضایی"
}
در چنین شرایطی، فیلدهایی مانند phone، email و city دیگر در خروجی این Node وجود ندارند.
اگر لازم است اطلاعات قبلی حفظ شوند، گزینه Include Other Input Fields را فعال کنید. نام و محل این گزینه ممکن است با توجه به نسخه رابط کاربری کمی متفاوت باشد.
در این صورت میتوانید خروجیای شبیه نمونه زیر داشته باشید:
{
"name": "علی رضایی",
"phone": "09121234567",
"email": "ali@example.com",
"city": "تهران",
"customerName": "علی رضایی"
}
این رفتار در پروژههای واقعی اهمیت زیادی دارد؛ زیرا ممکن است یک Node در مراحل بعدی به اطلاعاتی نیاز داشته باشد که در مرحله فعلی فقط قصد اضافهکردن یک فیلد جدید به آنها را دارید.
اگر هدف شما ساخت یک خروجی محدود و تمیز است، حفظنکردن فیلدهای غیرضروری میتواند انتخاب مناسبی باشد. اما اگر اطلاعات ورودی در ادامه Workflow استفاده میشوند، باید از حذف ناخواسته آنها جلوگیری کنید.
مثال عملی: آمادهسازی اطلاعات سفارش برای ارسال به API
اکنون یک مثال کاربردیتر را بررسی میکنیم.
فرض کنید اطلاعات سفارش از یک Node قبلی دریافت شده است:
{
"order_id": 1250,
"customer_name": "علی رضایی",
"total_price": 850000,
"payment_status": "paid"
}
هدف ما این است که دادهها را برای ارسال به یک API دیگر آماده کنیم.
میخواهیم خروجی شامل فیلدهای زیر باشد:
orderNumbercustomerNameamountstatusmessage
در Edit Fields این فیلدها را تعریف میکنیم.
| فیلد خروجی | Expression |
|---|---|
orderNumber | {{ $json.order_id }} |
customerName | {{ $json.customer_name }} |
amount | {{ $json.total_price }} |
status | {{ $json.payment_status }} |
message | {{ 'سفارش شماره ' + $json.order_id + ' پرداخت شده است.' }} |
خروجی مورد انتظار:
{
"orderNumber": 1250,
"customerName": "علی رضایی",
"amount": 850000,
"status": "paid",
"message": "سفارش شماره 1250 پرداخت شده است."
}
حالا میتوانیم این خروجی را به Node مربوط به HTTP Request متصل کنیم.
در HTTP Request، بسته به API مقصد، آدرس Endpoint، متد HTTP، احراز هویت و بدنه درخواست را تنظیم میکنیم. اگر API مقصد JSON دریافت میکند، میتوانیم فیلدهای آمادهشده را در بدنه درخواست استفاده کنیم.
ساختار Workflow به این شکل خواهد بود:
Node دریافت سفارش → Edit Fields → HTTP Request
این روش باعث میشود منطق آمادهسازی دادهها از تنظیمات ارسال درخواست جدا شود و نگهداری Workflow آسانتر شود.
نکته مهم: این مثال فرضی است. برای اجرای واقعی باید ساختار ورودی، الزامات API مقصد و واحد مبلغ را بررسی کنید؛ زیرا برخی سرویسها مبلغ را به ریال، برخی به تومان و برخی با واحدهای دیگر دریافت میکنند.
مثال عملی: آمادهسازی اطلاعات برای ذخیره در دیتابیس
فرض کنید اطلاعات یک مشتری از فرم سایت دریافت میشود و قصد داریم آن را در PostgreSQL یا MySQL ذخیره کنیم.
ورودی نمونه:
{
"name": "علی رضایی",
"phone": "09121234567",
"email": "ali@example.com",
"source": "website"
}
در Edit Fields میتوانیم فیلدهایی مانند این موارد بسازیم:
{
"customer_name": "{{ $json.name }}",
"customer_phone": "{{ $json.phone }}",
"customer_email": "{{ $json.email }}",
"lead_source": "{{ $json.source }}"
}
این قطعه صرفاً نمونهای از ساختار موردنظر است؛ هنگام تنظیم Node باید Expressions را در حالت مناسب رابط کاربری وارد کنید تا مقادیر واقعاً ارزیابی شوند، نه اینکه بهصورت متن ثابت باقی بمانند.
پس از آمادهسازی دادهها، میتوانیم Node مربوط به دیتابیس را به Workflow اضافه کنیم و فیلدها را به ستونهای جدول مقصد نگاشت کنیم.
برای نمونه، اگر جدول customers دارای ستونهای name، phone، email و source باشد، باید مطمئن شویم نام و نوع فیلدهای خروجی با ساختار مورد انتظار Node دیتابیس مطابقت دارند.
در پروژههای واقعی، Edit Fields جایگزین اعتبارسنجی دادهها یا بررسی مجوزهای دسترسی نیست. قبل از ذخیره اطلاعات، باید کاملبودن فیلدهای ضروری و معتبر بودن مقادیر نیز بررسی شود.
مثال عملی: ساخت پیام خودکار برای تلگرام
یکی دیگر از کاربردهای مهم Edit Fields، آمادهسازی پیام برای ارسال به Telegram است.
فرض کنید اطلاعات یک سفارش شامل شماره سفارش، نام مشتری و مبلغ پرداختشده است:
{
"order_id": 1250,
"customer_name": "علی رضایی",
"amount": 850000
}
در Edit Fields فیلدی با نام telegramMessage ایجاد میکنیم و مقدار آن را با Expression زیر میسازیم:
{{ 'سفارش جدید\nشماره: ' + $json.order_id + '\nمشتری: ' + $json.customer_name + '\nمبلغ: ' + $json.amount }}
خروجی این فیلد، متنی شبیه زیر خواهد بود:
سفارش جدید
شماره: 1250
مشتری: علی رضایی
مبلغ: 850000
اکنون میتوانید Node مربوط به Telegram را به Workflow اضافه کنید و فیلد telegramMessage را بهعنوان متن پیام انتخاب کنید.
این ساختار در اتوماسیون فروشگاههای اینترنتی کاربرد زیادی دارد. برای مثال، میتوانید پس از ثبت سفارش در WooCommerce، اطلاعات سفارش را دریافت کنید، پیام مناسب را بسازید و برای مدیر فروشگاه ارسال کنید.
البته برای پیادهسازی واقعی باید نحوه دریافت سفارش، مجوزهای دسترسی ربات و تنظیمات Node تلگرام نیز بهدرستی انجام شوند.
آیا Edit Fields میتواند دادهها را فیلتر کند؟
Edit Fields میتواند مشخص کند کدام فیلدها در خروجی باقی بمانند، اما این موضوع با فیلترکردن آیتمها متفاوت است.
برای مثال، اگر بخواهید فقط فیلدهای نام و شماره تلفن مشتری را نگه دارید، میتوانید در Edit Fields فقط همین دو فیلد را تعریف کنید و در صورت نیاز، حفظ سایر فیلدهای ورودی را غیرفعال نگه دارید.
اما اگر بخواهید فقط سفارشهایی را عبور دهید که مبلغ آنها بیشتر از 500000 است، باید از Node مناسب برای بررسی شرط، مانند IF، استفاده کنید.
نمونه ساختار:
دریافت سفارشها → IF → Edit Fields
در این حالت، IF مشخص میکند کدام آیتمها از شرط عبور کنند و Edit Fields اطلاعات آیتمهای عبورکرده را برای مراحل بعدی آماده میکند.
خطاهای رایج هنگام استفاده از Edit Fields
۱. استفاده از نام اشتباه فیلد
فرض کنید داده ورودی دارای فیلد customer_name است، اما در Expression از $json.name استفاده میکنید.
در این حالت ممکن است مقدار خروجی undefined شود یا نتیجه مورد انتظار تولید نشود.
راهحل: ابتدا خروجی Node قبلی را بررسی کنید و نام دقیق فیلد را در Expression به کار ببرید.
۲. حذف ناخواسته اطلاعات ورودی
گاهی کاربر چند فیلد جدید تعریف میکند، اما فراموش میکند که فیلدهای قبلی ممکن است در خروجی باقی نمانند.
راهحل: اگر دادههای ورودی در مراحل بعدی موردنیاز هستند، تنظیم Include Other Input Fields را بررسی کنید و خروجی Node را پس از اجرا ببینید.
۳. اشتباه در نوع داده
فرض کنید مبلغ سفارش باید عدد باشد، اما به شکل رشتهای مانند "850000" ذخیره شده است.
در برخی عملیات این تفاوت مشکل ایجاد میکند؛ بهخصوص زمانی که قرار است محاسبات عددی انجام شوند یا API مقصد نوع مشخصی را انتظار دارد.
راهحل: نوع داده را مطابق نیاز مقصد تنظیم کنید و در صورت لزوم، تبدیل نوع انجام دهید.
۴. قرار دادن Expression بهصورت متن ثابت
گاهی کاربر عبارت {{ $json.name }} را وارد میکند، اما فیلد در حالت Expression قرار ندارد یا رابط کاربری آن را به شکل دیگری تفسیر میکند.
در این شرایط ممکن است عبارت بهجای مقدار واقعی، بهصورت متن در خروجی ظاهر شود.
راهحل: حالت Expression فیلد را بررسی کنید و پس از اجرا، مقدار خروجی را کنترل کنید.
۵. نادیدهگرفتن آیتمهای متعدد
در n8n، دادهها معمولاً به شکل مجموعهای از آیتمها پردازش میشوند. اگر Node قبلی چند سفارش یا چند مشتری برگرداند، باید مطمئن شوید Workflow با همه آیتمها مطابق انتظار رفتار میکند.
راهحل: Workflow را با یک ورودی و چند ورودی آزمایش کنید و خروجی Edit Fields را در هر دو حالت بررسی کنید.
۶. فرضکردن وجود همه فیلدها
ممکن است برخی رکوردها فاقد ایمیل، شماره تلفن یا اطلاعات دیگری باشند.
راهحل: برای فیلدهای اختیاری از منطق مناسب، مقدار پیشفرض یا بررسی شرطی استفاده کنید. برای فیلدهای ضروری نیز قبل از ارسال درخواست یا ذخیره اطلاعات، اعتبارسنجی انجام دهید.
نکات مهم برای استفاده حرفهای از Edit Fields
برای اینکه Workflowهای شما قابلاعتمادتر و نگهداری آنها آسانتر باشد، چند نکته را در نظر بگیرید:
۱. نامگذاری معنادار فیلدها
بهجای نامهایی مانند value1 و value2، از نامهایی مانند customerName، orderNumber و paymentStatus استفاده کنید.
۲. جداسازی آمادهسازی داده از ارسال درخواست
اگر Workflow شما اطلاعاتی را از یک API دریافت میکند و به API دیگری میفرستد، بهتر است در صورت نیاز، یک مرحله مشخص برای آمادهسازی دادهها در نظر بگیرید.
۳. بررسی خروجی هر مرحله
پس از اجرای Node، بخش Output را بررسی کنید تا از صحت نام فیلدها، نوع داده و مقادیر مطمئن شوید.
۴. حفظ حداقل دادههای موردنیاز
ارسال اطلاعات اضافی به سرویسهای دیگر میتواند مدیریت دادهها را دشوار کند. فقط اطلاعات موردنیاز مقصد را منتقل کنید؛ بهویژه زمانی که دادهها شامل اطلاعات شخصی مشتریان هستند.
۵. تست با ورودیهای متفاوت
فقط یک ورودی ایدئال را آزمایش نکنید. دادههای ناقص، مقادیر خالی، چند آیتم و انواع داده متفاوت را نیز بررسی کنید.
۶. استفاده از Code فقط در صورت نیاز
برای تغییر نام فیلدها، ساخت مقادیر ساده و آمادهسازی معمول دادهها، Edit Fields معمولاً کافی است. اگر پردازش پیچیدهتری مانند الگوریتم خاص، تبدیل ساختار تودرتو یا منطق چندمرحلهای نیاز دارید، میتوانید از Code Node کمک بگیرید.
سؤالات متداول درباره Edit Fields در n8n
Edit Fields در n8n چه کاربردی دارد؟
Edit Fields برای ساخت فیلدهای جدید، تغییر مقادیر، انتخاب فیلدهای موردنیاز و آمادهسازی دادهها برای مراحل بعدی Workflow استفاده میشود.
آیا Edit Fields همان Set در n8n است؟
Edit Fields (Set) نامی است که در رابط کاربری جدید برای این Node مشاهده میشود. در نسخهها و آموزشهای قدیمیتر ممکن است نام Set استفاده شده باشد. اگر در پنل شما نام متفاوتی نمایش داده میشود، نسخه n8n و تنظیمات همان Node را بررسی کنید.
آیا میتوان با Edit Fields اطلاعات API را تغییر داد؟
بله. میتوانید دادههای دریافتی از HTTP Request را با Expressions بخوانید، نام فیلدها را تغییر دهید، فیلدهای جدید بسازید و خروجی را برای ارسال به سرویس دیگری آماده کنید.
تفاوت Edit Fields با Code Node چیست؟
Edit Fields برای تغییرات متداول و مشخص در ساختار دادهها مناسب است و معمولاً بدون نوشتن کد کامل انجام میشود. Code Node برای پردازشهای پیچیدهتر و اجرای منطق JavaScript کاربرد دارد.
چرا اطلاعات ورودی پس از اجرای Edit Fields حذف میشوند؟
یکی از دلایل رایج، غیرفعالبودن گزینه Include Other Input Fields است. اگر فقط فیلدهای جدید را تعریف کرده باشید، ممکن است فیلدهای قبلی در خروجی باقی نمانند. تنظیمات Node را بررسی کنید.
آیا Edit Fields میتواند چند آیتم را پردازش کند؟
بله. این Node در جریان عادی پردازش دادههای n8n میتواند روی آیتمهای ورودی اعمال شود. بااینحال، برای اطمینان از نتیجه، خروجی را با تعداد آیتمهای متفاوت آزمایش کنید.
چه زمانی باید از Edit Fields استفاده کنیم؟
هر زمان که لازم است قبل از اجرای مرحله بعد، ساختار دادهها را مرتب کنید، فیلدهای جدید بسازید، مقادیر را تغییر دهید یا اطلاعات موردنیاز را از دادههای ورودی استخراج کنید، Edit Fields میتواند انتخاب مناسبی باشد.
جمعبندی
Edit Fields (Set) یکی از Nodeهای مهم n8n برای مدیریت دادهها و آمادهسازی اطلاعات در Workflow است. با کمک آن میتوانید بدون نیاز به نوشتن کدهای پیچیده، فیلدهای جدید بسازید، نام و مقدار دادهها را تغییر دهید و اطلاعات موردنیاز را برای ارسال به API، ذخیره در دیتابیس یا ارسال پیام آماده کنید.
در این مقاله با ساخت یک Workflow ساده، تعریف فیلدها، استفاده از Expressions، حفظ اطلاعات ورودی و چند مثال کاربردی آشنا شدیم.
برای یادگیری بهتر n8n، پیشنهاد میکنیم پس از این آموزش، سراغ Nodeهای شرطی مانند IF و Switch بروید تا بتوانید علاوه بر آمادهسازی دادهها، مسیر اجرای Workflow را نیز بر اساس شرایط مختلف کنترل کنید.
اگر برای کسبوکار خود به اتوماسیونهایی مانند اتصال سایت به API، ارسال اعلان سفارش، پردازش اطلاعات مشتریان یا ارتباط بین سرویسهای مختلف نیاز دارید، n8n میتواند بخش مهمی از این فرایندها را خودکار کند. مهمترین نکته، طراحی Workflow متناسب با نیاز واقعی و آزمایش دقیق آن پیش از استفاده در محیط عملیاتی است.





