نود Rename Keys در N8N
نود Rename Keys در N8N برای تغییر نام کلیدها یا همان فیلدهای داده استفاده میشود. وقتی دادهها از API، فرم، فایل CSV، دیتابیس یا سرویسهای مختلف وارد ورکفلو میشوند، معمولاً نام فیلدها با ساختار مورد نیاز مرحله بعدی هماهنگ نیست. این نود کمک میکند بدون نوشتن کد، نام فیلدها را تمیز، استاندارد و قابل استفاده برای نودهای بعدی تغییر دهید.
معرفی نود در N8N
نود Rename Keys یکی از نودهای کاربردی برای آمادهسازی و تبدیل دادهها در N8N است. وظیفه اصلی این نود، تغییر نام کلیدهای موجود در آیتمهای ورودی است؛ برای مثال میتوانید فیلدی به نام user_name را به fullName یا فیلد email_address را به email تبدیل کنید.
- نوع نود: Action / Data Transformation
- کارکرد اصلی: تغییر نام کلیدهای JSON در آیتمهای ورودی
- کاربرد مهم: استانداردسازی ساختار داده قبل از ارسال به API، دیتابیس، CRM، Google Sheets یا ابزارهای دیگر
- سطح مناسب: مبتدی و متوسط، بدون نیاز به کدنویسی
اهمیت این نود زمانی مشخص میشود که چند سرویس مختلف در یک ورکفلو به هم متصل هستند اما هر کدام نامگذاری متفاوتی برای دادهها دارند. Rename Keys باعث میشود ساختار دادهها یکدست شود و خطاهای ناشی از نام فیلد اشتباه کاهش پیدا کند.
موارد استفاده
استانداردسازی دادههای دریافتی از API
فرض کنید از یک API اطلاعات کاربر دریافت میکنید و خروجی آن به شکل زیر است:
- first_name
- last_name
- email_address
اما API مقصد فیلدها را با نامهای زیر قبول میکند:
- firstName
- lastName
با نود Rename Keys میتوانید این تغییر نامها را قبل از ارسال داده به API مقصد انجام دهید.
آمادهسازی داده برای Google Sheets
اگر دادهای از فرم، وبهوک یا دیتابیس دریافت میکنید و میخواهید آن را در Google Sheets ذخیره کنید، بهتر است نام ستونها با نام کلیدهای JSON هماهنگ باشند. برای مثال فیلد phone_number را به Phone یا mobile را به Phone Number تغییر دهید تا دادهها در ستون درست قرار بگیرند.
هماهنگ کردن خروجی چند منبع مختلف
در بسیاری از ورکفلوها دادهها از چند منبع وارد میشوند؛ مثلاً یک منبع نام مشتری را customer_name برمیگرداند و منبع دیگر name. با Rename Keys میتوانید همه آنها را به یک نام واحد مثل customerName تبدیل کنید و پردازشهای بعدی را سادهتر انجام دهید.
ترکیب با نودهای دیگر
- Webhook + Rename Keys + Google Sheets: دریافت اطلاعات فرم، تغییر نام فیلدها و ذخیره در شیت
- HTTP Request + Rename Keys + CRM: دریافت داده از API و آمادهسازی آن برای ارسال به CRM
- Read Binary File / Spreadsheet File + Rename Keys + Database: خواندن فایل اکسل یا CSV، تغییر نام ستونها و ذخیره در دیتابیس
- Merge + Rename Keys + Email: ترکیب دادهها از چند منبع، یکسانسازی کلیدها و ارسال ایمیل گزارش
پارامترها و تنظیمات
تنظیمات نود Rename Keys معمولاً ساده است و بر اساس تعریف جفتهای نام قدیمی و نام جدید کار میکند. بسته به نسخه N8N، نام برخی گزینهها ممکن است کمی متفاوت باشد، اما مفهوم اصلی یکسان است.
Keys to Rename / Fields to Rename
- نوع داده: لیست یا Collection
- توضیح: در این بخش مشخص میکنید کدام کلید ورودی باید به چه نامی تغییر کند.
- کاربرد: تعریف چندین تغییر نام در یک نود
- مثال: تغییر first_name به firstName و email_address به email
Current Key / Old Key
- نوع داده: String
- توضیح: نام فعلی کلیدی که در داده ورودی وجود دارد.
- کاربرد: مشخص کردن فیلدی که باید تغییر نام داده شود.
- مثال: اگر داده ورودی شامل customer_name باشد، مقدار این فیلد را customer_name قرار دهید.
New Key
- نوع داده: String
- توضیح: نام جدیدی که میخواهید کلید با آن در خروجی ظاهر شود.
- کاربرد: تعریف نام استاندارد برای استفاده در مراحل بعدی ورکفلو
- مثال: تغییر customer_name به customerName
Dot Notation یا مسیر فیلدهای تو در تو
- نوع داده: String
- توضیح: در بعضی نسخهها یا در ترکیب با Expressionها میتوان به فیلدهای داخلی با مسیر اشاره کرد.
- کاربرد: تغییر نام یا آمادهسازی دادههای Nested مانند user.profile.name
- مثال: اگر داده شامل user.email باشد، ممکن است لازم باشد ابتدا با نود Set یا Code ساختار را ساده کنید و سپس Rename Keys را اجرا کنید.
Keep Original Field / حذف یا حفظ کلید قبلی
- نوع داده: Boolean
- توضیح: در برخی ابزارهای تبدیل داده، امکان حفظ کلید قدیمی وجود دارد. در Rename Keys هدف اصلی تغییر نام است؛ بنابراین معمولاً کلید قدیمی با نام جدید جایگزین میشود.
- کاربرد: اگر نیاز دارید هم نام قدیمی و هم نام جدید را داشته باشید، بهتر است از نود Edit Fields یا Set برای کپی کردن مقدار استفاده کنید.
- مثال: ابتدا email_address را به email کپی کنید و سپس در صورت نیاز کلید قدیمی را حذف کنید.
نکات مهم هنگام پیکربندی
- نام کلید قدیمی باید دقیقاً با داده ورودی یکسان باشد؛ حروف بزرگ و کوچک مهم هستند.
- اگر کلید مورد نظر در ورودی وجود نداشته باشد، معمولاً تغییری روی آن آیتم انجام نمیشود.
- اگر نام جدید با یک کلید موجود در همان آیتم یکسان باشد، ممکن است مقدار قبلی بازنویسی شود یا نتیجه غیرمنتظره ایجاد شود.
- برای دادههای تو در تو، قبل از Rename Keys ساختار JSON را بررسی کنید.
- بهتر است نامگذاری فیلدها را یکدست انتخاب کنید؛ مثلاً camelCase، snake_case یا PascalCase.
ورودیها و خروجیها
ورودی نود
ورودی Rename Keys معمولاً یک یا چند آیتم JSON است. هر آیتم شامل کلیدها و مقادیری است که از نود قبلی وارد شدهاند.
نمونه ورودی:
{ "first_name": "Ali", "last_name": "Ahmadi", "email_address": "ali@example.com", "phone_number": "09120000000"}تنظیمات نمونه
- first_name به firstName
- last_name به lastName
- email_address به email
- phone_number به phone
خروجی نود
خروجی شامل همان دادههاست اما کلیدهای مشخصشده با نام جدید نمایش داده میشوند.
نمونه خروجی:
{ "firstName": "Ali", "lastName": "Ahmadi", "email": "ali@example.com", "phone": "09120000000"}مثال با چند آیتم
اگر ورودی شامل چند رکورد باشد، Rename Keys روی همه آیتمها اعمال میشود.
ورودی:
[ { "customer_name": "Sara", "customer_email": "sara@example.com" }, { "customer_name": "Reza", "customer_email": "reza@example.com" }]خروجی پس از تغییر customer_name به name و customer_email به email:
[ { "name": "Sara", "email": "sara@example.com" }, { "name": "Reza", "email": "reza@example.com" }]نکات پیشرفته و ترفندها
استفاده قبل از ارسال داده به سرویسهای حساس به نام فیلد
بعضی APIها فقط نام فیلدهای مشخصی را قبول میکنند. اگر حتی یک فیلد با نام اشتباه ارسال شود، درخواست ممکن است خطا بدهد یا داده ذخیره نشود. Rename Keys را قبل از نود HTTP Request یا نودهای CRM قرار دهید تا نام فیلدها دقیقاً مطابق مستندات سرویس مقصد باشد.
ترکیب با نود Edit Fields
اگر علاوه بر تغییر نام، نیاز دارید فیلد جدید بسازید، مقدار ثابت اضافه کنید یا بعضی فیلدها را حذف کنید، Rename Keys را با نود Edit Fields ترکیب کنید. یک الگوی کاربردی این است:
- ابتدا با Rename Keys نام فیلدها را استاندارد کنید.
- سپس با Edit Fields فیلدهای اضافی را حذف یا فیلدهای جدید را اضافه کنید.
ترکیب با نود IF برای تغییر نام شرطی
گاهی ساختار دادهها بسته به منبع متفاوت است. برای مثال اگر داده از منبع A بیاید فیلد email_address دارد، اما اگر از منبع B بیاید فیلد userEmail دارد. در این حالت میتوانید با نود IF مسیرها را جدا کنید و در هر مسیر Rename Keys مخصوص همان ساختار را قرار دهید.
ترکیب با نود Code برای سناریوهای پیچیده
اگر تعداد فیلدها بسیار زیاد است یا نام فیلدها باید بر اساس منطق خاصی تغییر کند، نود Code گزینه مناسبتری است. اما برای تغییر نامهای ساده و مشخص، Rename Keys سریعتر، خواناتر و مناسبتر است.
استفاده برای تمیز کردن خروجی فایلهای CSV و Excel
در فایلهای CSV یا Excel ممکن است نام ستونها شامل فاصله، حروف فارسی، کاراکترهای خاص یا نامهای طولانی باشد. بعد از خواندن فایل، با Rename Keys میتوانید نام ستونها را به کلیدهای تمیز و قابل استفاده تبدیل کنید؛ مثلاً نام و نام خانوادگی به fullName یا شماره تماس مشتری به phone.
محدودیتها و خطاها
محدودیتها
- این نود برای تغییر نام کلیدهاست، نه تغییر نوع دادهها. برای تبدیل string به number یا تغییر فرمت تاریخ باید از نودهای دیگر مثل Edit Fields یا Code استفاده شود.
- اگر ساختار داده بسیار تو در تو و پیچیده باشد، Rename Keys ممکن است به تنهایی کافی نباشد.
- برای تغییر نام داینامیک و الگوریتمی تعداد زیادی کلید، نود Code معمولاً انعطاف بیشتری دارد.
- اگر چند کلید را به یک نام جدید یکسان تغییر دهید، احتمال بازنویسی داده وجود دارد.
خطای رایج: نام کلید اشتباه وارد شده است
اگر نام کلید فعلی را دقیق وارد نکنید، نود نمیتواند آن را پیدا کند. برای حل این مشکل، خروجی نود قبلی را باز کنید و نام دقیق فیلد را کپی کنید.
خطای رایج: تفاوت حروف بزرگ و کوچک
در JSON، فیلد Email با email متفاوت است. اگر کلید ورودی email_address است اما شما Email_Address وارد کنید، تغییر نام انجام نمیشود.
خطای رایج: بازنویسی فیلد موجود
اگر در آیتم ورودی کلیدی به نام email وجود داشته باشد و شما email_address را هم به email تغییر دهید، ممکن است مقدار قبلی email از بین برود یا نتیجه نهایی مطابق انتظار نباشد. قبل از تغییر نام، ساختار داده را بررسی کنید.
خطای رایج: انتظار تغییر مقدار به جای تغییر نام
Rename Keys فقط نام کلید را تغییر میدهد، نه مقدار آن را. برای تغییر مقدار یک فیلد، از نود Edit Fields، Set، Code یا Function استفاده کنید.
ایده ها
- ساخت لایه استانداردسازی داده بین چند API: دریافت داده از سرویسهای مختلف و تبدیل همه خروجیها به یک ساختار واحد.
- آمادهسازی لیدهای فروش برای CRM: تغییر نام فیلدهای فرم سایت به فیلدهای قابل قبول در HubSpot، Pipedrive یا سایر CRMها.
- پاکسازی ستونهای فایل CSV: تبدیل نام ستونهای نامرتب فایلهای اکسل به کلیدهای استاندارد برای ذخیره در دیتابیس.
- هماهنگسازی دادههای فروشگاه اینترنتی: تغییر نام فیلدهای سفارش مثل buyer_name، order_total و shipping_address برای ارسال به سیستم حسابداری.
- ساخت خروجی تمیز برای گزارشگیری: تغییر نام کلیدهای فنی و پیچیده به نامهای سادهتر قبل از ارسال گزارش به ایمیل، Slack یا Google Sheets.
