~/blog/n8n-webhook-api-wordpress-automation-guide.md
API 串接與系統整合 · 2025 / 09 / 15

資料還在手動同步?n8n Webhook + API 整合術,讓你的 WordPress 數據流自動奔跑!

Eric — 浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
資料還在手動同步?n8n Webhook + API 整合術,讓你的 WordPress 數據流自動奔跑!
目錄 table-of-contents.md

Webhook 的概念簡單到不可思議:事件發生的瞬間,系統主動去敲另一個系統的門。WooCommerce 訂單成立、表單送出,這些時刻都能變成觸發點,讓 n8n 接手把資料同步進 HubSpot 和 Google Sheets——不漏單、不貼錯。手動同步的時代,真的可以結束了。

今天,我就要來根治這個「數位原始人」的通病。我們要聊的主角是 n8n,一個開源的自動化工作流神器。我們會深入探討如何利用 n8n Webhook + API 資料整合,打造一個全自動、零失誤的數據處理流程,讓你的 WordPress 網站和各種第三方服務無縫對話,徹底解放你的生產力。

為什麼你需要一個「數據中樞」?告別資料孤島的惡夢

在現代的數位營運中,我們的資料往往散落在各個角落:

  • WordPress/WooCommerce:儲存著網站內容、使用者資料和訂單紀錄。
  • CRM 系統 (如 HubSpot, Salesforce):管理客戶關係和銷售管道。
  • 電子郵件行銷工具 (如 Mailchimp):負責發送電子報和自動化行銷郵件。
  • 雲端試算表 (如 Google Sheets):用於快速的數據分析、報表製作或臨時紀錄。
  • 通訊軟體 (如 Slack, LINE):用於團隊內部通知或客戶溝通。

當這些系統各自為政,就形成了「資料孤島」。資訊無法自由流動,導致你需要耗費大量人力在系統之間搬運資料。這就是 n8n 這類自動化工具登場的時刻。它就像一個數據中樞站,能接收來自四面八方的訊號,經過處理後,再分送到正確的目的地。而 Webhook 和 API,就是實現這一切的關鍵技術。

Webhook 與 API:自動化工作流的左膀右臂

在我們動手實作之前,得先搞懂這兩個核心概念。很多剛接觸自動化的朋友會把這兩者搞混,其實它們的角色完全不同,但又相輔相成。

Webhook:你的應用程式專屬「門鈴」

你可以把 Webhook 想像成一個門鈴。當某个特定事件發生時(例如:WooCommerce 有一筆新訂單、使用者在 WordPress 註冊新帳號),你的網站就會去「按下」一個指定的門鈴(一個特定的 URL)。這個門鈴的另一端,就是我們的 n8n 工作流。

簡單來說,Webhook 是「事件驅動」的,它負責「通知」。它的溝通是單向的:從你的 WordPress 網站 -> n8n。它告訴 n8n:「嘿!有事情發生了,這是相關資料,你快處理一下!」

API (Application Programming Interface):你的數據「服務生」

如果 Webhook 是門鈴,那 API 就是一位訓練有素的服務生。你可以拿著菜單(API 文件),明確地告訴他你想要什麼(例如:我要查詢 HubSpot 裡某個 Email 的客戶資料、我要在 Google Sheets 新增一列數據)。服務生會去廚房(後端伺服器)幫你下單,然後把你要的菜(數據)端給你。

API 是「請求驅動」的,它負責「執行動作」或「查詢資料」。它可以是讀取、新增、修改或刪除數據。在我們的 n8n 工作流中,當 Webhook 觸發流程後,我們就會使用 API 節點去命令其他服務做事。

所以,整個 n8n Webhook + API 資料整合 的流程就是:Webhook (門鈴) 響起 -> n8n (大腦) 收到通知並開始處理 -> n8n 透過 API (服務生) 去命令其他系統做事。

實戰演練:打造「WooCommerce 新訂單自動同步」工作流

講了這麼多理論,是時候來點硬核的了。我們來打造一個經典且極度實用的場景:當 WooCommerce 有新訂單時,自動將客戶資料新增到 HubSpot,並在 Google Sheets 中記錄一筆訂單摘要。

步驟一:在 n8n 設定 Webhook 觸發器

1. 登入你的 n8n 儀表板,建立一個新的 Workflow。 2. 點擊「+」按鈕,搜尋並選擇「Webhook」節點。 3. n8n 會自動產生一個 Webhook URL。這裡有 Test URL 和 Production URL,開發時先用 Test URL。把它複製下來,這是我們網站的「門鈴地址」。 4. 點擊「Listen For Test Event」,讓 n8n 進入等待接收訊號的狀態。

囉嗦一下:千萬不要直接把 Production URL 用在測試階段,不然你的正式流程可能會被一堆測試資料搞得亂七八糟。工程師的血淚教訓啊!

步驟二:在 WooCommerce 設定 Webhook

1. 登入你的 WordPress 後台,前往「WooCommerce」>「設定」>「進階」>「Webhook」。 2. 點擊「新增 Webhook」。 3. 名稱:取個好記的名字,例如「n8n 新訂單通知」。 4. 狀態:設定為「啟用」。 5. 主題:選擇「訂單已建立 (Order created)」。 6. 傳送 URL:貼上剛剛從 n8n 複製的 Test URL。 7. 密鑰 (Secret):留空或產生一個密鑰,用於驗證請求來源(進階安全作法)。 8. API 版本:選擇最新的即可。 9. 儲存設定。

為了觸發這個 Webhook,現在去你的商店下一筆測試訂單。完成結帳後,切換回 n8n 的畫面,你會看到 Webhook 節點已經成功接收到資料了!你會看到一個完整的 JSON 物件,裡面包含了訂單的所有詳細資訊,從客戶姓名、Email 到購買的商品,應有盡有。

// 你在 n8n 中會看到的 WooCommerce Webhook 資料 (簡化範例)
{
  "body": {
    "id": 12345,
    "status": "processing",
    "currency": "TWD",
    "total": "1500.00",
    "billing": {
      "first_name": "Eric",
      "last_name": "浪花",
      "company": "浪花科技",
      "email": "eric@roamer-tech.com",
      "phone": "0912345678"
    },
    "line_items": [
      {
        "id": 54321,
        "name": "超強 WordPress 外掛",
        "quantity": 1,
        "total": "1500.00"
      }
    ]
  }
}

步驟三:串接 HubSpot API 新增聯絡人

1. 在 n8n 的 Webhook 節點後方點擊「+」,搜尋「HubSpot」節點。 2. Credentials:第一次使用需要授權 n8n 存取你的 HubSpot 帳號。 3. Resource:選擇「Contact」。 4. Operation:選擇「Create/Update」。 5. Contact Identifier:選擇「Email」。這很重要,HubSpot 會用 Email 來判斷是新增還是更新聯絡人。 6. Email:點擊旁邊的「運算式 (Expression)」圖示,從 Webhook 節點的輸出中拖曳 `body.billing.email` 這個欄位過來。 7. Add Field:新增「First Name」和「Last Name」,並同樣用運算式對應到 `body.billing.first_name` 和 `body.billing.last_name`。

步驟四:串接 Google Sheets API 新增訂單紀錄

1. 在 HubSpot 節點後方點擊「+」,搜尋「Google Sheets」節點。 2. Credentials:同樣,需要先授權 Google 帳號。 3. Resource:選擇「Sheet」。 4. Operation:選擇「Append or Update」。 5. Sheet ID:從你的 Google Sheets 網址中找到並貼上。 6. Range:填寫你的工作表名稱,例如「訂單紀錄」。 7. Columns > Mode:選擇「Map columns by header」。 8. Fields > Add Field:開始對應欄位。例如,你的 Google Sheets 有「訂單編號」、「客戶Email」、「總金額」這幾個欄位,就分別用運算式對應到 `body.id`, `body.billing.email`, `body.total`。

全部設定完成後,點擊「Execute Workflow」測試一次。你會看到綠色的勾勾一路亮到底,接著去你的 HubSpot 和 Google Sheets 檢查,全新的資料是不是已經乖乖躺在那裡了?恭喜你,你已經成功打造了一個全自動的 n8n Webhook + API 資料整合 流程!

進階思考:不只是複製貼上,更是流程優化

一個好的工程師,不會只滿足於「能動就好」。我們可以讓這個流程更聰明、更穩健:

  • 加入條件判斷 (IF Node):例如,只有金額超過 5000 元的訂單才需要同步到 Google Sheets 進行特別標記。
  • 資料格式化 (Code Node):有時候 API 需要的日期格式或文字格式跟你收到的不一樣,可以用 Code 節點寫一點點 JavaScript 來進行轉換。
  • 錯誤處理 (Error Trigger):如果 HubSpot API 突然掛了怎麼辦?可以設定一個錯誤觸發流程,自動發送一則 Slack 通知給團隊,告知「XXX 號訂單同步失敗,請手動處理」。
  • Webhook 安全驗證:在 WooCommerce 設定 Webhook 時產生的那個「密鑰」,可以在 n8n 的 Webhook 節點設定中進行驗證,確保只有你的網站可以觸發這個流程,防止惡意請求。

透過 n8n Webhook + API 資料整合,你不僅僅是省下了複製貼上的時間,更是重新設計了你的商業流程,讓數據在不同系統間暢行無阻,發揮它最大的價值。這才是自動化的真正意義所在。

如果你覺得這些設定太過複雜,或者你的業務流程有更獨特的需求,浪花科技的團隊非常樂意協助你。我們專精於打造客製化的 WordPress 解決方案與複雜的 API 串接,能幫你將這些繁瑣的流程轉化為高效的自動化系統。

相關閱讀

準備好讓你的數據流動起來了嗎?立即聯繫我們,讓浪花科技的專業工程師團隊為您打造專屬的自動化解決方案,把時間花在更重要的事情上!

// FAQ

常見問題

在 n8n 自動化中,Webhook 和 API 的角色有什麼不同?
Webhook 像門鈴,是事件驅動,負責在特定事件發生時單向通知 n8n 有事情發生並帶上資料。API 像服務生,是請求驅動,負責去其他系統執行動作或查詢資料,例如讀取、新增、修改或刪除。流程通常是 Webhook 觸發後,n8n 再透過 API 命令其他系統做事。
用 n8n 串接 WooCommerce Webhook 時,測試階段該用 Test URL 還是 Production URL?
開發測試階段應使用 n8n 提供的 Test URL,不要直接用 Production URL,否則正式流程可能被大量測試資料干擾。在 n8n Webhook 節點複製 Test URL 並點擊 Listen For Test Event,再貼到 WooCommerce 的傳送 URL 進行測試。
如何用 n8n 把 WooCommerce 新訂單自動同步到 HubSpot 和 Google Sheets?
在 n8n 建立 Webhook 觸發器接收 WooCommerce 的「訂單已建立」事件,接著加上 HubSpot 節點以 Email 作為識別、用 Create/Update 操作新增或更新聯絡人,再加上 Google Sheets 節點以 Append or Update 操作記錄訂單。各欄位透過運算式(Expression)對應 Webhook 輸出,如 body.billing.email、body.id、body.total。
在 HubSpot 節點中為什麼建議用 Email 作為聯絡人識別欄位?
因為 HubSpot 會用 Email 來判斷該筆資料是要新增還是更新既有聯絡人。在 n8n 的 HubSpot 節點選擇 Create/Update 操作並將 Contact Identifier 設為 Email,可避免重複建立同一位客戶。
n8n 自動化流程如何做得更聰明、更穩健?
可加入條件判斷(IF Node),例如只有金額超過特定門檻的訂單才同步並特別標記;也可使用 Code Node 撰寫少量 JavaScript 來轉換日期或文字格式,讓資料符合目標 API 的要求,而不只是停留在能動就好的階段。
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?