Branch8

WhatsApp Business API 香港電商自動化設定教學:完整實作指南

Matt Li
July 9, 2026
12 mins read
WhatsApp Business API 香港電商自動化設定教學:完整實作指南

Key Takeaways

  • WhatsApp Business API 支援多人登入、程式化發送及 CRM 串接
  • 模板訊息需經 Meta 審核,建議同時建立中英文版本
  • 購物車挽回自動化可將挽回率提升至 Email 的三倍
  • 新帳號每日發送上限 250 則,隨品質評分自動升級
  • 結合 LLM 可實現 24/7 智能客服且無需大幅增加人力

透過 WhatsApp Business API 結合自動化工具,香港及亞太區電商可以在不大幅增加人力的情況下,實現訂單通知、客服回覆、購物車挽回等自動化流程。本教學將從申請帳號到部署自動化 Flow,逐步帶你完成整個設定過程。

為什麼香港電商需要 WhatsApp Business API?

根據 Meta 官方數據,WhatsApp 在香港的滲透率超過 85%,幾乎是每位智能手機用戶的必裝 App。對電商而言,這代表你的客戶已經在 WhatsApp 上了——問題只在於你是否能有效觸及他們。

普通 WhatsApp Business App 有明顯限制:僅支援單一裝置登入、無法串接 CRM 或電商平台、無法自動發送模板訊息。WhatsApp Business API(現稱為 WhatsApp Business Platform)則打破這些限制,支援多人同時使用、程式化發送訊息、Webhook 事件回調等企業級功能。

根據 Juniper Research 的報告,2025 年全球透過即時通訊平台完成的電商交易額將超過 2,900 億美元。香港作為亞太跨境電商的重要節點,率先佈局 WhatsApp 自動化的商家正在搶佔先機。

開始之前:先決條件清單

在動手設定之前,請確認你已備齊以下項目:

帳號與業務需求

  1. Meta Business Suite 帳號——已完成企業驗證(Business Verification)
  2. Meta 開發者帳號——在 developers.facebook.com 建立應用程式
  3. 一組未綁定任何 WhatsApp 帳號的電話號碼——建議使用獨立商業號碼
  4. SSL 憑證的伺服器或 Webhook 接收端點——用於接收訊息回調
  5. 電商平台管理權限——Shopify、WooCommerce 或自建系統的 API 存取權

技術環境

  • Node.js 18+ 或 Python 3.10+(本教學以 Node.js 為主要範例)
  • ngrok 或類似工具(開發階段測試 Webhook)
  • Git 版本控制
  • 一個可部署的雲端環境(AWS、GCP 或 Railway 等)

Ready to Transform Your Ecommerce Operations?

Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.

第一步:建立 Meta 應用程式與 WhatsApp 產品

在 Meta Developer Portal 建立應用

  1. 登入 developers.facebook.com
  2. 點選「建立應用程式」,選擇「Business」類型
  3. 填寫應用名稱(例如:MyStore-WhatsApp-HK),選擇你的 Business Portfolio
  4. 在應用 Dashboard 中,找到「Add Products」區塊,點選 WhatsApp 的「Set Up」

設定電話號碼

在 WhatsApp > Getting Started 頁面,Meta 會提供一組測試號碼。正式環境中你需要:

  1. 點選「Add phone number」
  2. 輸入你的商業電話號碼(支援香港 +852 號碼)
  3. 透過 SMS 或語音通話完成驗證
  4. 設定顯示名稱(需符合 Meta 的命名政策,審核通常需要 24-48 小時)

完成後,你會在 Dashboard 看到以下資訊:

  • Phone Number ID
  • WhatsApp Business Account ID
  • Temporary Access Token(有效期 24 小時,正式環境需產生永久 Token)

產生永久存取權杖

臨時 Token 僅供測試,正式環境請透過 System User 產生永久 Token:

  1. 前往 Business Settings > System Users
  2. 建立新的 System User,角色選擇「Admin」
  3. 為該 System User 指派你的 WhatsApp 應用程式的存取權限
  4. 產生 Token,勾選 whatsapp_business_managementwhatsapp_business_messaging 權限
1# 驗證 Token 是否有效
2curl -X GET "https://graph.facebook.com/v21.0/YOUR_PHONE_NUMBER_ID" \
3 -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

預期輸出: CODEBLOCK_MARKER_1

第二步:設定 Webhook 接收客戶訊息

WhatsApp Business API 採用 Webhook 機制——當客戶發送訊息時,Meta 會將事件推送到你指定的端點。

建立 Webhook 伺服器

1// webhook-server.js
2import express from 'express';
3const app = express();
4app.use(express.json());
5
6const VERIFY_TOKEN = process.env.WA_VERIFY_TOKEN || 'my-secret-token';
7
8// Webhook 驗證端點(Meta 會在設定時發送 GET 請求驗證)
9app.get('/webhook', (req, res) => {
10 const mode = req.query['hub.mode'];
11 const token = req.query['hub.verify_token'];
12 const challenge = req.query['hub.challenge'];
13
14 if (mode === 'subscribe' && token === VERIFY_TOKEN) {
15 console.log('Webhook verified successfully');
16 return res.status(200).send(challenge);
17 }
18 return res.sendStatus(403);
19});
20
21// 接收訊息的 POST 端點
22app.post('/webhook', (req, res) => {
23 const body = req.body;
24
25 if (body.object === 'whatsapp_business_account') {
26 body.entry?.forEach(entry => {
27 entry.changes?.forEach(change => {
28 if (change.field === 'messages') {
29 const message = change.value.messages?.[0];
30 if (message) {
31 console.log(`收到訊息: ${message.text?.body}`);
32 console.log(`來自: ${message.from}`);
33 // 在此處觸發自動化邏輯
34 }
35 }
36 });
37 });
38 return res.sendStatus(200);
39 }
40 return res.sendStatus(404);
41});
42
43app.listen(3000, () => console.log('Webhook server running on port 3000'));

在 Meta Developer Portal 註冊 Webhook

  1. 在應用 Dashboard 的 WhatsApp > Configuration 頁面
  2. 在 Webhook 區塊點選「Edit」
  3. 填入你的 Callback URL(例如 https://your-domain.com/webhook
  4. 填入你的 Verify Token
  5. 訂閱 messages 事件

開發階段可使用 ngrok 建立臨時公開端點:

1ngrok http 3000
2# 輸出類似:Forwarding https://abc123.ngrok.io -> http://localhost:3000

Ready to Transform Your Ecommerce Operations?

Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.

第三步:建立訊息模板(Message Templates)

WhatsApp Business API 要求企業主動發送的訊息(即非 24 小時對話窗口內的回覆)必須使用預先審核的模板。

模板設計原則

  • 每個模板需要提交 Meta 審核,通常 24 小時內完成
  • 模板支援多語言版本(建議同時建立繁體中文和英文版本,覆蓋香港雙語用戶)
  • 可包含動態變數,例如客戶名稱、訂單編號
  • 支援按鈕(Call-to-Action 或 Quick Reply)

透過 API 建立模板

1curl -X POST "https://graph.facebook.com/v21.0/YOUR_WABA_ID/message_templates" \
2 -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "name": "order_confirmation_hk",
6 "language": "zh_HK",
7 "category": "UTILITY",
8 "components": [
9 {
10 "type": "HEADER",
11 "format": "TEXT",
12 "text": "訂單確認 ✅"
13 },
14 {
15 "type": "BODY",
16 "text": "{{1}} 你好!你的訂單 #{{2}} 已確認。\n\n總金額:HK${{3}}\n預計送達:{{4}}\n\n如有疑問,請直接回覆此訊息。",
17 "example": {
18 "body_text": [["陳小姐", "HK20250115001", "399", "1月17日"]]
19 }
20 },
21 {
22 "type": "FOOTER",
23 "text": "MyStore Hong Kong"
24 },
25 {
26 "type": "BUTTONS",
27 "buttons": [
28 {
29 "type": "URL",
30 "text": "查看訂單",
31 "url": "https://mystore.hk/orders/{{1}}",
32 "example": ["HK20250115001"]
33 }
34 ]
35 }
36 ]
37 }'

預期輸出: CODEBLOCK_MARKER_5

常用電商模板建議:

  • order_confirmation_hk — 訂單確認通知
  • shipping_update_hk — 物流狀態更新
  • cart_reminder_hk — 購物車挽回提醒(Category 需選擇 MARKETING)
  • payment_receipt_hk — 付款收據

第四步:串接電商平台實現自動觸發

這一步是整個自動化的核心——當電商平台上發生特定事件時,自動透過 WhatsApp 發送對應訊息。

Shopify Webhook 串接範例

以 Shopify 訂單建立事件為例:

1// shopify-to-whatsapp.js
2import express from 'express';
3import crypto from 'crypto';
4
5const SHOPIFY_WEBHOOK_SECRET = process.env.SHOPIFY_WEBHOOK_SECRET;
6const WA_ACCESS_TOKEN = process.env.WA_ACCESS_TOKEN;
7const WA_PHONE_NUMBER_ID = process.env.WA_PHONE_NUMBER_ID;
8
9const app = express();
10app.use(express.json({ verify: (req, res, buf) => { req.rawBody = buf; } }));
11
12// 驗證 Shopify Webhook 簽名
13function verifyShopifyWebhook(req) {
14 const hmac = req.headers['x-shopify-hmac-sha256'];
15 const hash = crypto
16 .createHmac('sha256', SHOPIFY_WEBHOOK_SECRET)
17 .update(req.rawBody)
18 .digest('base64');
19 return hmac === hash;
20}
21
22// 發送 WhatsApp 模板訊息
23async function sendWhatsAppTemplate(phone, templateName, parameters) {
24 const response = await fetch(
25 `https://graph.facebook.com/v21.0/${WA_PHONE_NUMBER_ID}/messages`,
26 {
27 method: 'POST',
28 headers: {
29 'Authorization': `Bearer ${WA_ACCESS_TOKEN}`,
30 'Content-Type': 'application/json'
31 },
32 body: JSON.stringify({
33 messaging_product: 'whatsapp',
34 to: phone,
35 type: 'template',
36 template: {
37 name: templateName,
38 language: { code: 'zh_HK' },
39 components: [
40 {
41 type: 'body',
42 parameters: parameters.map(p => ({ type: 'text', text: p }))
43 }
44 ]
45 }
46 })
47 }
48 );
49 return response.json();
50}
51
52app.post('/shopify/orders/create', async (req, res) => {
53 if (!verifyShopifyWebhook(req)) {
54 return res.sendStatus(401);
55 }
56
57 const order = req.body;
58 const phone = order.phone?.replace(/[^0-9]/g, '');
59
60 if (!phone) {
61 console.log('訂單無電話號碼,跳過 WhatsApp 通知');
62 return res.sendStatus(200);
63 }
64
65 // 格式化為國際號碼(香港號碼加 852 前綴)
66 const intlPhone = phone.startsWith('852') ? phone : `852${phone}`;
67
68 try {
69 const result = await sendWhatsAppTemplate(
70 intlPhone,
71 'order_confirmation_hk',
72 [
73 order.customer?.first_name || '顧客',
74 order.name,
75 order.total_price,
76 '2-3 個工作天'
77 ]
78 );
79 console.log('WhatsApp 訊息已發送:', result);
80 } catch (err) {
81 console.error('發送失敗:', err);
82 }
83
84 return res.sendStatus(200);
85});
86
87app.listen(4000, () => console.log('Shopify webhook handler on port 4000'));

使用 n8n 或 Make 的低程式碼方案

如果你的團隊不熟悉程式開發,可以使用 n8n(自架)或 Make(前身 Integromat)作為中間層:

n8n 工作流程設定:

  1. 觸發節點:Shopify Trigger → 監聽 orders/create 事件
  2. 資料處理節點:Function Node → 格式化電話號碼與模板變數
  3. 發送節點:HTTP Request Node → 呼叫 WhatsApp Cloud API

這種方式的優勢在於視覺化編輯、無需維護伺服器程式碼,且 n8n 可自架在你自己的基礎設施上,符合資料主權要求。根據 n8n 官方文件,其開源版本支援無限工作流程執行。

Ready to Transform Your Ecommerce Operations?

Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.

購物車挽回自動化:提升轉換率的關鍵流程

根據 Baymard Institute 的研究,全球電商平均購物車放棄率約為 70.19%。透過 WhatsApp 自動發送購物車提醒,可以有效挽回部分流失訂單。

實作邏輯

  1. 客戶在電商網站加入購物車但未結帳
  2. 系統等待 1 小時(避免過早打擾)
  3. 檢查客戶是否已完成結帳(避免重複發送)
  4. 若未結帳,透過 WhatsApp 發送購物車提醒模板
1// cart-abandonment.js
2import { setTimeout } from 'timers/promises';
3
4async function handleCartAbandonment(cartData) {
5 // 等待 1 小時
6 await setTimeout(3600000);
7
8 // 檢查訂單是否已完成
9 const orderCompleted = await checkOrderStatus(cartData.checkoutId);
10 if (orderCompleted) {
11 console.log('客戶已完成結帳,無需提醒');
12 return;
13 }
14
15 // 發送購物車提醒
16 await sendWhatsAppTemplate(
17 cartData.phone,
18 'cart_reminder_hk',
19 [
20 cartData.customerName,
21 cartData.itemSummary,
22 `HK$${cartData.totalAmount}`
23 ]
24 );
25}

注意: 購物車挽回模板屬於 MARKETING 類別,根據 Meta 的定價政策,在香港每則 Marketing 對話的費用約為 USD $0.0732(截至 2025 年 Meta 定價頁面公佈的費率)。請預先估算 ROI 再決定發送量。

多語言與跨市場部署策略

香港電商若同時服務台灣、新加坡、馬來西亞等市場,需要考量以下面向:

號碼策略

  • 單一號碼 + 多語言模板:適合品牌一致性需求高的企業
  • 各市場獨立號碼:適合需要在地化客服的場景(例如 +852 香港、+65 新加坡、+886 台灣)

語言偵測與路由

1function detectLanguage(phoneNumber) {
2 const prefix = phoneNumber.substring(0, 3);
3 const langMap = {
4 '852': 'zh_HK',
5 '886': 'zh_TW',
6 '65': 'en',
7 '60': 'en',
8 '61': 'en'
9 };
10 return langMap[prefix] || langMap[phoneNumber.substring(0, 2)] || 'en';
11}

當我們的團隊為一家香港美容電商品牌部署跨市場 WhatsApp 自動化時,從規劃到上線花了約 6 週。該品牌使用 Shopify Plus 搭配 n8n 自架工作流程,覆蓋香港、台灣和新加坡三個市場。上線後第一個月,購物車挽回率從 Email 的 4.2% 提升至 WhatsApp 的 11.8%,客服首次回應時間從平均 4 小時縮短至 15 分鐘以內(非營業時間由自動化 Flow 處理常見問題)。這個案例印證了 WhatsApp 在亞太市場的高開啟率優勢——根據 MessageBird 的數據,WhatsApp 訊息的平均開啟率高達 98%,遠超 Email 的 20% 左右。

Ready to Transform Your Ecommerce Operations?

Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.

常見問題排查與除錯技巧

Webhook 收不到訊息

  • 確認伺服器回傳 200 狀態碼的時間在 20 秒以內——Meta 超時後會重試,連續失敗會停用 Webhook
  • 檢查 Meta Developer Portal 的 Webhook 健康狀態頁面
  • 使用 curl 手動測試端點是否可存取
1# 測試 Webhook 端點是否正常
2curl -X GET "https://your-domain.com/webhook?hub.mode=subscribe&hub.verify_token=my-secret-token&hub.challenge=test123"
3# 預期輸出: test123

模板審核被拒

  • 避免使用全大寫字母或過多表情符號
  • MARKETING 類別的模板不可偽裝成 UTILITY
  • 變數不可佔據模板的主要內容(Meta 要求模板有明確的固定文字框架)
  • 被拒後可修改後重新提交,無需建立新模板

訊息發送失敗 Error 131026

這通常表示用戶尚未同意接收你的訊息。WhatsApp 要求企業取得用戶的 opt-in 同意——可在結帳頁面加入勾選框,或透過 WhatsApp 本身的 Click-to-Chat 廣告取得同意。

頻率限制

新帳號的訊息發送量限制通常為每 24 小時 250 則。隨著帳號品質評分提升,Meta 會自動升級到 1,000、10,000、100,000 等級別。根據 Meta 官方文件,品質評分基於用戶封鎖率和舉報率計算。

安全性與合規注意事項

香港個人資料(私隱)條例

根據香港個人資料私隱專員公署的指引,電商透過 WhatsApp 發送行銷訊息前,必須:

  1. 取得用戶明確同意(opt-in)
  2. 提供清晰的退出機制(opt-out)
  3. 說明個人資料的使用目的

API 金鑰安全

  • 絕對不要將 Access Token 寫在前端程式碼中
  • 使用環境變數管理敏感資訊
  • 定期輪換 Token
  • 建議使用 Secret Manager 服務(如 AWS Secrets Manager 或 GCP Secret Manager)
1# 正確做法:使用環境變數
2export WA_ACCESS_TOKEN="your-token-here"
3export WA_PHONE_NUMBER_ID="your-phone-id"
4
5# 錯誤做法:硬編碼在程式中(永遠不要這樣做)
6# const token = "EAABx1234...";

Ready to Transform Your Ecommerce Operations?

Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.

進階:結合 AI 實現智能客服回覆

在 24 小時對話窗口內,你可以發送非模板的自由格式訊息。結合 LLM(如 OpenAI GPT-4o 或 Anthropic Claude)可實現智能客服:

1async function handleIncomingMessage(message, senderPhone) {
2 // 1. 查詢客戶歷史訂單
3 const customerOrders = await getOrdersByPhone(senderPhone);
4
5 // 2. 構建 LLM 提示
6 const systemPrompt = `你是 MyStore 的客服助手。
7以下是客戶的訂單記錄:${JSON.stringify(customerOrders)}
8用繁體中文回覆,語氣友善專業。
9如果無法回答,告知客戶將轉接真人客服。`;
10
11 // 3. 呼叫 LLM API
12 const aiResponse = await callLLM(systemPrompt, message.text.body);
13
14 // 4. 透過 WhatsApp 回覆
15 await sendFreeformMessage(senderPhone, aiResponse);
16}

這種 AI 增強的方式讓小型電商團隊能夠在不增加大量客服人力的情況下,提供近乎即時的 24/7 回應。但請務必設定明確的降級機制——當 AI 信心不足或遇到敏感問題(如退款、投訴)時,自動轉接真人客服。


如果你正在規劃 WhatsApp Business API 的電商自動化部署,或需要跨亞太市場的整合方案,Branch8 的香港團隊具備從 API 串接、自動化工作流程設計到多市場上線的完整實施經驗。歡迎到 branch8.com 聯繫我們,讓我們協助你規劃最適合你業務規模的方案。

Sources

FAQ

Meta 的企業驗證(Business Verification)通常需要 2-7 個工作天。通過驗證後,設定 WhatsApp 產品和電話號碼只需幾個小時。首次模板審核通常在 24 小時內完成,整個流程順利的話約 1-2 週可以上線。

About the Author

Matt Li

Co-Founder & CEO, Branch8 & Second Talent

Matt Li is Co-Founder and CEO of Branch8, a Y Combinator-backed (S15) Adobe Solution Partner and e-commerce consultancy headquartered in Hong Kong, and Co-Founder of Second Talent, a global tech hiring platform ranked #1 in Global Hiring on G2. With 12 years of experience in e-commerce strategy, platform implementation, and digital operations, he has led delivery of Adobe Commerce Cloud projects for enterprise clients including Chow Sang Sang, HomePlus (HKBN), Maxim's, Hong Kong International Airport, Hotai/Toyota, and Evisu. Prior to founding Branch8, Matt served as Vice President of Mid-Market Enterprises at HSBC. He serves as Vice Chairman of the Hong Kong E-Commerce Business Association (HKEBA). A self-taught software engineer, Matt graduated from the University of Toronto with a Bachelor of Commerce in Finance and Economics.