نود WooCommerce در N8N

نود WooCommerce در N8N

نود WooCommerce در N8N یکی از کاربردی‌ترین نودها برای اتصال فروشگاه ووکامرس به ابزارهای اتوماسیون، CRM، پیام‌رسان‌ها، فایل‌های اکسل، سیستم‌های حسابداری و سرویس‌های بازاریابی است. با این نود می‌توانید سفارش‌ها، محصولات، مشتریان، کوپن‌ها و تنوع‌های محصول را به‌صورت خودکار ایجاد، دریافت، به‌روزرسانی یا حذف کنید و بسیاری از کارهای تکراری فروشگاه آنلاین را بدون کدنویسی انجام دهید.

معرفی نود در N8N

نود WooCommerce در N8N برای ارتباط مستقیم با REST API ووکامرس طراحی شده است. این نود به شما اجازه می‌دهد داده‌های اصلی فروشگاه ووکامرسی خود را در ورکفلوهای N8N بخوانید یا تغییر دهید.

  • نام نود: WooCommerce
  • دسته‌بندی: Integration / Action
  • کارکرد اصلی: مدیریت داده‌های ووکامرس شامل سفارش‌ها، محصولات، مشتریان، کوپن‌ها و تنوع محصولات
  • نوع عملکرد: اجرای عملیات روی داده‌ها بعد از شروع ورکفلو توسط نودهای Trigger، Cron، Webhook یا سایر نودها
  • نود مرتبط: WooCommerce Trigger برای دریافت رویدادهای لحظه‌ای از فروشگاه مانند ایجاد سفارش جدید یا تغییر وضعیت سفارش

اهمیت این نود زمانی مشخص می‌شود که بخواهید فروشگاه خود را به سیستم‌های بیرونی متصل کنید. برای مثال، بعد از ثبت سفارش جدید، اطلاعات مشتری به CRM ارسال شود، فاکتور در Google Sheets ثبت شود، پیام تلگرام برای تیم فروش ارسال شود و موجودی محصول در یک سیستم دیگر همگام‌سازی شود.

موارد استفاده

ثبت خودکار سفارش‌ها در Google Sheets

یکی از سناریوهای رایج این است که سفارش‌های جدید فروشگاه را دریافت کنید و اطلاعات آن‌ها را در یک فایل Google Sheets ذخیره کنید. در این حالت می‌توانید از WooCommerce Trigger برای شروع ورکفلو و از نود WooCommerce برای دریافت جزئیات کامل سفارش استفاده کنید.

  • WooCommerce Trigger: دریافت سفارش جدید
  • WooCommerce: دریافت جزئیات سفارش
  • Set: آماده‌سازی فیلدهای لازم
  • Google Sheets: ثبت اطلاعات سفارش

ارسال پیام به تیم فروش بعد از خرید

می‌توانید بعد از ثبت سفارش جدید، نام مشتری، مبلغ سفارش و محصولات خریداری‌شده را به تلگرام، اسلک یا ایمیل ارسال کنید.

  • WooCommerce Trigger: رویداد Order Created
  • IF: بررسی مبلغ سفارش یا وضعیت پرداخت
  • Telegram یا Slack: ارسال پیام به تیم فروش

ساخت کوپن تخفیف برای مشتریان جدید

اگر کاربر جدیدی در سایت ثبت‌نام کند، می‌توانید به‌صورت خودکار یک کوپن اختصاصی برای او ایجاد کنید و از طریق ایمیل ارسال کنید.

  • WooCommerce Trigger: ایجاد مشتری جدید
  • WooCommerce: ایجاد Coupon
  • Email Send یا Gmail: ارسال کد تخفیف به مشتری

همگام‌سازی محصولات با سیستم انبارداری

در فروشگاه‌هایی که موجودی محصولات در چند سیستم مختلف مدیریت می‌شود، نود WooCommerce می‌تواند برای دریافت یا به‌روزرسانی موجودی محصولات استفاده شود.

  • Cron: اجرای زمان‌بندی‌شده هر ۳۰ دقیقه
  • HTTP Request: دریافت موجودی از سیستم انبارداری
  • WooCommerce: به‌روزرسانی stock_quantity یا stock_status محصول
  • IF: ارسال هشدار در صورت کمبود موجودی

اتصال ووکامرس به CRM

با دریافت اطلاعات مشتریان ووکامرس و ارسال آن‌ها به CRM می‌توانید فرآیند فروش، پشتیبانی و بازاریابی را بهتر مدیریت کنید.

  • WooCommerce: دریافت مشتریان جدید یا سفارش‌های اخیر
  • Code یا Set: تبدیل ساختار داده‌ها
  • HubSpot، Pipedrive، Airtable یا HTTP Request: ثبت اطلاعات در CRM

پارامترها و تنظیمات

تنظیمات اتصال و احراز هویت

برای استفاده از نود WooCommerce ابتدا باید Credential مربوط به فروشگاه خود را در N8N تعریف کنید. این اطلاعات از بخش REST API در تنظیمات ووکامرس ساخته می‌شوند.

  • Credential Type / نوع داده: WooCommerce API Credential / اتصال احراز هویت
    کاربرد: اتصال امن N8N به فروشگاه ووکامرس
    مثال: ساخت کلید API از مسیر WooCommerce > Settings > Advanced > REST API
  • Store URL / نوع داده: String
    کاربرد: آدرس اصلی فروشگاه ووکامرس بدون مسیر اضافی API
    مثال: https://example.com
  • Consumer Key / نوع داده: String
    کاربرد: کلید عمومی API ووکامرس
    مثال: ck_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Consumer Secret / نوع داده: String
    کاربرد: کلید محرمانه API ووکامرس
    مثال: cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Permission / نوع داده: Read / Write یا Read/Write
    کاربرد: تعیین سطح دسترسی API Key در ووکامرس
    مثال: برای ساخت و ویرایش سفارش باید دسترسی Read/Write انتخاب شود

نکته مهم: اگر فروشگاه شما روی HTTPS فعال باشد، اتصال پایدارتر و امن‌تر خواهد بود. همچنین پیوندهای یکتا در وردپرس باید به‌درستی فعال باشند تا REST API ووکامرس بدون خطا کار کند.

پارامتر Resource

پارامتر Resource مشخص می‌کند که عملیات نود روی کدام بخش ووکامرس انجام شود.

  • Resource / نوع داده: Options
    کاربرد: انتخاب موجودیت اصلی در ووکامرس
    گزینه‌های رایج: Coupon، Customer، Order، Product، Product Variation
    مثال: برای دریافت سفارش‌ها مقدار Order را انتخاب کنید

پارامتر Operation

پارامتر Operation نوع عملیاتی را که می‌خواهید روی Resource انتخاب‌شده انجام دهید مشخص می‌کند.

  • Create / نوع داده: Operation
    کاربرد: ایجاد یک رکورد جدید در ووکامرس
    مثال: ساخت یک محصول جدید یا ایجاد کوپن تخفیف
  • Get / نوع داده: Operation
    کاربرد: دریافت یک رکورد مشخص بر اساس ID
    مثال: دریافت سفارش با شناسه 1024
  • Get Many یا Get All / نوع داده: Operation
    کاربرد: دریافت چندین رکورد با امکان فیلتر و محدودسازی
    مثال: دریافت ۵۰ سفارش اخیر با وضعیت processing
  • Update / نوع داده: Operation
    کاربرد: ویرایش یک رکورد موجود
    مثال: تغییر وضعیت سفارش از processing به completed
  • Delete / نوع داده: Operation
    کاربرد: حذف یک رکورد
    مثال: حذف کوپن منقضی‌شده

پارامترهای عمومی عملیات Get و Update و Delete

  • ID / نوع داده: Number یا String
    کاربرد: شناسه رکورد موردنظر در ووکامرس
    مثال: Order ID برابر با 4582 برای دریافت یا به‌روزرسانی سفارش
  • Return All / نوع داده: Boolean
    کاربرد: دریافت همه نتایج موجود بدون تعیین تعداد ثابت
    مثال: فعال کردن برای دریافت همه محصولات فروشگاه
  • Limit / نوع داده: Number
    کاربرد: تعیین حداکثر تعداد رکوردهای خروجی در عملیات Get Many
    مثال: مقدار 100 برای دریافت ۱۰۰ سفارش آخر
  • Force / نوع داده: Boolean
    کاربرد: حذف دائمی رکورد در عملیات Delete، در منابعی که ووکامرس از حذف دائمی پشتیبانی می‌کند
    مثال: true برای حذف کامل یک کوپن

پارامترهای Resource: Order

Resource سفارش‌ها برای مدیریت سفارش‌های فروشگاه استفاده می‌شود. این بخش یکی از پرکاربردترین قسمت‌های نود WooCommerce است.

  • Order ID / نوع داده: Number
    کاربرد: شناسه سفارش برای عملیات Get، Update یا Delete
    مثال: 1205
  • Status / نوع داده: Options
    کاربرد: تعیین یا فیلتر وضعیت سفارش
    مثال: processing، completed، pending، cancelled، refunded، failed، on-hold
  • Customer ID / نوع داده: Number
    کاربرد: اتصال سفارش به یک مشتری ثبت‌شده در ووکامرس
    مثال: 87
  • Payment Method / نوع داده: String
    کاربرد: شناسه روش پرداخت
    مثال: cod یا stripe
  • Payment Method Title / نوع داده: String
    کاربرد: عنوان قابل نمایش روش پرداخت
    مثال: پرداخت در محل
  • Set Paid / نوع داده: Boolean
    کاربرد: تعیین اینکه سفارش پرداخت‌شده محسوب شود یا نه
    مثال: true برای ثبت سفارش پرداخت‌شده
  • Billing / نوع داده: Object
    کاربرد: اطلاعات صورتحساب مشتری
    مثال: نام، نام خانوادگی، آدرس، شهر، کد پستی، کشور، ایمیل و تلفن
  • Shipping / نوع داده: Object
    کاربرد: اطلاعات ارسال سفارش
    مثال: آدرس گیرنده، شهر، استان، کد پستی و کشور
  • Line Items / نوع داده: Array
    کاربرد: محصولات داخل سفارش
    مثال: product_id: 45 و quantity: 2
  • Shipping Lines / نوع داده: Array
    کاربرد: روش‌ها و هزینه‌های ارسال
    مثال: method_title: پست پیشتاز و total: 75000
  • Coupon Lines / نوع داده: Array
    کاربرد: کوپن‌های اعمال‌شده روی سفارش
    مثال: code: welcome10
  • Fee Lines / نوع داده: Array
    کاربرد: هزینه‌های اضافه مانند بسته‌بندی یا خدمات
    مثال: name: بسته‌بندی ویژه و total: 20000
  • Customer Note / نوع داده: String
    کاربرد: یادداشت مشتری برای سفارش
    مثال: لطفاً قبل از ارسال تماس بگیرید
  • Meta Data / نوع داده: Array
    کاربرد: ذخیره اطلاعات سفارشی روی سفارش
    مثال: key: campaign و value: yalda_sale

پارامترهای Resource: Product

Resource محصول برای ایجاد، دریافت و ویرایش محصولات ووکامرس استفاده می‌شود.

  • Product ID / نوع داده: Number
    کاربرد: شناسه محصول برای دریافت، ویرایش یا حذف
    مثال: 312
  • Name / نوع داده: String
    کاربرد: نام محصول
    مثال: کفش ورزشی مدل A1
  • Type / نوع داده: Options
    کاربرد: نوع محصول
    مثال: simple، variable، grouped، external
  • Regular Price / نوع داده: String یا Number به‌صورت رشته عددی
    کاربرد: قیمت اصلی محصول
    مثال: 850000
  • Sale Price / نوع داده: String یا Number به‌صورت رشته عددی
    کاربرد: قیمت فروش ویژه
    مثال: 720000
  • Description / نوع داده: String یا HTML
    کاربرد: توضیحات کامل محصول
    مثال: توضیح کامل ویژگی‌ها، جنس، کاربرد و شرایط گارانتی
  • Short Description / نوع داده: String یا HTML
    کاربرد: توضیح کوتاه محصول
    مثال: مناسب برای پیاده‌روی روزانه
  • SKU / نوع داده: String
    کاربرد: کد یکتای انبارداری محصول
    مثال: SHOE-A1-BLACK-42
  • Status / نوع داده: Options
    کاربرد: وضعیت انتشار محصول
    مثال: publish، draft، pending، private
  • Featured / نوع داده: Boolean
    کاربرد: مشخص کردن محصول ویژه
    مثال: true برای نمایش در محصولات ویژه
  • Catalog Visibility / نوع داده: Options
    کاربرد: نحوه نمایش محصول در فروشگاه
    مثال: visible، catalog، search، hidden
  • Manage Stock / نوع داده: Boolean
    کاربرد: فعال‌سازی مدیریت موجودی برای محصول
    مثال: true
  • Stock Quantity / نوع داده: Number
    کاربرد: تعداد موجودی محصول
    مثال: 25
  • Stock Status / نوع داده: Options
    کاربرد: وضعیت موجودی
    مثال: instock، outofstock، onbackorder
  • Categories / نوع داده: Array
    کاربرد: دسته‌بندی‌های محصول بر اساس ID
    مثال: id: 15 برای دسته کفش
  • Tags / نوع داده: Array
    کاربرد: تگ‌های محصول
    مثال: id: 8 برای تگ ورزشی
  • Images / نوع داده: Array
    کاربرد: تصاویر محصول با آدرس URL یا ID تصویر
    مثال: src: https://example.com/wp-content/uploads/product.jpg
  • Attributes / نوع داده: Array
    کاربرد: ویژگی‌های محصول مانند رنگ و سایز
    مثال: name: رنگ و options: مشکی، سفید
  • Default Attributes / نوع داده: Array
    کاربرد: مقدار پیش‌فرض ویژگی‌ها برای محصولات متغیر
    مثال: رنگ پیش‌فرض: مشکی
  • Virtual / نوع داده: Boolean
    کاربرد: مشخص کردن محصول مجازی
    مثال: true برای دوره آموزشی آنلاین
  • Downloadable / نوع داده: Boolean
    کاربرد: مشخص کردن محصول دانلودی
    مثال: true برای فایل PDF یا نرم‌افزار
  • Downloads / نوع داده: Array
    کاربرد: فایل‌های دانلودی محصول
    مثال: name: فایل اصلی و file: https://example.com/file.zip
  • Weight / نوع داده: String یا Number
    کاربرد: وزن محصول برای محاسبه حمل‌ونقل
    مثال: 1.2
  • Dimensions / نوع داده: Object
    کاربرد: ابعاد محصول شامل طول، عرض و ارتفاع
    مثال: length: 30، width: 20، height: 10
  • Shipping Class / نوع داده: String یا ID
    کاربرد: کلاس حمل‌ونقل محصول
    مثال: محصولات سنگین
  • Meta Data / نوع داده: Array
    کاربرد: ذخیره داده‌های سفارشی روی محصول
    مثال: key: supplier_code و value: SUP-458

پارامترهای Resource: Product Variation

Resource تنوع محصول برای مدیریت نسخه‌های مختلف یک محصول متغیر استفاده می‌شود؛ مانند رنگ، سایز یا مدل.

  • Product ID / نوع داده: Number
    کاربرد: شناسه محصول والد که از نوع variable است
    مثال: 312
  • Variation ID / نوع داده: Number
    کاربرد: شناسه تنوع محصول برای دریافت، ویرایش یا حذف
    مثال: 315
  • Regular Price / نوع داده: String یا Number
    کاربرد: قیمت اصلی تنوع
    مثال: 900000
  • Sale Price / نوع داده: String یا Number
    کاربرد: قیمت فروش ویژه تنوع
    مثال: 790000
  • SKU / نوع داده: String
    کاربرد: کد یکتای تنوع محصول
    مثال: SHOE-A1-BLACK-42
  • Manage Stock / نوع داده: Boolean
    کاربرد: مدیریت موجودی در سطح تنوع
    مثال: true
  • Stock Quantity / نوع داده: Number
    کاربرد: موجودی این تنوع خاص
    مثال: 7
  • Stock Status / نوع داده: Options
    کاربرد: وضعیت موجودی تنوع
    مثال: instock یا outofstock
  • Attributes / نوع داده: Array
    کاربرد: ویژگی‌هایی که این تنوع را مشخص می‌کنند
    مثال: رنگ: مشکی، سایز: 42
  • Image / نوع داده: Object
    کاربرد: تصویر اختصاصی تنوع
    مثال: src: https://example.com/black-42.jpg
  • Weight / نوع داده: String یا Number
    کاربرد: وزن تنوع محصول
    مثال: 0.8
  • Dimensions / نوع داده: Object
    کاربرد: ابعاد تنوع محصول
    مثال: length، width و height
  • Virtual / نوع داده: Boolean
    کاربرد: مشخص کردن تنوع مجازی
    مثال: true برای نسخه دیجیتال محصول
  • Downloadable / نوع داده: Boolean
    کاربرد: مشخص کردن تنوع دانلودی
    مثال: true برای نسخه قابل دانلود

پارامترهای Resource: Customer

Resource مشتری برای ایجاد، دریافت و ویرایش اطلاعات کاربران و خریداران فروشگاه استفاده می‌شود.

  • Customer ID / نوع داده: Number
    کاربرد: شناسه مشتری برای دریافت، ویرایش یا حذف
    مثال: 91
  • Email / نوع داده: String
    کاربرد: ایمیل مشتری، معمولاً باید یکتا باشد
    مثال: customer@example.com
  • First Name / نوع داده: String
    کاربرد: نام مشتری
    مثال: علی
  • Last Name / نوع داده: String
    کاربرد: نام خانوادگی مشتری
    مثال: رضایی
  • Username / نوع داده: String
    کاربرد: نام کاربری مشتری
    مثال: ali.rezaei
  • Password / نوع داده: String
    کاربرد: رمز عبور هنگام ایجاد مشتری جدید
    مثال: یک رمز امن تولیدشده توسط نود Code
  • Billing / نوع داده: Object
    کاربرد: اطلاعات صورتحساب مشتری
    مثال: billing.first_name، billing.city، billing.phone
  • Shipping / نوع داده: Object
    کاربرد: اطلاعات ارسال مشتری
    مثال: shipping.address_1، shipping.postcode
  • Meta Data / نوع داده: Array
    کاربرد: اطلاعات سفارشی مشتری
    مثال: key: crm_id و value: 55821

پارامترهای Resource: Coupon

Resource کوپن برای ساخت و مدیریت کدهای تخفیف در ووکامرس استفاده می‌شود.

  • Coupon ID / نوع داده: Number
    کاربرد: شناسه کوپن برای دریافت، ویرایش یا حذف
    مثال: 44
  • Code / نوع داده: String
    کاربرد: کد تخفیفی که مشتری در checkout وارد می‌کند
    مثال: WELCOME10
  • Amount / نوع داده: String یا Number
    کاربرد: مقدار تخفیف
    مثال: 10 برای تخفیف ۱۰ درصدی یا 50000 برای تخفیف مبلغی
  • Discount Type / نوع داده: Options
    کاربرد: نوع تخفیف
    مثال: percent، fixed_cart، fixed_product
  • Description / نوع داده: String
    کاربرد: توضیح داخلی یا عمومی برای کوپن
    مثال: کوپن خوش‌آمدگویی کاربران جدید
  • Date Expires / نوع داده: DateTime
    کاربرد: تاریخ انقضای کوپن
    مثال: 2026-12-31T23:59:59
  • Individual Use / نوع داده: Boolean
    کاربرد: جلوگیری از استفاده همزمان با سایر کوپن‌ها
    مثال: true
  • Product IDs / نوع داده: Array
    کاربرد: محدود کردن کوپن به محصولات خاص
    مثال: 12، 18، 25
  • Excluded Product IDs / نوع داده: Array
    کاربرد: مستثنی کردن محصولات خاص از کوپن
    مثال: 33، 34
  • Usage Limit / نوع داده: Number
    کاربرد: تعداد کل دفعات قابل استفاده بودن کوپن
    مثال: 100
  • Usage Limit Per User / نوع داده: Number
    کاربرد: تعداد دفعات استفاده برای هر کاربر
    مثال: 1
  • Limit Usage To X Items / نوع داده: Number
    کاربرد: محدود کردن تعداد آیتم‌هایی که تخفیف روی آن‌ها اعمال می‌شود
    مثال: 2
  • Free Shipping / نوع داده: Boolean
    کاربرد: فعال کردن ارسال رایگان با کوپن
    مثال: true
  • Product Categories / نوع داده: Array
    کاربرد: محدود کردن کوپن به دسته‌بندی‌های خاص
    مثال: category id: 15
  • Excluded Product Categories / نوع داده: Array
    کاربرد: مستثنی کردن دسته‌بندی‌های خاص
    مثال: category id: 21
  • Exclude Sale Items / نوع داده: Boolean
    کاربرد: عدم اعمال کوپن روی محصولات دارای تخفیف
    مثال: true
  • Minimum Amount / نوع داده: String یا Number
    کاربرد: حداقل مبلغ سبد خرید برای استفاده از کوپن
    مثال: 500000
  • Maximum Amount / نوع داده: String یا Number
    کاربرد: حداکثر مبلغ سبد خرید برای استفاده از کوپن
    مثال: 3000000
  • Email Restrictions / نوع داده: Array
    کاربرد: محدود کردن کوپن به ایمیل‌های خاص
    مثال: customer@example.com
  • Meta Data / نوع داده: Array
    کاربرد: ذخیره داده‌های سفارشی برای کوپن
    مثال: key: campaign و value: spring_sale

پارامترهای فیلتر در عملیات Get Many

در عملیات دریافت چند رکورد، بسته به Resource انتخاب‌شده، فیلترهای مختلفی در دسترس هستند.

  • Search / نوع داده: String
    کاربرد: جستجو در رکوردها
    مثال: جستجوی محصول با عبارت کفش
  • After / نوع داده: DateTime
    کاربرد: دریافت رکوردهای ایجادشده بعد از یک تاریخ مشخص
    مثال: 2026-01-01T00:00:00
  • Before / نوع داده: DateTime
    کاربرد: دریافت رکوردهای ایجادشده قبل از یک تاریخ مشخص
    مثال: 2026-02-01T00:00:00
  • Order / نوع داده: Options
    کاربرد: ترتیب مرتب‌سازی نتایج
    مثال: asc یا desc
  • Order By / نوع داده: Options یا String
    کاربرد: فیلدی که نتایج بر اساس آن مرتب می‌شوند
    مثال: date، id، title، modified
  • Status / نوع داده: Options
    کاربرد: فیلتر بر اساس وضعیت سفارش، محصول یا کوپن
    مثال: processing برای سفارش‌ها یا publish برای محصولات
  • SKU / نوع داده: String
    کاربرد: جستجوی محصول بر اساس کد انبارداری
    مثال: SHOE-A1-BLACK-42
  • Category / نوع داده: Number یا String
    کاربرد: فیلتر محصولات بر اساس دسته‌بندی
    مثال: 15
  • Tag / نوع داده: Number یا String
    کاربرد: فیلتر محصولات بر اساس تگ
    مثال: 8
  • Customer / نوع داده: Number
    کاربرد: فیلتر سفارش‌ها بر اساس شناسه مشتری
    مثال: 91
  • Email / نوع داده: String
    کاربرد: فیلتر مشتری یا سفارش بر اساس ایمیل
    مثال: customer@example.com
  • Product / نوع داده: Number
    کاربرد: فیلتر سفارش‌ها بر اساس محصول خریداری‌شده
    مثال: 312

نکات مهم هنگام پیکربندی

  • در بسیاری از فیلدهای قیمت، ووکامرس مقدار را به‌صورت رشته عددی قبول می‌کند؛ برای مثال “850000”.
  • برای محصول متغیر، ابتدا باید Product از نوع variable ایجاد شود و سپس Variation ها برای آن ساخته شوند.
  • برای به‌روزرسانی محصول بر اساس SKU، ابتدا باید محصول را با فیلتر SKU پیدا کنید و سپس با Product ID عملیات Update انجام دهید.
  • ایمیل مشتری در ووکامرس باید یکتا باشد؛ ایجاد مشتری با ایمیل تکراری باعث خطا می‌شود.
  • برای حذف دائمی برخی منابع، پارامتر Force باید فعال باشد.
  • تاریخ‌ها بهتر است با فرمت ISO 8601 ارسال شوند؛ مانند 2026-01-15T10:30:00.
  • برای مقادیر کشور و استان در Billing و Shipping، معمولاً باید از کدهای استاندارد استفاده شود؛ مانند IR برای ایران.

ورودی‌ها و خروجی‌ها

ورودی نود WooCommerce

نود WooCommerce می‌تواند داده‌ها را از نود قبلی دریافت کند و با استفاده از Expression آن‌ها را در پارامترهای خود قرار دهد. ورودی معمولاً یک یا چند آیتم JSON است.

نمونه ورودی برای ساخت سفارش:

{  "customer_id": 91,  "payment_method": "cod",  "payment_method_title": "پرداخت در محل",  "set_paid": false,  "billing": {    "first_name": "علی",    "last_name": "رضایی",    "address_1": "تهران، خیابان مثال",    "city": "تهران",    "postcode": "1234567890",    "country": "IR",    "email": "ali@example.com",    "phone": "09120000000"  },  "line_items": [    {      "product_id": 312,      "quantity": 2    }  ]}

نمونه ورودی برای به‌روزرسانی موجودی محصول:

{  "product_id": 312,  "manage_stock": true,  "stock_quantity": 18,  "stock_status": "instock"}

خروجی نود WooCommerce

خروجی نود WooCommerce معمولاً پاسخ مستقیم API ووکامرس است. ساختار خروجی بسته به Resource و Operation متفاوت است. برای مثال، خروجی عملیات Get روی سفارش شامل اطلاعات سفارش، مشتری، آدرس‌ها، آیتم‌های سفارش، مبالغ، وضعیت پرداخت و متادیتا است.

نمونه خروجی خلاصه‌شده برای سفارش:

{  "id": 1205,  "status": "processing",  "currency": "IRR",  "total": "1700000",  "customer_id": 91,  "billing": {    "first_name": "علی",    "last_name": "رضایی",    "email": "ali@example.com",    "phone": "09120000000"  },  "line_items": [    {      "id": 33,      "name": "کفش ورزشی مدل A1",      "product_id": 312,      "quantity": 2,      "total": "1700000"    }  ],  "date_created": "2026-01-15T10:30:00",  "payment_method": "cod"}

نمونه خروجی خلاصه‌شده برای محصول:

{  "id": 312,  "name": "کفش ورزشی مدل A1",  "type": "simple",  "status": "publish",  "sku": "SHOE-A1-BLACK-42",  "price": "850000",  "regular_price": "850000",  "stock_quantity": 18,  "stock_status": "instock",  "categories": [    {      "id": 15,      "name": "کفش"    }  ]}

استفاده از Expression در ورودی‌ها

در N8N می‌توانید مقدار پارامترهای WooCommerce را از نودهای قبلی بخوانید. برای مثال اگر نود قبلی یک Webhook باشد و اطلاعات محصول را دریافت کرده باشد، می‌توانید در فیلد SKU از Expression زیر استفاده کنید:

{{$json.sku}}

یا برای قرار دادن ایمیل مشتری در سفارش:

{{$json.customer.email}}

نکات پیشرفته و ترفندها

جلوگیری از ایجاد رکورد تکراری

قبل از ایجاد مشتری یا محصول، بهتر است ابتدا با ایمیل یا SKU جستجو انجام دهید. اگر رکورد وجود داشت، آن را Update کنید و اگر وجود نداشت، Create انجام دهید.

  • WooCommerce: Get Many Customers با فیلتر Email
  • IF: بررسی خالی بودن خروجی
  • WooCommerce: Create Customer یا Update Customer

پردازش تعداد زیاد محصولات با Split In Batches

اگر قرار است صدها یا هزاران محصول را به‌روزرسانی کنید، بهتر است داده‌ها را دسته‌بندی کنید تا فشار زیادی روی سایت وردپرسی وارد نشود.

  • Read Binary File یا Google Sheets: خواندن لیست محصولات
  • Split In Batches: پردازش دسته‌ای مثلاً ۲۰ آیتم در هر بار
  • WooCommerce: Update Product
  • Wait: ایجاد فاصله زمانی بین درخواست‌ها

استفاده از Continue On Fail

در ورکفلوهای حجیم، ممکن است یک محصول یا سفارش خطا داشته باشد. با فعال کردن Continue On Fail در تنظیمات نود، اجرای کل ورکفلو متوقف نمی‌شود و می‌توانید خطاها را جداگانه ذخیره یا بررسی کنید.

ترکیب با نود HTTP Request برای endpointهای خاص

اگر یک endpoint خاص ووکامرس یا یک افزونه وردپرسی در نود WooCommerce در دسترس نباشد، می‌توانید از HTTP Request استفاده کنید و به REST API ووکامرس یا افزونه موردنظر درخواست مستقیم بفرستید.

  • WooCommerce: دریافت محصول یا سفارش
  • HTTP Request: ارسال درخواست به endpoint سفارشی
  • Set یا Code: آماده‌سازی پاسخ

مدیریت بهتر وضعیت سفارش‌ها

برای جلوگیری از تغییر اشتباه وضعیت سفارش، بهتر است قبل از Update، وضعیت فعلی سفارش را با Get دریافت کنید و سپس با IF تصمیم بگیرید.

  • WooCommerce: Get Order
  • IF: اگر status برابر processing بود
  • WooCommerce: Update Order به completed

ساخت گزارش فروش روزانه

با نود Cron می‌توانید هر روز سفارش‌های همان روز را دریافت کنید و مجموع فروش، تعداد سفارش و محصولات پرفروش را محاسبه کنید.

  • Cron: اجرای روزانه
  • WooCommerce: Get Many Orders با فیلتر After و Before
  • Code: محاسبه مجموع فروش
  • Google Sheets یا Email: ذخیره یا ارسال گزارش

استفاده از Meta Data برای اتصال بین سیستم‌ها

برای اتصال ووکامرس با CRM، حسابداری یا سیستم انبارداری، می‌توانید شناسه خارجی هر رکورد را در meta_data ذخیره کنید. مثلاً crm_contact_id برای مشتری یا accounting_invoice_id برای سفارش.

{  "meta_data": [    {      "key": "crm_contact_id",      "value": "CRM-9842"    }  ]}

محدودیت‌ها و خطاها

محدودیت‌ها

  • نود WooCommerce فقط قابلیت‌هایی را پوشش می‌دهد که در Resourceها و Operationهای آن پیاده‌سازی شده‌اند؛ برای endpointهای خاص باید از HTTP Request استفاده شود.
  • عملکرد نود به سلامت REST API ووکامرس، تنظیمات وردپرس، افزونه‌های امنیتی و کیفیت هاست وابسته است.
  • در دریافت تعداد زیاد رکوردها، محدودیت‌های pagination و منابع سرور وردپرس می‌تواند باعث کندی یا timeout شود.
  • برخی افزونه‌های ووکامرس فیلدهای اختصاصی ایجاد می‌کنند که ممکن است مستقیماً در نود نمایش داده نشوند؛ این فیلدها معمولاً از طریق meta_data یا HTTP Request قابل مدیریت هستند.
  • برای عملیات‌های حساس مانند حذف سفارش یا محصول، امکان بازگشت داده‌ها همیشه وجود ندارد؛ مخصوصاً وقتی Force فعال باشد.

خطای 401 Unauthorized

علت رایج: Consumer Key یا Consumer Secret اشتباه است، دسترسی API Key کافی نیست یا احراز هویت توسط افزونه امنیتی مسدود شده است.

  • کلیدهای API را دوباره در ووکامرس بسازید.
  • سطح دسترسی را Read/Write قرار دهید.
  • آدرس Store URL را بدون مسیرهای اضافی وارد کنید.
  • افزونه‌های امنیتی، فایروال یا محدودیت‌های REST API را بررسی کنید.

خطای 404 Not Found

علت رایج: آدرس فروشگاه اشتباه است، REST API فعال نیست، پیوندهای یکتا مشکل دارند یا ID رکورد وجود ندارد.

  • آدرس اصلی سایت را بررسی کنید.
  • از فعال بودن WooCommerce و REST API مطمئن شوید.
  • در وردپرس پیوندهای یکتا را دوباره ذخیره کنید.
  • ID سفارش، محصول، مشتری یا کوپن را بررسی کنید.

خطای 400 Bad Request

علت رایج: داده ارسالی فرمت درستی ندارد یا فیلدهای اجباری ناقص هستند.

  • برای ساخت سفارش، line_items را بررسی کنید.
  • برای ساخت مشتری، ایمیل معتبر و غیرتکراری ارسال کنید.
  • برای محصول، قیمت را با فرمت قابل قبول ووکامرس ارسال کنید.
  • برای تاریخ‌ها از فرمت ISO 8601 استفاده کنید.

خطای تکراری بودن SKU یا Email

علت رایج: در ووکامرس SKU محصول و ایمیل مشتری معمولاً باید یکتا باشند.

  • قبل از Create از Get Many برای جستجو استفاده کنید.
  • اگر رکورد وجود داشت، Update انجام دهید.
  • برای محصولات از SKU استاندارد و یکتا استفاده کنید.

خطای Timeout یا کندی اجرا

علت رایج: تعداد زیاد درخواست‌ها، هاست ضعیف، افزونه‌های سنگین یا دریافت حجم زیاد داده.

  • از Limit استفاده کنید و همه داده‌ها را یکجا دریافت نکنید.
  • از Split In Batches برای پردازش دسته‌ای استفاده کنید.
  • بین درخواست‌ها نود Wait قرار دهید.
  • فقط فیلترهای لازم را اعمال کنید.

خطای مربوط به SSL

علت رایج: گواهی SSL سایت معتبر نیست یا به‌درستی نصب نشده است.

  • SSL سایت را با ابزارهای بررسی SSL تست کنید.
  • آدرس Store URL را با https وارد کنید.
  • مشکلات گواهی روی هاست را برطرف کنید.

ایده ها

  • سیستم امتیازدهی خودکار مشتریان: بعد از هر خرید، مبلغ سفارش بررسی شود و بر اساس آن امتیاز مشتری در CRM یا Google Sheets افزایش پیدا کند.
  • هشدار هوشمند موجودی: هر روز موجودی محصولات بررسی شود و اگر stock_quantity کمتر از مقدار مشخص بود، پیام تلگرام برای مدیر فروشگاه ارسال شود.
  • کوپن تولد مشتری: تاریخ تولد مشتریان از meta_data خوانده شود و در روز تولد، کوپن اختصاصی تخفیف ساخته و ایمیل شود.
  • داشبورد فروش لحظه‌ای: سفارش‌های جدید ووکامرس دریافت شوند و اطلاعات فروش، محصول و مشتری به Airtable یا Google Sheets برای ساخت داشبورد منتقل شود.
  • اتوماسیون پیگیری سفارش‌های پرداخت‌نشده: سفارش‌های pending یا on-hold شناسایی شوند و پیام یادآوری پرداخت از طریق ایمیل یا پیامک ارسال شود.

منابع و مستندات اصلی

دسته بندی: N8N برچسب ها:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بیست + بیست =