WhatsApp 错误 4:应用已达到 API 调用速率限制
错误代码 4 表示应用已达到 API 调用速率限制。Meta 的说明是“The app has reached its API call rate limit.”它统计的是应用在滚动 1 小时内发出的调用次数,而不是某个号码发送的消息数。请在应用控制台查看用量,等待一段时间,并减少应用调用 API 的频率。
Meta 对“The app has reached its API call rate limit.”使用的错误代码。
根据 Graph API Platform Rate Limits,应用在 1 小时内可发起的调用次数。
Graph API 错误处理指南为错误代码 4 给出的名称。
WhatsApp 错误代码 4 是什么意思?
它表示您的应用在当前窗口内发起了过多的 API 调用,在计数下降之前,后续调用都会被拒绝。
Meta 将错误代码 4 归入限流错误,详细文本为“The app has reached its API call rate limit.”Graph API 错误处理指南称其为 API Too Many Calls,并将其描述为临时性的限流问题。
它旁边还有两个容易与之混淆的限流代码。80007 表示 WhatsApp Business 账户达到了速率限制。130429 表示 Cloud API 的消息吞吐量。错误代码 4 与这两者都不同:它是应用自身的调用额度。
应用的调用上限是如何计算的?
对于使用应用访问令牌发出的请求,Meta 的 Graph API 速率限制指南给出了一个公式:1 小时内的调用次数等于 200 乘以用户数。
用户数以应用的每日唯一活跃用户为基础,当每日用量下降时,会参考每周和每月的数字。这是针对整个应用的限制,而不是按用户计算,因此少数活跃用户就可能用掉大部分额度。
指南还提到,用量会显示在应用控制台中,并且在调用达到一定数量后,响应中会出现 X-App-Usage 标头。借助这个标头,您可以在错误 4 出现之前就发现用量正在接近上限。
出现错误 4 之后应该怎么做?
先暂停调用一段时间,然后减少调用。
关于第一点,Meta 的速率限制指南说得很明确:达到上限后,请停止发起 API 调用,因为继续调用会增加调用计数,并延长调用恢复成功所需的时间。
第二点在于设计。请将请求均匀分散,而不是集中爆发;筛选响应内容,让一次调用就返回所需数据;避免调用获取重叠的数据。轮询通常是罪魁祸首。每隔几秒就查询同一个账户状态的集成,会把额度浪费在已经掌握的答案上。
常见错误
- 在循环中重试。每多一次调用,计数就增加一次,恢复时间也会被推得更远。
- 把它当作发送限制。错误代码 4 统计的是应用的调用次数,消息吞吐量对应的是 130429。
- 以很短的间隔轮询状态端点。重复读取没有变化的数据会消耗每小时的额度。
EasyCoexistence 在自己一侧全天候 24/7 监控每个已连接号码,因此检查连接状态时,不必再构建一个消耗您应用调用额度的轮询循环。
常见问题
错误 4 与错误 130429 是一回事吗?
不是。130429 是某个号码的消息吞吐量。错误 4 指的是您的应用已发起的 API 调用次数。
错误 4 会持续多久?
直到滚动 1 小时窗口内的调用次数降到上限以下。在此期间继续调用会延长持续时间。
在哪里可以看到我的应用离上限还有多远?
在应用控制台的 Application Rate Limit 部分,以及响应中返回的 X-App-Usage 标头里。
错误 4 与错误 80007 是一回事吗?
不是。Meta 在 WhatsApp Business 账户达到速率限制时使用 80007,而错误 4 统计的是应用自身的调用次数。
继续阅读
准备开始了吗?
几分钟即可设置 WhatsApp Coexistence,而不是几个月。应用会继续在手机上运行。
开始免费试用验证时间