登录开始免费试用
Meta Tech Provider

WhatsApp 错误 4:应用已达到 API 调用速率限制

错误代码 4 表示应用已达到 API 调用速率限制。Meta 的说明是“The app has reached its API call rate limit.”它统计的是应用在滚动 1 小时内发出的调用次数,而不是某个号码发送的消息数。请在应用控制台查看用量,等待一段时间,并减少应用调用 API 的频率。

4

Meta 对“The app has reached its API call rate limit.”使用的错误代码。

200 x users

根据 Graph API Platform Rate Limits,应用在 1 小时内可发起的调用次数。

API Too Many Calls

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 完成这些操作

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,而不是几个月。应用会继续在手机上运行。

开始免费试用

验证时间

WhatsApp 错误 4:应用达到 API 调用速率限制