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 常見錯誤排查。

最後更新: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 不只是「工程師拿來測試的東西」,它真正的價值是把 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 後台 → Settings → Permalinks
建議選:
Post nameDay and name- 其他非 Plain 的可讀網址格式
如果你的 permalink 還是 Plain,API endpoint 可能會出現奇怪的 404 或路由問題。
怎麼建立 WooCommerce REST API Key?
路徑是:
WooCommerce → Settings → Advanced → REST API
建立流程:
- 點
Add key或Create an API key - 填 Description,例如
Postman test、n8n product sync - 選擇要綁定的 WordPress User
- 選擇 Permissions
- 點
Generate API Key - 複製 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_xxxxxxxxxx 和 cs_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
處理順序:
- 重新複製 key
- 確認 key 權限是 Read 或 Read/Write
- 用 GET
/products測試 - 改用 query string auth 測一次
- 如果 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 | 需要批次同步、排程、錯誤重試 |
如果你是小電商,我會建議先做這三個流程:
- 每天同步庫存
- 新訂單通知到 LINE / Slack / Email
- 商品資料從 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 在哪裡申請?
到 WooCommerce → Settings → Advanced → REST API,點 Add key 或 Create 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 REST API merchant documentation
- WooCommerce Developer Docs: REST API v3
- WooCommerce Developer Docs: Authentication
需要我幫你把 WooCommerce API 串到 Notion、n8n 或內部系統,可預約:免費諮詢。
wp_id: 349 · 原 WP URL: https://lashiblog.zeabur.app/2025/11/08/woocommerce-api/


