登录开始免费试用
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 向用户发送消息之前,先获得其同意(opt-in)。

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 向某人发送消息之前先获得 opt-in:对方提供了号码,并同意接收该企业的消息。通常的做法是在结账页加一个勾选框来收集同意,工作流在发送前应先检查它。

如果店铺的套餐不包含 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