訂單一來就自動歸檔?n8n 聯手 WooCommerce 訂單同步,打造你的 24H 全自動電商大腦!

2025/09/15 | API 串接與自動化

訂單一來就自動歸檔?n8n 聯手 WooCommerce 訂單同步,打造你的 24H 全自動電商大腦!

嗨,我是浪花科技的資深工程師 Eric。經營電商的你,是不是常常覺得自己被訂單追著跑?一筆新訂單進來,你就要手動複製客戶資料到 Google Sheets、手動通知出貨部門、手動更新 CRM 系統… 訂單一多,複製貼上就變成了你的正職工作,不僅耗時,更容易出錯。今天,我就要來跟你分享一個解放你雙手的神兵利器:n8n 與 WooCommerce 訂單同步,讓你把這些繁瑣的流程,通通交給自動化機器人處理!

你可能會想:「自動化?聽起來就很複雜,要寫很多程式碼吧?」先別急著關掉頁面!n8n 是一個強大的低程式碼(Low-code)自動化平台,你可以把它想像成一個可以自己架設、功能更強大、更彈性的 Zapier。透過 n8n,我們可以串接 WooCommerce 的 Webhook,當有新訂單成立時,自動觸發一連串預設好的動作。這篇文章,我會手把手帶你從零開始,打造一個專屬於你的全自動訂單處理流程。

為什麼你需要自動化?解放生產力的第一步

在我們深入技術細節之前,讓我們先聊聊「為什麼」。身為一個工程師,我最討厭的就是重複性、沒有創造性的工作。而手動處理訂單,就是典型的例子。導入 n8n 與 WooCommerce 訂單同步 的好處,遠比你想像的還多:

  • 零失誤的人為操作: 機器人不會眼花、不會手抖,只要流程設定正確,每一筆訂單的處理都會精準無誤,告別複製貼上時的欄位錯置惡夢。
  • 7×24 小時全年無休: 客戶半夜三點下單?沒問題,自動化流程會立刻啟動,通知倉庫、記錄資料,完全不需要你從被窩裡爬起來。
  • 釋放寶貴的人力: 把團隊從繁瑣的行政工作中解放出來,讓他們專注在更有價值的事情上,例如客戶服務、行銷策略、產品開發。
  • 即時的數據同步: 訂單成立的瞬間,相關資料就能同步到你的庫存系統、會計軟體或數據分析儀表板,讓你隨時掌握最新的營運狀況。

說了這麼多,是不是已經讓你心癢癢了?別急,我們馬上就來動手實作!

實戰教學:打造 WooCommerce 到 n8n 的自動化橋樑

整個流程的核心概念很簡單:當 WooCommerce 有新訂單時,透過「Webhook」這個機制,主動發送一個通知(包含訂單資料)給 n8n。n8n 收到通知後,再根據我們設定的流程,去執行後續的動作。聽起來很像快遞員送包裹,對吧?

步驟一:在 WooCommerce 設定 Webhook (寄件人)

首先,我們要讓 WooCommerce 知道「新訂單來了,要通知誰」。

  1. 登入你的 WordPress 後台,前往 WooCommerce > 設定 > 進階 > Webhook
  2. 點擊「新增 Webhook」。
  3. 開始填寫欄位,這裡有幾個重點:
    • 名稱:取一個你好辨識的名字,例如「n8n New Order Sync」。
    • 狀態:設定為「啟用」。
    • 主題:這是觸發的時機,我們選擇「訂單已建立 (Order created)」。你也可以根據需求選擇「訂單狀態已變更」等等。
    • 傳送 URL:這個欄位先留空,我們要先到 n8n 去取得接收網址。
    • 密鑰 (Secret):這非常重要!它就像是你們之間的通關密語。點擊「產生」按鈕讓系統自動生成一組複雜的字串,並把它複製下來。待會我們會用到它來驗證收到的通知真的是 WooCommerce 送來的,而不是駭客偽造的。
  4. 先不要儲存,我們接著去設定 n8n。

步驟二:在 n8n 建立工作流 (收件人)

現在,我們要設定一個 n8n 工作流來接收 WooCommerce 的通知。

  1. 打開你的 n8n 儀表板,建立一個新的工作流 (Workflow)。
  2. 第一個節點,搜尋並選擇「Webhook」。
  3. 點進 Webhook 節點,你會在右側看到「Webhook URLs」。把「TEST」分頁下的 URL 複製起來。
  4. 回到剛剛的 WooCommerce Webhook 設定頁面,將這串 URL 貼到「傳送 URL」欄位,然後點擊「儲存 Webhook」。
  5. 回到 n8n,點擊「Listen for Test Event」按鈕。這時候 n8n 會進入等待狀態。
  6. 現在,到你的 WooCommerce 商店前台,下一筆測試訂單。完成結帳後,理論上 WooCommerce 就會發送一個 Webhook 通知。
  7. 如果一切順利,你會看到 n8n 的 Webhook 節點顯示成功接收到資料,並且可以看到完整的訂單 JSON 資料結構。恭喜你,自動化的橋樑已經搭起來了!

囉嗦一下,看到那一大包 JSON 資料先別慌。這就是訂單的所有細節,從客戶是誰、買了什麼商品、地址在哪、用了什麼付款方式,應有盡有。這就是我們自動化的原料,接下來的工作就是把這些原料加工成我們想要的樣子。

步驟三:加工訂單資料並串接其他服務

收到資料後,好戲才正要開始。這裡我舉兩個最常見的應用場景。

場景一:新訂單自動通知到 Slack

當有新訂單時,馬上通知團隊,讓大家振奮一下士氣!

  1. 在 n8n 的 Webhook 節點後方,點擊「+」號,新增一個「Slack」節點。
  2. 設定你的 Slack 憑證 (Credentials),授權 n8n 發送訊息。
  3. 在「Channel」欄位選擇你要發送訊息的頻道,例如 #sales。
  4. 在「Text」欄位,我們可以組合從 Webhook 收到的資料,打造客製化訊息。例如:
    🔥 新訂單來囉!
    訂單編號:{{$json["body"]["number"]}}
    客戶:{{$json["body"]["billing"]["first_name"]}} {{$json["body"]["billing"]["last_name"]}}
    總金額:{{$json["body"]["total"]}} 元
    趕快準備出貨吧!
  5. 啟用並儲存你的工作流。現在,只要有新訂單,你的 Slack 就會馬上跳出通知!

場景二:將訂單資料自動寫入 Google Sheets

告別手動複製貼上,讓每筆訂單自動歸檔。

  1. 在 Webhook 節點後方,新增一個「Google Sheets」節點。
  2. 同樣的,先設定 Google 憑證,並授權 n8n 存取你的 Google Sheets。
  3. 在「Operation」選擇「Append or Update Row」。
  4. 選擇你的試算表 (Spreadsheet ID) 和工作表名稱 (Sheet Name)。
  5. 在「Columns」區塊,你會看到你 Google Sheets 上的欄位名稱。這時候就是最神奇的「資料對應」環節了。點擊欄位旁邊的圖示,從 Webhook 節點的輸出中,把對應的資料拖曳過來。例如:
    • 訂單編號 -> {{$json["body"]["id"]}}
    • 客戶姓名 -> {{$json["body"]["billing"]["first_name"]}} {{$json["body"]["billing"]["last_name"]}}
    • 訂單金額 -> {{$json["body"]["total"]}}
    • 訂單日期 -> {{$json["body"]["date_created"]}}
  6. 啟用並儲存。從此以後,你的訂單紀錄表就會自動更新,再也不用擔心漏記或記錯了!

工程師的龜毛提醒:安全性與錯誤處理

身為一個資深工程師,我必須提醒你,讓系統「能動」只是第一步,「穩定又安全」才是我們的終極目標。在享受自動化便利的同時,千萬別忽略了以下幾點:

1. 驗證 Webhook 簽章

你的 Webhook URL 是公開的,任何人只要知道網址,都可以傳送假資料給你。為了防止這種情況,我們必須驗證這個請求真的是 WooCommerce 發出的。這就要用到我們第一步設定的「密鑰 (Secret)」。

在 n8n 中,我們可以在 Webhook 節點後方,加上一個「IF」節點或「Function」節點來做驗證。WooCommerce 會在 HTTP Headers 中帶上一個 `x-wc-webhook-signature` 的簽章。我們需要用同樣的密鑰和收到的 Request Body,以 `HMAC-SHA256` 演算法計算一次,比對看看簽章是否相符。

這段驗證邏輯稍微複雜,但非常重要。你可以新增一個 Function 節點,並使用類似下面的 JavaScript 程式碼來做驗證:

// 引入 Node.js 的 crypto 模組
const crypto = require('crypto');

// 從 Webhook Header 取得 WooCommerce 傳來的簽章
const receivedSignature = $request.headers['x-wc-webhook-signature'];
// 記得在 n8n 的環境變數中設定你的 Webhook Secret
const secret = process.env.WOOCOMMERCE_WEBHOOK_SECRET;

// 取得原始的 Request Body
const requestBody = $request.rawBody;

// 使用 HMAC-SHA256 演算法計算簽章
const calculatedSignature = crypto.createHmac('sha256', secret)
                                  .update(requestBody, 'utf8')
                                  .digest('base64');

// 比對簽章是否相符
if (receivedSignature !== calculatedSignature) {
  // 如果不相符,就拋出錯誤,中斷工作流
  throw new Error('Webhook signature mismatch!');
}

// 如果相符,就回傳收到的 JSON 資料,讓工作流繼續
return $json;

把這段邏輯加進去,你的自動化流程才算是真正固若金湯!

2. 處理失敗情況

如果今天 Google Sheets 剛好在維修,API 寫不進去怎麼辦?訂單資料就遺失了嗎?當然不行!n8n 內建了錯誤處理機制。你可以設定「Error Trigger」節點,當主流程發生錯誤時,自動觸發另一條備用流程,例如「寄一封 Email 通知管理員」、「把失敗的資料暫存到另一個地方等待重試」等等。確保任何意外情況下,你的寶貴訂單資料都不會憑空消失。

結論:自動化不是選項,而是未來

今天我們從觀念到實作,完整地走了一遍如何透過 n8n 與 WooCommerce 訂單同步 來打造自動化流程。從最簡單的 Slack 通知,到寫入 Google Sheets,再到工程師等級的安全性考量,你會發現,自動化的世界充滿了無限可能。

這篇文章只是個起點,你還可以串接更多服務,例如:

  • 將客戶資料同步到 HubSpot 或其他 CRM 系統。
  • 根據客戶購買的商品,自動將他們加入特定的電子郵件行銷名單。
  • 自動產生出貨單,並透過 API 傳送給物流公司。

記住,你花在設定自動化流程上的每一分鐘,都會在未來為你省下數小時、甚至數天的工作時間。不要再讓自己被困在重複的瑣事中,擁抱自動化,把時間和精力投入到真正能讓你的事業成長的地方吧!

如果你在設定過程中遇到任何問題,或是想打造更複雜、更客製化的企業級自動化流程,浪花科技的團隊擁有豐富的 API 串接與系統整合經驗。我們不只會幫你把流程「串起來」,更會從架構、安全性、與擴展性的角度,為你打造穩定可靠的自動化引擎。

準備好讓你的電商事業起飛了嗎?立即聯繫我們,讓專業的工程師團隊為您規劃專屬的自動化解決方案!

延伸閱讀

常見問題 (FAQ)

Q1: n8n 跟 Zapier 或 Make 有什麼不同?我該選哪個?

A1: Zapier 和 Make 是非常優秀的 SaaS 自動化工具,優點是開箱即用、介面友善。而 n8n 最大的不同在於它是「開源」且可以「自行架設 (Self-hosted)」。這代表著:1. 成本更低:你可以將 n8n 架設在自己的伺服器上,執行節點的費用遠低於 Zapier 的方案。 2. 彈性更高:沒有執行的次數上限,你可以完全掌控你的資料,並且可以透過程式碼(Function 節點)實現極度客製化的複雜邏輯。如果你的需求簡單、預算充足,Zapier 是個好選擇;但如果你追求更高的彈性、成本效益與資料自主權,n8n 絕對是你的首選。

Q2: 設定 Webhook 會不會拖慢我的網站速度?

A2: 這是個好問題!答案是:幾乎不會。WooCommerce 的 Webhook 是以「非同步 (Asynchronous)」方式執行的。也就是說,當訂單成立後,它會把「發送通知」這個任務丟到背景去處理,不會卡住使用者的結帳流程。使用者完成結帳的當下,網頁就已經載入完畢了,而 Webhook 的發送是在那之後才悄悄進行的。所以,你可以放心地使用它,不用擔心會影響網站效能或使用者體驗。

Q3: 如果我想串接的服務在 n8n 裡面沒有內建的節點怎麼辦?

A3: 這正是 n8n 強大的地方!即使沒有官方支援的整合節點,只要該服務有提供 API (Application Programming Interface),你幾乎都可以透過 n8n 的「HTTP Request」節點來串接。你可以用這個節點來手動發送 GET, POST, PUT 等請求,並客製化 Headers 和 Body 內容,來跟任何第三方服務的 API 進行溝通。這賦予了 n8n 近乎無限的串接可能性。

Q4: 我不是工程師,文章裡的程式碼看不懂,也能使用 n8n 嗎?

A4: 絕對可以!n8n 的核心理念就是「低程式碼」。文章中提到的程式碼是為了實現「簽章驗證」這個進階的安全性功能。對於絕大多數的應用場景,例如我們提到的串接 Slack 或 Google Sheets,你完全不需要寫任何一行程式碼,只需要透過拖拉、點選和設定,就能完成整個自動化流程。n8n 的視覺化介面非常直觀,即使沒有技術背景也能輕鬆上手。

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