訂單自動化實戰:用 n8n 串接 WooCommerce,打造 24 小時不休息的「數位店長」

2026/01/2 | API 串接與自動化, N8N大補帖, WC 開發

告別手動噩夢:n8n 打造你的 WooCommerce 24H 數位店長

你是否厭倦了在深夜手動同步 WooCommerce 訂單到 ERP 或 Google Sheets?別再讓重複的機械勞動消耗你的工程魂!本文資深工程師 Eric 將帶你實戰最強大的開源自動化工具 n8n。透過 Webhook 技術,我們將實現零成本、高效率的 24 小時訂單自動同步系統,徹底解決高額的 Task 計費問題。立即掌握 Self-hosted n8n 的部署與 Webhook 設定技巧,並學會必備的資料安全驗證(HMAC),讓你的電商網站擁有一個 24 小時不休息的數位大腦,將寶貴時間投入到更有價值的業務決策上!

需要專業協助?

聯絡浪花專案團隊 →

訂單自動化實戰:用 n8n 串接 WooCommerce,打造 24 小時不休息的「數位店長」

嗨,我是 Eric,浪花科技的資深工程師。如果你跟我一樣,曾經在週五晚上正準備打開 Netflix 放鬆時,卻收到客戶的緊急訊息:「那個訂單資料怎麼還沒進 ERP?」或者是「剛剛那筆大單怎麼沒通知倉庫出貨?」那麼,這篇文章就是為你寫的。

在電商營運中,「n8n 與 WooCommerce 訂單同步」絕對是提升效率的神器。很多中小企業主(甚至是一些剛入行的工程師)還停留在「手動匯出 CSV」或是「花大錢買功能單一的外掛」的階段。坦白說,作為一個有點技術潔癖的工程師,看到這種重複性的機械勞動,我的強迫症就會發作。

今天這篇教學,我不談虛無縹緲的理論,直接帶你用目前最強大的開源自動化工具 n8n,實作一個「訂單自動同步系統」。我們會利用 Webhook 技術,讓 WooCommerce 一有新訂單,就立刻通知 n8n,並自動將資料拋轉到 Google Sheets、Slack 或是你的 CRM 系統中。

為什麼選擇 n8n 而不是 Zapier?

在進入實作之前,我得先發點牢騷。市面上有太多自動化工具(如 Zapier, Make),它們很好用,但對於高訂單量的 WooCommerce 網站來說,那個月費帳單真的會讓你懷疑人生。Zapier 是按 Task 收費的,如果你的網站一天有 500 筆訂單,每個訂單要跑 5 個步驟,一個月下來的費用足夠你買好幾台伺服器了。

選擇 n8n 的理由很簡單:

  • 節省成本:你可以選擇 Self-hosted(自架版),架在你原本的 VPS 上,幾乎零額外成本。
  • 節點式流程:視覺化的拉線設計,邏輯清晰,除錯方便(這對工程師來說太重要了)。
  • 資料隱私:資料在自己的伺服器上跑,不用擔心敏感的客戶個資外流給第三方平台。

前置作業:認識 WooCommerce REST API 與 Webhook

要達成「n8n 與 WooCommerce 訂單同步」,我們主要會用到兩個技術核心:

  1. REST API:讓 n8n 有權限「讀取」或「寫入」WooCommerce 的資料。
  2. Webhook:這是「主動通知」的機制。當訂單狀態改變(例如:從「處理中」變成「完成」),WooCommerce 會主動發送一個訊號給 n8n。

這比傳統的 Polling(每隔 5 分鐘去問一次網站有沒有新訂單)有效率太多了。想像一下,Polling 就像是你每分鐘打電話問餐廳「我的外送好了沒?」,而 Webhook 則是餐廳跟你說「做好了我會傳簡訊給你」。

步驟一:在 WooCommerce 取得 API 金鑰

首先,進入你的 WordPress 後台:

  • 前往 WooCommerce > 設定 > 進階 > REST API
  • 點擊「新增金鑰」。
  • 描述可以填寫「n8n Order Sync」。
  • 使用者選擇你的管理員帳號。
  • 權限建議設為「讀取/寫入」(雖然同步訂單主要是讀取,但如果你之後想從 n8n 更新訂單狀態,就需要寫入權限)。
  • 重要:產生後,請立刻複製「消費者金鑰 (Consumer Key)」和「消費者秘密 (Consumer Secret)」,因為離開頁面後就看不到了。

實戰教學:n8n 訂單同步工作流搭建

接下來進入重頭戲,打開你的 n8n 編輯器。

1. 設定 Webhook Trigger (觸發器)

在 n8n 中新增一個 Webhook 節點。

  • HTTP Method: POST
  • Path: wc-order-created (這可以自訂)
  • Authentication: None (WooCommerce 的 Webhook 驗證機制在 Header,我們先用簡單方式接收)

你會得到兩組 URL:Test URLProduction URL。先複製 Test URL

2. 在 WooCommerce 設定 Webhook

回到 WordPress 後台:

  • 前往 WooCommerce > 設定 > 進階 > Webhook
  • 點擊「新增 Webhook」。
  • 名稱:n8n New Order
  • 狀態:啟用
  • 主題:訂單已建立 (Order created)
  • 傳送網址:貼上剛剛從 n8n 複製的 Test URL
  • API 版本:WP REST API 整合 v3

儲存後,WooCommerce 會發送一個測試 Ping 到你的 n8n。這時候回到 n8n 點擊 “Listen for Test Event”,你應該會收到一筆測試資料。如果沒收到,請檢查防火牆設定(Cloudflare 常常是擋掉 Webhook 的元兇,工程師的痛啊!)。

3. 解析訂單資料 (JSON)

當真實訂單進來時,你會收到一長串 JSON 格式的資料。對於新手來說,這看起來很可怕,但裡面全是黃金。以下是我們最關心的幾個欄位:


{
  "id": 12345,
  "status": "processing",
  "total": "1500.00",
  "billing": {
    "first_name": "Eric",
    "last_name": "Chen",
    "email": "eric@roamer-tech.com",
    "phone": "0912345678"
  },
  "line_items": [
    {
      "name": "WordPress 高效能架設指南",
      "quantity": 1,
      "total": "1500.00"
    }
  ]
}

4. 資料處理與拋轉

接收到資料後,你通常需要整理格式。例如,將 first_namelast_name 合併為全名,或者處理日期格式。

在 n8n 中,你可以接上一個 Google Sheets 節點來儲存訂單,或是 LINE 節點來通知管理員。這裡我強烈建議加上一個 Try/Catch 的邏輯(在 n8n 裡可以使用 Error Trigger 或是 Split In Batches 的錯誤處理)。

工程師的碎念: 千萬不要相信 API 永遠是穩定的。網路會斷、Google API 會限流 (Rate Limit)、客戶填寫的電話號碼可能會包含奇怪的符號。做好錯誤處理,才不會讓你的自動化流程在半夜掛掉。

進階技巧:處理 WooCommerce 的 HMAC 簽章驗證

為了安全起見,你不希望隨便一個人拿著 Postman 往你的 Webhook URL 塞假訂單資料吧?WooCommerce 發送 Webhook 時,會在 Header 包含一個 x-wc-webhook-signature

在 n8n 中,你可以使用 Crypto 節點或是 Function 節點來驗證這個簽章。原理是將你的「Webhook Secret」與接收到的 Body 內容進行 HMAC-SHA256 運算,比對結果是否與 Header 中的簽章一致。這一步雖然麻煩,但在正式環境 (Production) 是絕對必須的。

常見的同步應用場景

完成了基礎的 n8n 與 WooCommerce 訂單同步 後,你可以延伸出無限可能:

  • 財務自動化:訂單完成後,自動觸發電子發票 API 開立發票。
  • 物流自動化:將收件人資料自動拋轉到黑貓或超商取貨系統的後台。
  • CRM 行銷:依據購買的商品(例如買了「貓砂」),自動將客戶加入 Mailchimp 的「養貓族群」標籤,一個月後自動寄送回購優惠券。

結語

自動化不僅僅是為了省時間,更是為了減少人為錯誤。透過 n8n 串接 WooCommerce,你正在為你的電商網站建立一個 24 小時不休息的數位大腦。

如果你在實作過程中遇到 Webhook 接收不到、JSON 解析錯誤,或是不知道如何設計更複雜的邏輯(例如處理退款流程),別擔心,這都是必經之路。技術是為了服務商業而存在的,別讓繁瑣的技術細節阻礙了你業務的成長。

常見問題 (FAQ)

Q1: n8n 是免費的嗎?

n8n 提供兩種版本:Cloud 版(付費)和 Self-hosted 版(自架)。如果你有自己的伺服器(如 VPS),可以免費安裝 Self-hosted 版本,功能幾乎完全一樣,非常適合工程師或有技術能力的團隊使用。

Q2: 為什麼我的 n8n 收不到 WooCommerce 的 Webhook?

常見原因有三點:1. 網站有安裝資安外掛(如 Wordfence)或 Cloudflare 防火牆擋住了 n8n 的請求。2. 本地開發環境(Localhost)無法被外部存取(需使用 Tunnel 工具)。3. Webhook 狀態未設為「啟用」。

Q3: 訂單同步失敗怎麼辦?會有紀錄嗎?

WooCommerce 後台的 Webhook 設定頁面有「記錄檔 (Logs)」,可以查看發送失敗的原因。而在 n8n 端,如果你開啟了 Execution Log,也可以查看每一次執行的詳細數據與錯誤訊息,建議在流程中加入錯誤通知機制(如傳送 LINE 給管理員)。

延伸閱讀

想要更深入了解如何將 WooCommerce 與自動化工具結合?這裡有幾篇我精選的實戰文章,強烈建議閱讀:

不想自己處理複雜的 API 串接與除錯?

浪花科技擁有豐富的 WooCommerce 開發與 n8n 自動化經驗。讓我們幫你打造專屬的自動化系統,你專心賺錢,技術難題交給我們!

立即聯繫浪花科技,諮詢自動化解決方案

 
立即諮詢,索取免費1年網站保固