登入開始免費試用
Meta Tech Provider

從 Shopify 發送 WhatsApp 訂單訊息

Shopify Flow 的 Send HTTP request 動作可在訂單建立時,向 Cloud API 發送已獲批准的訊息範本,所用的是已連接號碼的 phone number id,以及儲存為 Flow 密鑰的存取權杖。若方案不含該動作,可改由 Shopify 管理後台的 Webhook 把訂單送到接收端(例如 n8n),再由接收端發出相同的呼叫。

Grow, Advanced, Plus

Flow 的 Send HTTP request 動作適用於哪些 Shopify 方案。

30 seconds

Flow 等待 HTTP 回應多久後才會關閉連接並稍後重試。

Opt-in

Meta 規定企業必須先取得用戶的選擇加入許可,才可在 WhatsApp 向對方發送訊息。

Shopify Flow 如何發送 WhatsApp 訊息?

使用 Send HTTP request 動作。它可向任何 URL 發送請求,標頭與內容主體亦可使用觸發條件提供的 Liquid 變數。

請以訂單建立作為觸發條件建立工作流程,再加入 Send HTTP request。URL 是已連接號碼的 phone number id 所對應的 Cloud API 訊息端點。加入 Authorization 標頭,值為 Bearer 加上該號碼的存取權杖;權杖應儲存為 Flow 密鑰,並以密鑰變數引用。密鑰的值不會顯示在 Flow 介面,執行記錄中也會被遮蔽,權杖正應放在這裏。內容主體是一則範本訊息,to 欄位填寫客戶的電話號碼,訂單詳情則作為範本的參數。

Flow 會把 2XX 或 3XX 回應視為成功。Meta 對有效請求會回覆訊息 id,所以執行成功即代表 Meta 已接受該訊息。

Send HTTP request body for an order confirmation template
{
  "messaging_product": "whatsapp",
  "to": "<customer phone, digits only>",
  "type": "template",
  "template": {
    "name": "order_confirmation",
    "language": { "code": "en" },
    "components": [{
      "type": "body",
      "parameters": [{ "type": "text", "text": "{{order.name}}" }]
    }]
  }
}

為甚麼訂單訊息必須使用範本?

因為是店舖先發訊息。Meta 的 24 小時客戶服務時段,只會在客戶向該號碼發訊息時才開啟。訂單確認、出貨通知或棄單提醒都在此之前發出,所以自由格式訊息會被拒絕,只有預先批准的範本才能發送。

請先建立一次範本,類別選「utility」,用於訂單及出貨通知,並待批准後才啟用工作流程。請求內容中的名稱和語言必須與已批准的範本完全一致,參數數量也必須與範本的佔位符相符。

此外還有用戶同意的問題。Meta 規定企業必須先取得選擇加入許可,才可在 WhatsApp 向對方發送訊息:即對方提供了號碼,並同意接收該企業的訊息。最常見的做法是在結帳頁加入勾選框,工作流程在發送前應先檢查這一項。

如果店舖的方案不含 Send HTTP request,怎麼辦?

改用 Shopify 管理後台的 Webhook。在「設定」、「通知」、「Webhook」下,商家可為訂單建立等事件建立 Webhook,格式為 JSON,並指向某個 URL。把它指向接收端即可:可以是 n8n 的 Webhook 節點,或以 PHP、Python 或 Node 寫成的路由。接收端讀取訂單、檢查用戶同意,再向 Cloud API 發出相同的範本呼叫。

無論用哪種方式發送,回覆的流程都一樣。客戶回覆訂單訊息後,回覆會進入店舖手機上的 WhatsApp Business 應用程式,因為該號碼已啟用 Coexistence,而 24 小時時段亦已開啟,可以發送自由格式訊息。若已設定該號碼的 Webhook 目的地,回覆也會送到您的系統。訂單訊息本身同樣會顯示在應用程式內,回覆的同事可以看到客戶在回應甚麼。

常見錯誤

  • 在訂單建立時發送自由格式訊息。客戶尚未發訊息,Meta 會拒絕,必須使用已批准的範本。
  • 對 4XX 回應仍把錯誤處理設為 Retry。Flow 最多可能用 24 小時,重複發送 Meta 永遠不會接受的請求。
  • 把權杖以純文字放在標頭中。請儲存為 Flow 密鑰,使它不會出現在介面和記錄裏。
使用 EasyCoexistence 完成這項設定

在 easycoexistence.com 連接店舖的號碼,從控制台取得 phone number id 和權杖,再讓 Flow 或您的接收端呼叫 Cloud API。每個號碼每月 US$ 9 起,隨號碼增加降至 US$ 1,首 3 天免費。

常見問題

範本訊息的費用由誰支付?

Meta 直接向企業在其 WhatsApp Business 帳戶上收取訊息費用。EasyCoexistence 不會加價。

團隊仍可用手機回覆客戶嗎?

可以。這正是 Coexistence 保留的功能:店舖發送訊息所用的號碼,仍可在 WhatsApp Business 應用程式使用。

這需要 Shopify 應用程式嗎?

不需要。使用 Flow 的 Send HTTP request,或把管理後台 Webhook 送到接收端即可。Cloud API 只是一次 HTTPS 呼叫。

to 欄位需要甚麼電話格式?

國際格式,包含國家或地區代碼,且只含數字。結帳頁的電話欄位在發送前應先清理,因為客戶會輸入空格和符號。

繼續閱讀

準備開始嗎?

幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。

開始免費試用

驗證日期

Shopify 訂單訊息:透過 WhatsApp 發送