Omni Octo 里的每个 WhatsApp 号码都有一个发送上限,从这个号码发送的每一种方式都要遵守 它:收件箱、API、Octo、工作流、问卷和营销活动。这一页讲这个上限是什么、由谁设置, 以及一次发送碰到它时会发生什么。
还是以潮汐洗衣店为例。它有一个 WhatsApp 号码。某个周一早上,它运行一个营销活动,提醒 1,800 位顾客节后恢复取件,同时收件箱里有两个人在回答关于被子的问题。两边都照常运转, 原因就是下面要讲的分流。
默认值
没有人配置过的号码,按以下速率发送:
| 时间窗口 | 默认值 | 统计对象 |
|---|---|---|
| 每秒 | 5 | 所有消息 |
| 每分钟 | 250 | 所有消息 |
| 每天 | 2,000 | 仅模板 |
在渠道页面上,这显示为 当前生效:5/秒 + 250/分钟 + 2000/天 · 平台默认值。针对你号码 的平台规则还可能额外加一个每小时上限;它的作用方式和每分钟上限一样。
每秒和每分钟上限是我们的节奏控制,适用于这个号码发出的一切。每日上限只统计模板,它 存在的目的是跟上 Meta 的消息等级(下一节)。在 24 小时窗口内的自由格式 回复从不计入,所以一个当天模板已经用完的号码,仍然可以回复给它发消息的人。
每日上限与 Meta 的消息等级
Meta 限制一个号码在 24 小时内可以与多少人发起对话,这个限制取决于号码的消息等级。 Meta 为一个号码报告的等级是 50、250、1,000、10,000、100,000 或无限制之一。
2,000 不是 Meta 的等级。 它是我们在不知道你号码等级时使用的值 —— 高到不会妨碍 日常使用,又低到能拦住失控的发送。如果你的真实等级是 250,2,000 就太宽了;如果是 10,000,又太紧了。无论哪种情况,都请把它设成你的等级。
每日上限在 WhatsApp 每日等级 里选择:
| 选项 | 含义 |
|---|---|
| 继承(默认) | 如果有针对这个号码的平台规则就用它,否则为 2,000 |
| 250 / 天 … 100,000 / 天 | 每天这么多个模板(250、1,000、2,000、10,000、100,000) |
| 无限制 | 没有每日上限;每秒和每分钟上限仍然适用 |
以其他方式设置的值(比如检测到的等级 50)会显示为一个单独的选项,比如 50 / 天。
修改每日等级只会改变每日上限。每秒和每分钟上限保持不变;应用里没有设置它们的字段。
在哪里修改
直接从 Meta 连接的号码。 在 /channels 里打开它。发送上限 卡片会显示当前 生效的上限及其来源:平台默认值、在此渠道上设置,或者当 Omni Octo 有针对你号码前缀 的规则时显示 来自平台规则 …。选择一个 WhatsApp 每日等级,然后点击 保存。
也可以点击 从 Meta 检测。它会向 Meta 查询号码当前的等级,并保存对应的每日上限 —— 比如 已应用 Meta 等级 TIER_1K。如果 Meta 没有返回等级,会有错误提示,什么都不会改变。 检测只在你点击时运行;之后不会跟踪你等级的变化,所以等级变了要再点一次。
通过 Omni Octo 购买的号码。 渠道卡片上写着 此号码是您的电话号码之一。请在该电话 号码页面设置其发送上限。 在那个页面的 发送限制 下,同样的 WhatsApp 每日等级 列表和短信、通话的上限并排;保存限额 保存它,恢复默认值 移除它。设在电话号码 上的上限优先于其他一切。
请 Octo 来改。 “把我们 WhatsApp 号码的每日上限提高到 10,000” 也可以,两种号码 都适用。
在这些地方,只有工作区的所有者或管理员才能修改上限。在渠道页面上,其他人看到 的是只读的,并附有 只有工作区所有者或管理员可以更改发送上限。;在电话号码页面上, 他们的保存会被拒绝。
两个编辑器都带着同一条警告,这条才是要认真对待的:
把这些值调到超过运营商或 Meta 实际允许的范围,可能导致此号码被限速或封禁 —— 风险由您自行承担。使用 WhatsApp 时,请在 WhatsApp Manager → Messaging limits 中 确认您的真实等级。
在这里调高上限,并不会调高 Meta 的上限。它只是让我们不再先拒绝。
两份速度额度,一份每日额度
营销活动和其他一切使用各自独立的每秒和每分钟额度,每份的大小都等于配置的上限:
- 营销活动有一份。
- 直接发送 —— 收件箱、API、Octo、问卷和工作流 —— 共用另一份。
所以潮汐洗衣店的营销活动即使以号码允许的最快速度发送,也不会让收件箱里的回复慢上一秒。 代价是两边加起来可以以配置速率的两倍发送:默认 5 的话,就是每秒 10 条。
每日模板计数是每个号码一个总数。 不管从哪个途径发出,每个模板都计入。如果周一的 营销活动在一个每天 2,000 条的号码上发了 1,800 个模板,那天收件箱就只剩 200 个模板 —— 外加对任何窗口打开的人无限量的自由格式回复。
超过每秒 40 条时的警告
Meta 对单个号码的默认吞吐量是每秒 80 条消息。当一个号码的每秒上限超过 40 时,两个 编辑器都会显示:
此号码每秒最多可发送 50 条消息。营销活动与直接发送(收件箱、API 和 Octo)各自享有 这个速率,合计可能超过 Meta 默认的每个号码每秒 80 条消息。
在默认值下你不会看到它。
每种途径达到上限时会怎样
| 发送从哪里开始 | 达到每秒或每分钟上限时 | 达到每日模板上限时 |
|---|---|---|
| 营销活动 | 等待,窗口重新打开后继续 | 等到第二天 |
| 收件箱 | “这个号码目前发送得太快。请在 12 秒后再试一次。” | “这个号码已达到今天的 WhatsApp 模板上限。自由格式回复仍可发送;模板将在 5 小时后恢复。” |
| API | 429,代码 rate_limited,Retry-After 头 | 429,代码 daily_limit_reached,Retry-After 头 |
| Octo | 告诉你什么时候再试,而不是自己重试 | 同样,并告诉你距离重置还有几个小时 |
| 工作流步骤 | 等待后自动重试 | 步骤失败:“This number reached its daily WhatsApp template limit; it resets in N h” |
| 问卷问题 | 等待后重新发问 | 等待后重新发问 |
表格背后的几个细节:
- 收件箱会保留你的文字。 提示出现在回复框下方,草稿留在原处,随时可以再发。
- 短暂的等待会被吸收。 在营销活动之外,两秒内就会重新空出来的每秒或每分钟上限, 会等过去然后发送成功。更长的等待,以及每日上限,会被立即拒绝。
- 工作流最多等五分钟。 300 秒内能解除的拒绝,会在正好等待那么久之后重试;更长的 —— 实际上就是每日上限 —— 会让步骤失败。
- 两个 API 代码都在响应体里带
retryAfterSec,与Retry-After头相等。 从你自己的系统发送 里有完整的响应,以及 API 自己的按工作区速率(默认每分钟 300 次调用),收件箱、Octo 和营销活动都不会碰到它。
被拒绝的发送不会留下消息
当上限拒绝了来自收件箱、API 或 Octo 的发送时,没有任何东西到达 Meta,也不会记录任何 东西:对话里不会出现消息,也没有需要清理的失败记录。如果这是发给这个号码的第一条消息, 对话本身仍会被创建,是空的。被拒绝的模板也不会占用当天的计数。
上限不做的事
- 它统计消息,而不是人。 Meta 的等级统计的是你发起对话的人数;我们统计的是每一个 模板。给同一位顾客发三个模板,在 Meta 那里算一个,在我们这里算三个。这是往保守的 方向算,但一个经常给同一批人发消息的号码,会先碰到我们的上限,再碰到 Meta 的。
- 一天是 UTC 的一天。 它在 UTC 午夜重置,不是你当地的午夜,也不是你第一次发送后 的 24 小时。Meta 自己的窗口是滚动的 24 小时。
- 被 Meta 拒绝的发送仍然计数。 计数在消息发往 Meta 之前进行。如果 Meta 随后拒绝了 它 —— 一个它决定不投递的营销类模板, 一个错误的变量 —— 它已经占用了当天的一个名额。
- 它不会提高 Meta 的上限。 一个在我们上限之内的号码,仍可能被 Meta 拒绝或限速。
接下来读什么
- 什么时候 WhatsApp 消息必须是模板 —— 24 小时窗口,以及为什么自由格式回复不计入每日上限。
- 把模板发给一个列表 —— 与其他一切共用每日计数的营销活动。
- 在对话中发送模板、 从你自己的系统发送, 或者请 Octo 代发。