WhatsApp API 訊息發送實戰:模板訊息、文字訊息與發送策略全解析
一、引言
在企業數位化轉型的大潮中,訊息推送已成為連接用戶與品牌的重要觸點。與簡訊、電子郵件相比,WhatsApp 擁有更高的開啟率與互動性,讓企業能夠更精準、高效地與用戶溝通。然而,在實際應用中,如何合理使用 WhatsApp Business API 的各種訊息類型,避免發送失敗、合規風險與低效觸達,是每個技術團隊與營運團隊必須面對的課題。本文將從訊息類型、模板管理、發送流程到批量策略,為你全面剖析 WhatsApp 訊息發送的最佳實踐,並在必要環節引入 LuckData 號碼驗證 API,協助你進一步優化發送前的號碼品質檢測。
二、訊息類型全覽
2.1 模板訊息(Template Messages)
模板訊息是 WhatsApp 中唯一可以在沒有用戶主動發起對話的情況下,進行主動推送的方式。它必須經過 WhatsApp 官方審核,且僅能在用戶同意接收後使用。典型應用場景包括:
訂單通知:出貨、簽收、退貨進度更新;
預約提醒:醫院、美髮店、汽車保養預約提示;
活動推廣:限時折扣、節日優惠券推送。
模板訊息支援在文字中嵌入參數化變數(如用戶姓名、訂單編號)、多語言版本及按鈕操作,使得主動觸達既合規又富有互動效果。
2.2 對話訊息(Session Messages)
當用戶在過去 24 小時內向企業帳號發送訊息後,該時限內企業可隨意回覆,包括文字、多媒體與互動元件。
優勢:零審核、靈活自訂;
適用:即時客服對話、故障處理、高價值諮詢的後續跟進。
若用戶在 24 小時內未互動,企業需使用模板訊息才能繼續溝通。
2.3 媒體訊息、按鈕、快速回覆等擴充類型
除了純文字,WhatsApp API 還支援多種富媒體與互動形式:
圖片/文件/影片:適合傳送發票憑證、產品說明文件或教學短片;
按鈕訊息:在模板或對話訊息中加入「立即付款」「查看詳情」按鈕,引導用戶執行後續動作;
列表訊息:當選項較多時,可透過列表形式呈現,供用戶快速選擇。
合理搭配這些元件,可顯著提升用戶參與度與轉換效率。
三、模板訊息管理與建立流程
3.1 模板組成結構
一個完整的模板訊息由四部分構成:
Header(標題):可選文字、媒體或文件,用以突顯重點資訊;
Body(主體):主要文字內容,支援參數化變數;
Footer(腳註):可選說明或免責聲明;
Button(按鈕):可配置跳轉 URL、撥打電話或簡單回覆按鈕。
範例模板結構(訂單更新):
Header: “您的訂單已出貨”Body: “親愛的 {{1}},您的訂單 {{2}} 已於 {{3}} 出貨,預計於 {{4}} 前送達。”
Footer: “感謝您的支持”
Button1: “查看物流”(URL)
Button2: “聯絡客服”(電話)
3.2 模板審核流程
在 WhatsApp Business Manager 控制台中選擇「訊息模板」→「新增模板」;
按照文件要求填寫標題、主體、按鈕與多語言版本;
提交並等待審核,通常 1–2 小時內完成;
審核通過後,可在 API 呼叫中使用該模板
name
。
建立過程中應注意:
變數順序與佔位符格式必須嚴格對應;
不得包含不符政策的敏感詞或促銷語句;
建議先於沙盒環境中測試 JSON 格式與內容渲染效果。
3.3 模板命名與分類建議
規範的命名與分類,有助於團隊協作與權限控管:
命名規範:
${場景}_${語言}_${版本}
,如shipment_update_zh_v1
、appointment_reminder_en_v2
;分類管理:按業務線(訂單、預約、行銷)建立資料夾,或為不同專案分配獨立 Business Manager 帳號,確保審核與使用流程清晰。
四、模板訊息的發送方式
4.1 接口結構與呼叫範例
使用模板訊息時,呼叫接口為:
POST https://graph.facebook.com/v16.0/{{PhoneNumberID}}/messages
請求標頭需包含 Authorization: Bearer {{Access_Token}}
。
範例 JSON Payload(Python):
import requestsurl = f'https://graph.facebook.com/v16.0/{PHONE_NUMBER_ID}/messages'
headers = {'Authorization': f'Bearer {ACCESS_TOKEN}'}
payload = {
'messaging_product': 'whatsapp',
'to': '8613712345678',
'type': 'template',
'template': {
'name': 'shipment_update_zh',
'language': {'code': 'zh_CN'},
'components': [
{
'type': 'body',
'parameters': [
{'type': 'text', 'text': '張三'},
{'type': 'text', 'text': '1234567890'},
{'type': 'text', 'text': '2025-04-20'},
{'type': 'text', 'text': '2025-04-25'}
]
}
]
}
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
4.2 如何替換變數參數
參數順序:依照模板中聲明的佔位符順序依次填寫;
特殊字元處理:若參數包含特殊符號或多字節語言,建議於後端進行 URL 編碼或 UTF-8 轉碼;
多語言切換:同一模板可提交多種語言版本,呼叫時透過
language.code
指定即可。
4.3 模板發送失敗排查指南
錯誤碼 | 含義 | 解決思路 |
---|---|---|
131047 | 模板未批准 | 檢查模板狀態,重新提交或調整內容 |
131042 | 參數缺失或順序錯誤 | 對照模板定義,補齊或重排參數 |
131046 | 模板變數超出允許長度 | 縮短文字或拆分成多條訊息 |
131027 | 短時間內超出發送配額 | 降低併發速率,使用節奏控制策略 |
131004 | 號碼未註冊 WhatsApp | 在發送前對目標號碼進行有效性檢查 |
遇到錯誤時,應結合返回的 error.message
與 error.code
,對照官方文件進行針對性修復。
五、訊息發送前的號碼驗證策略(融合 LuckData)
在進行模板或行銷推播之前,對目標號碼清單進行預驗證,能有效剔除未註冊或已停機號碼,節省配額、降低失敗率,並減少對企業帳號信譽的負面影響。LuckData 提供的 WhatsApp 號碼驗證 API,無需維護基礎架構,即可即時批量檢測號碼註冊狀態。
LuckData 號碼驗證範例
import requests
headers = {'X-Luckdata-Api-Key': 'your_free_key'}
payload = {'phone_number': '8613712345678'}
response = requests.post(
'https://luckdata.io/api/whatsapp-number-validator/rltsvuouydi1',
headers=headers,
json=payload
)
print(response.json())
免費額度:100 點數/月,每秒 1 請求;
升級方案:Basic(5000 點/月,5 QPS)、Pro(15000 點/月,10 QPS)、Ultra(100000 點/月,15 QPS)。
將 CRM 匯出的名單批次呼叫驗證接口,可自動標記「有效」、「無效」或「未註冊」狀態,生成清洗後的白名單。
將驗證結果與發送系統整合,可在訊息推播前自動過濾無效號碼,既提升送達效果,也為合規性提供前置保障。
六、批量發送策略與合規建議
6.1 控制頻率與發送時間
限流設計:依照 WhatsApp 官方建議速率(每秒最高併發數),於發送系統中引入令牌桶或漏桶演算法,避免觸發風控;
推播時間:依目標用戶所在地時區合理安排,建議於工作日早上 9 點至晚上 8 點之間發送,避免深夜或清晨打擾。
6.2 資料分組與內容個人化
用戶分組:依地區、活躍度、消費行為等將用戶分段,分批推播不同內容;
動態模板:結合用戶屬性,在模板中填入個性化變數(如生日祝福、最近瀏覽商品),讓每則訊息更貼近用戶需求。
6.3 合規提示與用戶同意機制
明確告知:在用戶註冊或登入流程中,提醒可能接收 WhatsApp 訊息,並引導勾選同意項;
退訂機制:於模板或對話訊息中提供「一鍵退訂」按鈕或關鍵字(如回覆「STOP」),並在後台系統中即時更新用戶偏好;
隱私合規:遵循 GDPR、CCPA 等法規,確保號碼來源合法,尊重用戶隱私權與資料保護要求。
七、總結
透過對 WhatsApp 各類訊息的深入剖析,你已掌握模板訊息、對話訊息與富媒體互動元件的使用場景與呼叫方法。在實務中,合理管理模板審核、精準替換變數、及時排查錯誤,將顯著提升訊息送達率與用戶體驗。此外,藉助 LuckData 號碼驗證 API 在發送前自動過濾無效號碼,能有效降低失敗率、節省配額並保障帳號信譽。最後,批量策略與合規機制的合理設計,將為你的 WhatsApp 訊息系統建構提供全面支援,讓企業與用戶的每一次溝通都更加高效、安全、個人化。