n8n Thai
by n8n Thai

n8n x WooCommerce: เชื่อมต่อร้าน WordPress อัตโนมัติ

คู่มือเชื่อม n8n กับ WooCommerce REST API และ Webhook เพื่อจัดการออเดอร์, สต็อก, ลูกค้า และการแจ้งเตือนอัตโนมัติสำหรับร้านค้า WordPress

n8n x WooCommerce: เชื่อมต่อร้าน WordPress อัตโนมัติ

WooCommerce กับ n8n: ง่ายกว่าที่คิด

หนึ่งในข้อได้เปรียบของร้านค้าที่ใช้ WooCommerce บน WordPress คือ n8n มี WooCommerce node ในตัว ซึ่งแตกต่างจาก Shopee และ Lazada ที่ต้องใช้ HTTP Request node และสร้าง signature เอง WooCommerce node ใน n8n จัดการ authentication ให้อัตโนมัติ ทำให้ตั้ง Workflow ได้เร็วกว่ามาก

บทความนี้เป็นส่วนหนึ่งของคลัสเตอร์ Automation สำหรับร้านค้าออนไลน์ด้วย n8n

ข้อกำหนดเบื้องต้น

  • WordPress + WooCommerce ที่ติดตั้งและทำงานแล้ว
  • n8n instance (Cloud หรือ Self-host)
  • สิทธิ์ Admin บน WordPress เพื่อสร้าง API Key

ขั้นตอนที่ 1: สร้าง WooCommerce API Key

1.1 ใน WordPress Dashboard ไปที่ WooCommerce → Settings → Advanced → REST API

1.2 คลิก “Add Key” กรอกข้อมูล:

  • Description: เช่น “n8n Automation”
  • User: เลือก user ที่มีสิทธิ์ Admin
  • Permissions: เลือก “Read/Write”

1.3 คลิก “Generate API Key” — บันทึก Consumer Key และ Consumer Secret ทันที เพราะจะแสดงเพียงครั้งเดียว

ขั้นตอนที่ 2: ตั้งค่า WooCommerce Credential ใน n8n

2.1 ใน n8n ไปที่ Settings → Credentials → New → เลือก “WooCommerce API”

2.2 กรอกข้อมูล:

  • URL: URL ของ WordPress เช่น https://myshop.co.th
  • Consumer Key: จาก Step 1.3
  • Consumer Secret: จาก Step 1.3

2.3 คลิก “Test” เพื่อตรวจสอบว่า connect สำเร็จ

ขั้นตอนที่ 3: Workflow — ดึงและจัดการออเดอร์

Workflow 3.1: แจ้งเตือน LINE เมื่อมีออเดอร์ใหม่

วิธีที่ดีที่สุดสำหรับ WooCommerce คือการใช้ WooCommerce Webhook ซึ่ง trigger ได้ทันที

ตั้งค่า WooCommerce Webhook:

  1. ไปที่ WooCommerce → Settings → Advanced → Webhooks
  2. คลิก “Add Webhook”
  3. เลือก Topic: “Order created”
  4. ใส่ Delivery URL: URL ของ n8n Webhook node
  5. Secret: ใส่ค่า secret สำหรับ verify (optional แต่แนะนำ)

โครงสร้าง Workflow ใน n8n:

Webhook node (รับข้อมูล WooCommerce)
→ Set node (แปลงข้อมูลที่จำเป็น)
→ LINE Notify (แจ้งเตือน)
→ Google Sheets (บันทึก)

Workflow 3.2: ดึงออเดอร์แบบ Polling (ทางเลือก)

หากใช้ Webhook ไม่ได้ ใช้ WooCommerce node แทน:

Schedule Trigger (ทุก 15 นาที)
→ WooCommerce node
  - Resource: Order
  - Operation: Get All
  - Filters: status = processing, after = [timestamp]
→ IF node (มีออเดอร์?)
→ Loop Over Items
→ LINE Notify + Google Sheets

ขั้นตอนที่ 4: Workflow — จัดการสต็อกสินค้า

อ่านข้อมูลสต็อก

WooCommerce node
- Resource: Product
- Operation: Get
- Product ID: {{$json.product_id}}

Response จะมี field stock_quantity และ stock_status

อัปเดตสต็อก

WooCommerce node
- Resource: Product
- Operation: Update
- Product ID: {{$json.product_id}}
- Stock Quantity: {{$json.new_stock}}

สำหรับสินค้าที่มี Variation ต้องใช้ Resource: “Product Variation” แทน

ขั้นตอนที่ 5: Workflow — อัปเดตสถานะออเดอร์

เมื่อจัดส่งพัสดุแล้ว ต้องอัปเดตสถานะออเดอร์ใน WooCommerce

Webhook หรือ Schedule Trigger
→ HTTP Request (ดึง tracking จาก Kerry/Flash API)
→ WooCommerce node
  - Resource: Order
  - Operation: Update
  - Order ID: {{$json.order_id}}
  - Status: completed
  - Customer Note: "จัดส่งแล้ว เลข tracking: {{$json.tracking_number}}"
→ LINE Notify (แจ้งลูกค้า)

ดูรายละเอียดการแจ้ง tracking เพิ่มเติมที่ แจ้งสถานะพัสดุลูกค้าอัตโนมัติด้วย n8n

ขั้นตอนที่ 6: Workflow — ส่ง Email ยืนยันออเดอร์ Custom

WooCommerce ส่ง email ยืนยันในตัวอยู่แล้ว แต่หากต้องการ email ที่ custom มากขึ้นหรือส่งผ่าน provider อื่น

WooCommerce Webhook (order.created)
→ Set node (เตรียมข้อมูล email)
→ Gmail / SendGrid node
  - To: {{$json.billing.email}}
  - Subject: "ยืนยันออเดอร์ #{{$json.id}} - ร้าน [ชื่อร้าน]"
  - Body: HTML template พร้อมรายละเอียดออเดอร์

ข้อดีของ WooCommerce เหนือ Marketplace

เมื่อเทียบกับ Shopee และ Lazada, WooCommerce มีข้อได้เปรียบชัดเจน

  • n8n node สำเร็จรูป: ไม่ต้องเขียน signature เอง
  • Webhook ยืดหยุ่นกว่า: trigger ได้หลาย event และ filter ได้
  • ข้อมูลละเอียดกว่า: เข้าถึงข้อมูลลูกค้า, ประวัติการสั่งซื้อ, custom fields
  • Rate limit ไม่จำกัด: API อยู่บนเซิร์ฟเวอร์ของตัวเอง

ข้อควรระวัง

HTTPS บังคับ: WooCommerce REST API ต้องการ HTTPS ไม่รับ HTTP request

Webhook Secret: ควรตั้งค่า secret เสมอเพื่อยืนยันว่า request มาจาก WooCommerce จริง ใน n8n ใช้ Code node validate ด้วย crypto.createHmac('sha256', secret).update(body).digest('base64')

WooCommerce Version: Node ใน n8n รองรับ WooCommerce REST API v3 ขึ้นไป ตรวจสอบให้แน่ใจว่า WooCommerce เป็น version ล่าสุด

สรุป

WooCommerce เป็นตัวเลือกที่ integrate กับ n8n ได้ง่ายที่สุดในบรรดาแพลตฟอร์ม e-commerce ทั้งหมด เพราะมี node สำเร็จรูปและ Webhook ที่ยืดหยุ่น เริ่มต้นด้วยการตั้ง Webhook แจ้งเตือน LINE ก่อน แล้วค่อยต่อยอดไปจัดการสต็อกและ automation ขั้นสูง

อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co

Related posts