自定義 App 與 API 入門
當所有現成 App 都無法滿足你獨特的業務需求,下一步是使用 Shopify API 建立自定義解決方案。這章是概念入門,幫你理解能做什麼,以及什麼時候值得投入。
Shopify API 生態
管理你的店鋪數據] SHOPIFY_API --> STOREFRONT_API[Storefront API
前端自定義體驗] SHOPIFY_API --> PARTNER_API[Partner API
管理多個店鋪] ADMIN_API --> A1[讀寫訂單/商品/客戶數據] ADMIN_API --> A2[觸發 Flow 工作流] ADMIN_API --> A3[管理折扣和定價] STOREFRONT_API --> S1[自定義前端(Headless Commerce)] STOREFRONT_API --> S2[Next.js / React 前端] STOREFRONT_API --> S3[手機 App]
私有 App vs 自定義 App
| 類型 | 說明 | 適合 |
|---|---|---|
| 私有 App(Custom App) | 只為你的店鋪使用,不會上架 App Store | 內部工具、自動化腳本 |
| 公開 App(Public App) | 可以安裝到任何 Shopify 店鋪 | 你想創業賣給其他賣家 |
| Sales Channel App | 建立新的銷售渠道 | 平台整合、POS 系統 |
對於大多數賣家,Custom App 就足夠了。
建立第一個自定義 App
前提:你需要什麼技術
- 基礎的 REST API 概念(知道 GET/POST 請求是什麼)
- 基礎的任何後端語言(Python / Node.js / PHP 均可)
- 或者:使用 Zapier / Make.com 作為橋接(無需寫代碼)
步驟一:創建 Custom App
路徑: 設置 → 應用程序和銷售渠道 → 開發 Apps → 建立應用程序
- 填入 App 名稱
- 選擇「Admin API 存取」
- 選擇你需要的權限(例如:讀取訂單、寫入客戶標籤)
- 安裝 App → 獲得 API 訪問令牌(Access Token)
步驟二:測試 API 連接
使用工具(Postman 或 curl)測試:
# 獲取最近 10 個訂單
curl -X GET \
"https://your-store.myshopify.com/admin/api/2024-01/orders.json?limit=10" \
-H "X-Shopify-Access-Token: your_access_token"
常用 API 使用場景
場景一:批量更新商品價格
需求: 想對 100 個商品批量漲價 10%,手動一個個改要幾個小時。
API 解法(Python 偽代碼):
# 1. 獲取所有商品
products = shopify.get('/products.json')
# 2. 對每個商品計算新價格
for product in products:
for variant in product['variants']:
new_price = float(variant['price']) * 1.10
# 3. 更新價格
shopify.put(f'/variants/{variant["id"]}.json',
{'price': str(new_price)})
場景二:自動同步庫存到第三方 ERP
需求: 你使用自己的 ERP 系統管理庫存,需要每小時同步到 Shopify。
API 解法:
每小時:
1. ERP 系統生成庫存 CSV
2. 腳本讀取 CSV
3. 對每個 SKU 調用 Shopify Inventory API 更新庫存
場景三:自動生成折扣碼
需求: 給 1000 個客戶發送個性化折扣碼,每個不同。
API 解法:
# 1. 獲取客戶清單
customers = shopify.get('/customers.json')
# 2. 為每個客戶生成唯一折扣碼
for customer in customers:
code = f"VIP-{customer['id']}"
# 3. 創建折扣碼
shopify.post('/price_rules/xxx/discount_codes.json',
{'code': code})
# 4. 發送個性化 Email
send_email(customer['email'], code)
Webhooks:讓 Shopify 主動通知你的系統
Webhooks 是反向 API——Shopify 在事件發生時主動通知你,而不是你去輪詢 Shopify。
常用 Webhook 事件
| 事件 | 觸發時機 |
|---|---|
orders/create | 新訂單創建時 |
orders/fulfilled | 訂單發貨時 |
customers/create | 新客戶注冊時 |
inventory_levels/update | 庫存更新時 |
refunds/create | 退款創建時 |
設置 Webhook
路徑: 設置 → 通知 → 最底部「Webhooks」→ 新增 Webhook
填入: - 事件類型(從列表選擇) - 接收 URL(你自己的服務器或 Zapier Webhook URL) - 格式(JSON)
無代碼的 API 橋接:Make.com
如果不想寫代碼,Make.com(原 Integromat)提供可視化的 API 連接工具,支持 Shopify。
費用: 免費(1,000 次操作/月)/ $9/月起
可以做什麼: - 新訂單 → 自動寫入 Google Sheets - 新客戶 → 自動添加到 CRM(HubSpot / Salesforce) - 低庫存 → 自動發送 WhatsApp 通知 - 訂單完成 → 自動創建 PDF 發票
什麼時候值得投入自定義開發
| 需求 | 成本 | 建議 |
|---|---|---|
| 簡單自動化(庫存通知等) | 低 | 用 Flow + Zapier/Make |
| 批量數據操作(一次性) | 中 | 請自由工作者(Upwork) |
| 持續整合(ERP/WMS同步) | 高 | 雇用開發人員或購買現成 App |
| 完全自定義前端(Headless) | 很高 | 只在月銷售額 > $1M 時考慮 |
原則: 在問「能不能做」之前,先問「現有 App 是否已解決?成本對比如何?」
本章執行清單
- [ ] 識別你現在有哪些手動、重複的操作可能可以用 API 自動化
- [ ] 嘗試在 Make.com 建立一個簡單的 Shopify → Google Sheets 自動化
- [ ] 如果有複雜需求,評估現成 App 和自定義開發的成本對比
- [ ] 了解 Shopify Admin API 文檔(developers.shopify.com)
下一章:高轉換 Checkout 優化——讓更多進入結帳頁的人完成付款。