WordPress · 2025.11.08 · 8 min read

WooCommerce API 教學:REST API Key 申請、Postman 測試與商品上架範例

WooCommerce API 怎麼用?這篇整理 REST API Key 申請路徑、Consumer Key / Consumer Secret 權限、Postman GET / POST 測試、新增商品 JSON 範例,以及 401、403、404、Permalink、SSL 常見錯誤排查。

WooCommerce API 教學:REST API Key 申請、Postman 測試與商品上架範例

最後更新:2026-05-20

先說結論:WooCommerce API 適合拿來做商品、訂單、庫存的自動化管理

如果你的 WooCommerce 商店只有 10 個商品,手動進後台改價格、庫存、商品描述還能忍。

但只要商品變多,或你開始接外部系統,後台手動操作很快會變成日常消耗。

WooCommerce REST API 的用途就是:讓外部工具可以用程式讀寫你的 WooCommerce 商店資料。

你可以用它做:

任務 WooCommerce API 可以怎麼用
商品上架 從 Google Sheet、Notion、ERP 批次建立商品
價格同步 每天固定更新價格、特價、庫存
訂單管理 把訂單同步到報表、客服系統或內部工具
自動化流程 用 n8n、Make、Claude Code 或自家腳本串接
Headless 電商 前台用 Next.js,後台仍用 WooCommerce 管商品與訂單

WooCommerce API 工作流資訊圖:外部工具透過 REST API Key 連到 WooCommerce,管理商品、訂單與庫存

這張圖的重點是:WooCommerce API 不只是「工程師拿來測試的東西」,它真正的價值是把 Postman、n8n、Notion 或內部系統接進商品、訂單與庫存流程。

如果你是第一次接觸 WooCommerce,建議先看支柱文建立全局:WooCommerce 完整教學

如果你還在評估平台,也可以先看 WooCommerce vs Shopify vs Shopline 比較。WooCommerce API 的強項是控制權高,但代價是你要懂權限、安全和錯誤排查。

WooCommerce REST API 是什麼?

WooCommerce REST API 是 WooCommerce 提供給開發者和外部系統使用的資料接口。

白話說,它讓你不用登入 WordPress 後台,也能透過 HTTP request 讀寫 WooCommerce 資料。

常用 endpoint 像這樣:

資源 Endpoint 範例 用途
商品 /wp-json/wc/v3/products 建立、查詢、更新商品
訂單 /wp-json/wc/v3/orders 查詢與更新訂單
顧客 /wp-json/wc/v3/customers 管理顧客資料
優惠券 /wp-json/wc/v3/coupons 建立與管理折扣碼
分類 /wp-json/wc/v3/products/categories 管理商品分類

WooCommerce 官方開發者文件目前把 /wp-json/wc/v3/ 列為現行建議版本。新串接就直接用 wc/v3,不要再從舊版 API 開始。

WooCommerce API 適合誰?

不是每個 WooCommerce 商店都需要 API。

我會這樣判斷:

情境 要不要用 API
商品很少、偶爾上架 不一定需要,後台手動就好
商品多、價格常變 很適合,用 API 批次更新
有外部庫存系統 幾乎一定會需要
要把 Notion 當商品上架表 適合 API 或 n8n 自動化
要做 Headless WooCommerce 需要懂 Store API / REST API 分工
只是想改結帳樣式 不一定是 API 問題,可能是主題或外掛

如果你的需求是「用 Notion 管商品、訂單、庫存」,可以接著看 用 Notion 管理 WooCommerce

使用 WooCommerce API 前,先檢查 Permalink

這一步很容易被忽略。

WooCommerce 官方文件提醒,產生 API keys 之前,先確認 WordPress 固定網址不是 Plain

路徑:

WordPress 後台SettingsPermalinks

建議選:

  • Post name
  • Day and name
  • 其他非 Plain 的可讀網址格式

如果你的 permalink 還是 Plain,API endpoint 可能會出現奇怪的 404 或路由問題。

怎麼建立 WooCommerce REST API Key?

路徑是:

WooCommerceSettingsAdvancedREST API

建立流程:

  1. Add keyCreate an API key
  2. 填 Description,例如 Postman testn8n product sync
  3. 選擇要綁定的 WordPress User
  4. 選擇 Permissions
  5. Generate API Key
  6. 複製 Consumer Key 和 Consumer Secret

權限建議:

權限 適合情境
Read 只查商品、訂單、報表
Write 只要建立或更新資料,較少單獨使用
Read/Write 測試與雙向同步最常見,但要小心保存

官方文件有一個很重要的提醒:Consumer Secret 只會顯示一次。

你離開頁面後就看不到完整 secret 了。如果遺失,不要到資料庫硬挖,直接 revoke 舊 key,重新產生一組。

Postman 怎麼測試 WooCommerce API?

我會先測 GET,再測 POST。

不要一開始就直接新增商品。先確認 API 路徑、權限和驗證都正常。

Step 1:測試 API 是否存在

先打這個網址:

https://你的網域/wp-json/wc/v3/

如果網站、SSL、REST API 路由正常,你會看到 API 回應,而不是 WordPress 404 頁面。

Step 2:用 GET 測試商品列表

Postman 設定:

欄位 設定
Method GET
URL https://你的網域/wp-json/wc/v3/products
Authorization Basic Auth
Username Consumer Key
Password Consumer Secret

如果成功,會回傳商品陣列。

Step 3:用 POST 新增商品

Postman 設定:

欄位 設定
Method POST
URL https://你的網域/wp-json/wc/v3/products
Authorization Basic Auth
Header Content-Type: application/json
Body raw JSON

Body 範例:

{
  "name": "API 測試商品",
  "type": "simple",
  "regular_price": "1000",
  "description": "這是透過 WooCommerce REST API 建立的商品。",
  "short_description": "Postman 測試用商品。",
  "sku": "api-test-001",
  "manage_stock": true,
  "stock_quantity": 10,
  "status": "draft"
}

我建議測試時先用 "status": "draft"

不要一開始就直接 publish。等欄位、圖片、分類、庫存都確定正確,再改成 publish。

成功時通常會拿到 201 Created,回應裡會有商品 ID。

用 cURL 測試 WooCommerce API

如果你不用 Postman,也可以用 cURL。

查詢商品:

curl https://example.com/wp-json/wc/v3/products \
  -u ck_xxxxxxxxxx:cs_xxxxxxxxxx

新增商品:

curl -X POST https://example.com/wp-json/wc/v3/products \
  -u ck_xxxxxxxxxx:cs_xxxxxxxxxx \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API 測試商品",
    "type": "simple",
    "regular_price": "1000",
    "status": "draft"
  }'

這裡的 ck_xxxxxxxxxxcs_xxxxxxxxxx 請換成你自己的 Consumer Key / Consumer Secret。

不要把真的 key 貼到前端、GitHub、公開文章或截圖裡。

Basic Auth、Query String Auth、OAuth 要怎麼選?

多數新手卡在這裡。

先用這張表判斷:

情境 建議方式
網站有 HTTPS Basic Auth:Consumer Key 當 username,Consumer Secret 當 password
主機沒有正確傳 Authorization header 可暫時測 query string auth
仍在 HTTP,沒有 HTTPS 不建議正式串接;官方文件提到 HTTP 情境需用 OAuth 1.0a
前端瀏覽器直接呼叫 不建議,secret 會外洩

官方文件也提到,有些伺服器不會正確解析 Authorization header。這時候你可能會看到類似 Consumer key is missing

測試時可以先用 query string 確認是不是 header 問題:

https://example.com/wp-json/wc/v3/products?consumer_key=ck_xxx&consumer_secret=cs_xxx

但這比較適合排錯,不適合當成長期正式做法。

常見錯誤排查

401 Unauthorized

常見原因:

  • Consumer Key / Secret 貼錯
  • key 被 revoke
  • Authorization 選錯
  • 綁定的 WordPress user 權限不足
  • 主機沒有把 Authorization header 傳給 PHP / WordPress

處理順序:

  1. 重新複製 key
  2. 確認 key 權限是 Read 或 Read/Write
  3. 用 GET /products 測試
  4. 改用 query string auth 測一次
  5. 如果 query string 成功,通常是主機或伺服器 header 問題

403 Forbidden

常見原因:

  • WordPress user 角色權限不足
  • 安全外掛、WAF、Cloudflare 擋掉 API
  • REST API 被外掛關閉
  • IP 被封鎖

如果你有裝安全外掛,先看外掛 log,不要只看 Postman 的錯誤畫面。

404 Not Found

常見原因:

  • endpoint 打錯
  • permalink 還是 Plain
  • WooCommerce 沒啟用
  • 網站被反向代理或 staging 路徑影響

先確認:

https://你的網域/wp-json/
https://你的網域/wp-json/wc/v3/

這兩個能不能正常回應。

商品新增成功,但欄位沒進去

常見原因:

  • JSON 欄位名稱打錯
  • 價格格式錯誤,regular_price 要用字串
  • 分類 ID 不存在
  • 自訂欄位不是 WooCommerce 原生欄位
  • 圖片 URL 無法被 WordPress 下載

先用最小 JSON 成功一次,再逐步加欄位。

不要一開始就把分類、圖片、variation、meta_data 全塞進去。錯了很難查。

WooCommerce API 可以接哪些自動化?

你可以從三種層級開始:

層級 做法 適合誰
手動測試 Postman / cURL 第一次確認 API 正常
低程式自動化 n8n / Make / Zapier 想把表單、表格、通知串起來
自製流程 Node.js / Python / Claude Code 需要批次同步、排程、錯誤重試

如果你是小電商,我會建議先做這三個流程:

  1. 每天同步庫存
  2. 新訂單通知到 LINE / Slack / Email
  3. 商品資料從 Notion 或 Google Sheet 批次上架

進階可以再看 WooCommerce × Notion × n8n 自動化,以及 用 Claude Code 自動化 WooCommerce

WooCommerce API 和 Shopify / Shopline API 差在哪?

簡單講:WooCommerce 比較自由,但維運責任也比較多。

比較項目 WooCommerce API Shopify / Shopline API
控制權 高,主機、資料庫、外掛都可控 受平台規則限制
開發彈性 高,可搭配 WordPress 生態 依平台 API 能力
維運責任 你要管主機、安全、快取、外掛衝突 平台分擔較多
適合誰 想長期掌握資料與架構的人 想快速開店、少管技術的人

如果你還在選平台,先看 WooCommerce vs Shopify vs Shopline。API 不是唯一判斷點,金流、物流、SEO、主機維護也要一起算。

安全注意事項

WooCommerce API key 等同於你的商店資料鑰匙。

最少要做到:

  • 不要放在前端 JavaScript
  • 不要 commit 到 GitHub
  • 不要貼在 Notion 公開頁
  • 用最小必要權限
  • 不用的 key 立刻 revoke
  • 每個外部系統用不同 key
  • 測試站和正式站分開 key
  • 有異常請求時先查 log

如果你要把 WooCommerce 搬到新主機或 Zeabur,API、金流、Email 都要重測。這篇可以一起看:WooCommerce 搬到 Zeabur 前要注意什麼

常見問題 FAQ

WooCommerce API 是免費的嗎?

WooCommerce REST API 是 WooCommerce 核心功能的一部分,不需要另外購買 API 外掛。但你的主機、SSL、外掛、開發與維護成本仍然要自己處理。

WooCommerce API Key 在哪裡申請?

WooCommerceSettingsAdvancedREST API,點 Add keyCreate an API key,選擇 WordPress user、description 和權限後產生 Consumer Key / Consumer Secret。

WooCommerce API 新手應該先測哪個 endpoint?

先測 GET /wp-json/wc/v3/products。確認 API 路徑、SSL、驗證、key 權限都正常後,再測 POST /wp-json/wc/v3/products 新增商品。

WooCommerce API 可以新增商品嗎?

可以。使用 POST /wp-json/wc/v3/products,Body 用 JSON 放入商品名稱、類型、價格、描述、庫存和狀態。測試時建議先設為 draft,確認後再 publish。

WooCommerce API 回傳 401 怎麼辦?

先檢查 Consumer Key / Consumer Secret 是否正確、key 是否被 revoke、權限是否足夠。若 Basic Auth 失敗,可用 query string auth 測試是否為伺服器沒有正確傳 Authorization header。

WooCommerce API 可以直接放在前端嗎?

不建議。Consumer Secret 放在前端會外洩。正式做法應該是由後端、serverless function、自動化平台或內部系統代為呼叫 WooCommerce API。

參考來源

資料最後查核日期:2026-05-20

需要我幫你把 WooCommerce API 串到 Notion、n8n 或內部系統,可預約:免費諮詢

#Postman 教學#WooCommerce API#WooCommerce REST API#WordPress API

wp_id: 349 · 原 WP URL: https://lashiblog.zeabur.app/2025/11/08/woocommerce-api/

Newsletter

喜歡這篇?

每週寄一封信。職業、財富、關係、自媒體,每次只切一塊。

More

相關文章

為什麼 WordPress 發信要改走 Zeabur Email API?比 SMTP 更穩的做法

WordPress 發信不該每個外掛各自設定 SMTP。這篇說明如何用 Zeabur Email API 與 mu-plugin 統一 wp_mail,讓表單、訂單、會員與系統通知更好維護。

WordPress 媒體檔該放哪?Zeabur Volume、uploads 與 Cloudflare R2 分工

WordPress 放在 Zeabur 時,媒體檔不該和主題、外掛、核心檔案混在一起。這篇整理 uploads、Zeabur Volume 與 Cloudflare R2 的分工與遷移順序。

WordPress on Zeabur 為什麼不要亂開頁面快取?Breeze 跳版案例解析

WordPress 部署到 Zeabur 後,如果啟用 Breeze 頁面快取,可能遇到 Elementor CSS 舊版快取、部署後跳版、advanced-cache.php 殘留等問題。這篇用實戰案例拆解原因、架構分工與安全設定方式。