WhatsApp Cloud API吞吐量与速率限制详解
WhatsApp Cloud API吞吐量与速率限制:每秒消息数、如何提升、配对与Graph API限制、相关错误码,以及带退避的重试方法,助您稳妥完成大批量发送。
作者: OmniChannels.ai Editorial Team · 审阅: BroadNet Messaging Solutions Team
集成
简短回答
据Meta文档,WhatsApp Cloud API的每个商业电话号码默认支持每秒最多80条消息,符合条件的号码可自动升级到1,000条。针对同一收件人(配对速率限制)、Graph API管理调用以及每日可联系人数,另有独立的限制。超出吞吐量时API返回错误130429;请放慢速度,将任务排队,并带退避重试。
本页内容
要点速览
- 据Meta的吞吐量文档,一个商业电话号码默认支持每秒最多80条消息,自动升级后最高可达1,000条;该上限涵盖所有类型的入站和出站消息。
- 自动升级到1,000 mps的条件:消息限额为无限制,在滚动24小时内于客户服务窗口之外联系10万个及以上不重复用户,且质量评分为中等或更高。
- 共有四种不同的限制:每个号码的吞吐量、针对每位收件人的配对速率限制、Graph API调用限制,以及每日消息限额;每一种都有各自的错误。
- 错误130429表示达到吞吐量上限,131056表示向同一收件人发送的消息过多,80007表示WhatsApp商业账户达到了速率限制。
- 大批量发送需要队列、低于您上限的速率限制器、带指数退避和抖动的重试,以及能应对状态流量的Webhook服务器。
本指南面向计划大批量发送WhatsApp消息的工程师和活动负责人,帮助您了解能发多快,以及发得太快会怎样。内容说明Meta文档规定的限制、吞吐量如何提升、您会看到哪些错误,以及如何为一次大批量发送安全地排队和重试。
文中数字均为Meta在撰文时(2026年11月7日)文档中的数值。Meta可能随时调整,请在发布前对照所附来源确认。
什么是WhatsApp Cloud API吞吐量?
吞吐量是单个商业电话号码每秒能处理的消息数。Meta文档规定:默认最高每秒80条消息(mps),通过自动升级最高可达1,000 mps。
来自Meta吞吐量页面的细节:
- 该上限针对每个商业电话号码,并计入所有类型的入站和出站消息。
- 同时用于WhatsApp Business应用和Cloud API的号码,固定为20 mps。
- 可以用
GET /<PHONE_NUMBER_ID>?fields=throughput读取号码当前的级别。
吞吐量讲的是速度,而不是数量。每天能与多少不重复的人发起对话,则是另一项消息限额。
如何把WhatsApp吞吐量提升到1,000 mps?
当三个条件同时满足时,Meta会免费自动升级符合条件的号码。
| 要求 | 详情 |
|---|---|
| 消息限额 | 商业组合为无限制 |
| 发送量 | 在滚动24小时内,于客户服务窗口之外联系10万个及以上不重复的WhatsApp用户号码 |
| 质量 | 质量评分为YELLOW(中等)或更高 |
升级最长需要1分钟,期间该号码无法使用。Meta会通过phone_number_quality_update Webhook报告,事件为THROUGHPUT_UPGRADE。如果在号码升级期间发送消息,会返回错误131057。
按照Meta文档所述的流程,您无法购买更高的级别,也不能通过表单申请,所以如果未达到要求,请按80 mps来规划发送。关于您的账户,请咨询我们的团队。
还有哪些WhatsApp限制?
有四种限制可能阻止发送。它们相互独立,所以要逐一检查。
| 限制 | 限制的对象 | 典型错误 | 定义出处 |
|---|---|---|---|
| 吞吐量 | 每个号码每秒的消息数 | 130429 |
Meta吞吐量页面 |
| 配对速率限制 | 短时间内同一号码向同一收件人发送的消息 | 131056 |
Meta错误码 |
| Graph API限制 | 每个应用和账户的管理调用 | 4、80007、80008 |
Meta Graph API文档 |
| 消息限额 | 每个滚动24小时内触达的不重复人数 | 发送受限 | 我们的限额指南 |
配对速率限制如何运作?
它防止企业在短时间内向同一个人发送过多消息。Meta将错误131056描述为在短时间内从发送方电话号码向同一收件人电话号码发送了过多消息,并建议在仍需发送时等待后重试。Meta的吞吐量页面提到了配对速率限制,但没有给出数字。不要把某个数字写死;而应避免连续向同一个人发送多条消息,并尽可能合并。
Graph API的速率限制是什么?
它们适用于读取模板或账户等管理调用,而不是发送消息。Meta的Graph API文档列出,对于WhatsApp Business管理API,默认每个应用每个WhatsApp商业账户每小时200次调用;对于至少绑定了一个电话号码的活跃账户,每个应用每小时5,000次调用。该API达到限制时返回错误80008,应用限制返回4,Meta的错误表还列出了80007,对应WhatsApp商业账户的速率限制。
请缓存模板列表和账户数据,避免在紧凑的循环中轮询。
触达限制时会出现哪些错误码?
先把错误码对应到具体的限制,再选择应对方式。
| 错误码 | Meta的描述 | 应对方式 |
|---|---|---|
130429 |
已达到Cloud API消息吞吐量 | 放慢速度,然后重试 |
131056 |
短时间内从发送方向同一收件人发送的消息过多 | 等待,仅在需要时重试 |
131057 |
号码在吞吐量升级期间被使用 | 升级完成后重试 |
80007 |
WhatsApp商业账户已达到速率限制 | 减少API调用,稍后再试 |
4 |
应用已达到API调用速率限制 | 减少API调用,查看应用后台 |
131048 |
对该号码可发送消息数量的限制 | 在WhatsApp Manager中检查质量状态 |
131049 |
为维护健康的生态互动而未送达 | 至少等待24小时再重新发送模板 |
错误码131048和131049与质量和互动有关,而与速度无关,所以更快地重试没有帮助。请参阅WhatsApp API错误码排查。
在OmniChannels.ai API上,上游的拒绝以HTTP 502到达,Meta的错误码和文本在message中;我们自己的速率限制则返回429,并带Retry-After请求头。完整的表格和默认限制请参阅错误与限制。
应该如何排队和重试?
在应用和API之间放一个队列,把速率限制在上限以下,并且只重试以后可能成功的请求。
- **所有发送都入队。**应用把消息写入队列,由工作进程池来消费。绝不要在一个请求处理程序里循环遍历客户名单。
- **用令牌桶限速,**速率设在吞吐量之下,为共用同一上限的回复和其他流量留出余量。
- **先记录每次尝试。**为每条消息写一行记录,以您自己的操作ID作键,保存返回的消息ID,并跳过任何已被接受的消息。
- **重试临时性失败。**限流和暂时性的服务器错误可以重试;校验错误(
400)、认证错误和模板错误不重试。 - **带抖动的退避。**每次尝试后等待更久,加入随机性以免各工作进程同时重试,并为延迟和尝试次数设上限。
- **遵守
Retry-After,**当响应中包含它时。 - **超时后重发前先检查。**响应丢失并不意味着消息丢失;请先查看状态事件。
const RETRYABLE = new Set([429, 500, 502, 503, 504]);
async function sendWithBackoff(send, { maxAttempts = 5, baseMs = 500, capMs = 30000 } = {}) {
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
const res = await send();
if (res.ok) return res;
if (!RETRYABLE.has(res.status) || attempt === maxAttempts) throw new Error(`failed: ${res.status}`);
const wait = Math.random() * Math.min(capMs, baseMs * 2 ** (attempt - 1)); // full jitter
await new Promise((r) => setTimeout(r, wait));
}
}
Meta的吞吐量页面没有给出针对错误130429的退避规则,所以这属于通行的工程实践。对于携带Meta限流错误码的502,视为可重试;对于任何其他上游错误码,请先阅读消息内容。我们的错误与限制页面有完整的重试表和防重复发送的保护措施。
如何规划一次大批量发送?
开始之前,先算出所需时间、各项限制和Webhook负载。
- **统计不重复的收件人,**并与您的消息限额比较。如果名单超出您的档位,请先看安全扩量方案。
- **估算时长。**消息数除以吞吐量就是秒数。以算术为例,若没有其他流量占用上限,10万条消息按每秒80条发送需要1,250秒,约21分钟。
- **预留容量。**该上限也计入入站消息,所以发送期间要为客户回复留出余量。
- **确定Webhook服务器的规模。**Meta称,Webhook服务器应能处理三倍于您出站消息的流量,再加上预期的入站流量,延迟中位数不超过250毫秒,且超过1秒的请求不到1%。请参阅Webhook指南。
- **先检查模板健康状况和质量,**并分批发送,以便在失败或屏蔽增多时及时停止。请参阅如何批量发送WhatsApp消息而不被封号。
- 大批量发送文件时使用媒体ID而不是链接,这也是Meta的建议。请参阅媒体类型与限制。
在OmniChannels.ai上,批量端点一次请求可接收多个收件人,delay字段可用来限制投递速度。峰值方案请提前与我们的团队商定。
示例:迪拜的一场限时抢购
"Marina Gadgets"(虚构)计划向60,000名已订阅的客户发送限时抢购模板。
- 他们的限额允许这样做,所以限制因素不是数量,而是速度。按80 mps计算,60,000条消息需要750秒。
- 他们分成六批,每批10,000条发送,并把速率限制器设为60 mps,为回复留出余量。
- 有一批出现了若干
131056错误,原因是这些客户在同一分钟还收到了订单更新。他们把这些发送推迟几分钟。 - 工作进程用带抖动的退避重试被限流的请求,并且消息一旦有了ID就不再重试。
- Webhook端点保存事件并返回
200,然后由工作进程更新状态。 - 每一批之后,他们都先检查失败情况和模板质量再继续。
常见错误有哪些?
- **混淆各种限制。**吞吐量、配对、Graph API和消息限额是不同的问题。
- **立即重试,**这会让号码一直停在上限,使问题延长。
- **以上限速度发送,**导致回复和状态与营销活动争抢容量。
- **超时后不查状态就重发,**造成消息重复。
- **在循环中轮询Graph API端点,**触及每小时限制。
- **Webhook服务器规模不足,**跟不上而引发重试。
- **限制会变化。**本指南给出的是Meta在撰文时的数值。
OmniChannels.ai如何提供帮助
BroadNet是Meta官方的商业解决方案提供商(Business Solution Provider),OmniChannels.ai通过一个API发送WhatsApp消息,提供批量端点、用于限速的delay字段、排期,以及统一格式的Webhook送达状态。分销商的每个子账户有独立的Webhook和额度。峰值方案请与我们的团队一起规划,并阅读WhatsApp API文档、错误与限制和营销活动页面。
常见问题
WhatsApp Cloud API的速率限制是什么?
有好几种。Meta文档规定,每个商业电话号码默认最多每秒80条消息,自动升级后最高1,000条。另外还有针对每位收件人的配对速率限制、针对管理端点的Graph API调用限制,以及限制可联系不重复人数的每日消息限额。每一种返回的错误都不同。
如何让WhatsApp吞吐量超过每秒80条?
Meta会免费把符合条件的号码自动升级到每秒最高1,000条。条件是:商业组合的消息限额为无限制,在滚动24小时内于客户服务窗口之外向10万个及以上不重复用户发送消息,且质量评分为黄色或更高。升级最长需要一分钟,期间该号码无法使用。
错误130429是什么意思?
Meta将130429定义为已达到Cloud API消息吞吐量上限,标题为Rate limit hit。建议的做法是稍后重试,或降低应用发送消息的频率。当发送速率回到允许的水平内,它就会消失,所以速率限制器加上带退避的重试通常即可解决。
WhatsApp的配对速率限制是什么?
它限制一个商业号码在短时间内向同一收件人发送多少条消息。Meta的错误131056描述的是:在短时间内从发送方号码向同一收件人号码发送了过多消息,并建议等待后重试。Meta的吞吐量页面没有给出具体数字,所以请不要依赖固定数值。
消息限额和吞吐量是一回事吗?
不是。吞吐量是您发送的速度,以每秒消息数计。消息限额则是在滚动24小时内您可以发起对话的不重复人数。您可能满足其中一项而超出另一项。每日档位请阅读我们的消息限额指南,速度方面请看本文。
遇到WhatsApp速率限制错误后应如何重试?
只重试限流和临时性的服务器错误,每次尝试后等待更久,加入随机抖动,并为延迟和尝试次数设置上限。Meta的吞吐量页面没有给出针对错误130429的具体退避规则,所以这是通行的做法,而不是Meta的规定。请先记录每次发送,这样重试就不会重复发送同一条消息。
资料来源
继续阅读
更多指南集成
WhatsApp消息API发送示例:cURL、Node、Python、PHP
如何用API发送WhatsApp消息:提供可运行的cURL、Node.js、Python和PHP示例,涵盖模板消息与会话消息、送达状态跟踪以及常见错误处理,方便开发者快速接入。
10 分钟阅读
集成
WhatsApp Webhook指南:事件、安全与重试
WhatsApp Webhook的工作方式:消息与状态事件、可靠的处理程序、Meta签名校验、重试机制、幂等处理,以及事件丢失时的恢复办法,帮助开发者稳定接收送达状态。
10 分钟阅读
营销
WhatsApp营销指标:该追踪什么,如何解读
WhatsApp营销指标详解:送达、已读、回复、点击与退订,已读回执的盲区,如何借助广告和UTM链接做归因,并附可参考的数据看板。
9 分钟阅读
