Skip to main content
此功能目前处于 Beta 测试阶段。如需申请访问权限,请联系 YCloud。

1. 概述

为了帮助企业更好地掌控并优化其 WhatsApp 营销消息支出,YCloud 支持 Meta 于 2026 年为 Marketing Messages API 推出的全新定价功能,包括 Max Price 和 Reach Estimation Tool(触达估算工具)。 借助 YCloud API,企业可以设置愿意为每条成功送达的 WhatsApp 营销消息支付的最高价格,并根据活动成本和送达目标调整定价策略。设置 Max Price 后,Meta 对每条送达消息收取的费用将等于或低于该价格。在发送前,企业还可以使用触达估算工具了解在不同 Max Price 水平下的预计送达量和成本。 本指南将介绍如何使用 YCloud API 执行以下操作:
  1. 在营销消息模板上设置 Max Price 和 国家/地区乘数(Country multiplier)
  2. 发送消息时可选择应用 单条消息乘数(per-message multiplier)
  3. 通过 消息状态 Webhook 获取最终扣费
  4. 在发送前估算不同 Max Price 水平下的送达量和成本

2. 核心概念

2.1 什么是 Max Price?

Max Price 是企业 愿意为每条成功送达的 WhatsApp 营销消息支付的最高金额。设置 Max Price 后,Meta 收取的送达费用将等于或低于该价格。实际费用不会超过设定的价格上限。 根据营销活动的目标,企业可以将 Max Price 设置为等于、低于或高于 Meta 公布的费率: Max Price 是价格上限,而非固定费用。 设置 Max Price 并不意味着每条送达的消息都会按该价格计费。每条消息的价格是动态计算的,可能等于或低于配置的 Max Price。

2.2 如何设置 Max Price

2.2.1 在模板上设置最高价格 您可以为模板设置固定的 Max Price(maxBid),并针对不同国家或地区配置不同的乘数(countryPriceAdjustments.multiplier)。例如,假设 maxBid 设置为 0.10 美元,印度的乘数为 0.8×,马来西亚的乘数为 1.3×:
  • 当使用该模板向印度发送消息时,模板级别的 Max Price 为 0.10 USD × 0.8 = 0.08 USD。
  • 当使用该模板向马来西亚发送消息时,模板级别的 Max Price 为 0.10 USD × 1.3 = 0.13 USD。
  • 当向任何其他国家/地区发送该模板时,模板级别的 Max Price 为 0.10 USD。
2.2.2 发送模板消息时调整乘数 使用 Max Price 模板发送消息时,您可以应用大于 0 的单条消息乘数,以提高或降低单条消息的有效 Max Price。 2.2.3 计算有效 Max Price
有效 Max Price = 模板 maxBid x 模板 countryPriceAdjustments.multiplier x 单条消息出价乘数(per_message_bid_multiplier)
示例: 您创建了一个模板,模板级别的 Max Price 设置如下:
  • maxBid:0.1 USD,
  • countryPriceAdjustments.multiplier:
    • IN: 0.8x
    • MY: 1.3x
假设有 4 位收件人;您在发送时应用了不同的单条消息乘数**,** 有效 Max Price 的计算如下:

2.3 动态计费规则

每条成功送达消息的价格均针对其接收者动态计算:
  • 在模板上配置的最高出价(Max Price)仅代表企业愿意支付的最高金额。
  • 送达消息的最终扣费是动态的;Meta 将按该最高出价或更低的价格进行送达扣费。
  • 同一批次发送中,不同接收者的实际消息价格可能有所不同。
  • 未送达的消息不会产生送达费用。
  • 最高出价会影响竞价和送达机会,但不能保证送达。实际结果还可能受到实时竞价、接收者状态以及 Meta 资格审查的影响。

2.4 什么是触达预估工具?

触达预估工具可帮助企业选择合适的最高出价。在发送之前,企业可以使用预估端点查看不同最高出价水平下的预估送达量和成本范围,然后根据其营销活动目标和预算选择定价策略。 预估数据仅供规划参考,不能保证实际送达效果或最终账单金额。实际结果可能会受到实时竞价、接收者状态和 Meta 资格审查的影响。

3. 推荐接入流程

  1. 在发送前调用 reachEstimate 以比较不同价格水平下的预估表现。
  2. 创建营销模板时,通过 bidSpec 配置模板级别的最高出价。
  3. 发送消息时,可选择性传递 per_message_bid_multiplier 以调整单个接收者的最高出价。

4. 创建带最高出价的模板

4.1 端点

创建营销消息模板时添加 bidSpec 对象。

4.2 请求参数

bidSpec 对象包含以下字段:

4.3 请求示例

4.4 规则

  • maxBid 必须大于 0,且可以低于公开费率。
  • 如果省略 bidSpec,模板将使用标准公开费率定价。

4.5 响应示例

模板创建后,响应将包含模板对象及其 bidSpec 配置。

5. 更新模板上的最高出价

5.1 端点

更新营销消息模板时添加 bidSpec 对象。

5.2 请求参数与示例

请参阅 创建带最高出价的模板

4. 创建带最高出价的模板

5.3 规则

  • 您不能向创建时未包含 bidSpec 的现有模板添加该字段。您必须创建一个包含 bidSpec 的新模板。
  • 已审核通过的模板:每小时最多编辑 100 次,每天最多编辑 2,400 次。内容编辑仍遵循每天 1 次、每 30 天 10 次的现有上限。
  • 已拒绝或已暂停的模板:编辑次数无限制

6. 发送消息时设置单条消息出价倍数

6.1 端点

直接发送消息时添加 bidSpec 对象。

6.2 请求参数

消息级别的 bidSpec 对象包含以下字段:

6.3 请求示例

6.4 规则

  • per_message_bid_multiplier 必须大于 0 且最多支持三位小数。大于 1 的值会提高有效最高价格(Max Price),而介于 0 和 1 之间的值会降低它。
  • 该乘数仅适用于通过 bidSpec 启用了最高价格(Max Price)的营销模板。
  • 如果消息请求包含 bidSpec 对象,则 per_message_bid_multiplier 为必填项。若要使用默认乘数 1,请省略整个 bidSpec 对象。

6.5 响应

发送端点继续使用标准 WhatsApp 消息响应。传递 bidSpec 不会引入单独的响应结构。 当返回的状态为 accepted 时,totalPrice 是预估价格,而非最终扣费。

7. 最终扣费与消息状态 Webhook

7.1 Webhook 事件

当 WhatsApp 消息的状态发生变化时,YCloud 会发送 whatsapp.message.updated Webhook 事件。对于使用最高价格(Max Price)发送的消息,Webhook 会标识计费模式,并在消息送达后提供最终扣费。

7.2 Webhook 载荷示例

在此示例中:
  • totalPrice 是最终扣费,因为消息状态为 delivered 或 read。
  • pricingCategory: marketing_lite_bidding 标识最高价格(Max Price)计费类别。
  • bidPricingFlag: true 确认消息是使用最高价格(Max Price)计费发送的。

8. 发送前预估送达率与成本

8.1 端点

  • 端点:GET /v2/whatsapp/businessAccounts/{wabaId}/reachEstimate
  • 使用场景:在发送前使用触达预估端点,查看不同价格水平下的预估送达率和成本范围。

8.2 请求参数

请求示例:

8.3 响应结构

estimates 中的每项包含:

8.4 响应示例

结果说明:
  1. 当每条消息的最高价格为 395 / 1000 USD = USD 0.395 时,1,000 位接收者的预估送达率范围为 4.8% to 23.4%,预估费用范围约为 USD 344.46 to USD 396。
  2. 当每条消息的最高价格为 495 / 1000 USD = USD 0.495 时,1,000 位接收者的预估送达率范围为 6.3% to 26.3%,预估费用范围约为 USD 353.067 to USD 429.597。

常见问题

我可以在发送前知道特定接收者的实际送达价格吗?

不能。每个接收者的送达价格是动态的,无法提前获知。商家只需设置愿意支付的最高价格即可。成功送达的消息将按其实际送达价格计费,且不会超过生效的最高价格。

为什么实际送达结果与预估不同?

预估接口仅提供参考值。实际结果可能会受到实时竞价、接收者状态以及 Meta 资格审查的影响。如果差异显著,请联系 YCloud 寻求支持。

消息送达后会返回实际费用吗?

会。当消息状态为 delivered 或 read 时,totalPrice 表示基于接收者实际送达价格计算出的最终费用。当消息最初被受理或其状态为 sent 时,YCloud 返回的是预估价格而非最终费用。