Skip to content

频控策略

飞书开放平台为不同的 OpenAPI 设定了不同级别的频控控制策略,以保障系统稳定性和为开发者提供最佳性能和优质的开发体验。不同的频控等级的具体限制有所不同,本文列举了在飞书开放平台上提供的具体的频控限制,并说明在调用 OpenAPI 遇到频控限制时应该如何处理。

触发限制后的响应

超过限制阈值时,飞书会返回 HTTP 状态码 429 ,将来自该客户端的任何进一步操作限制在一段时间内,并在失败请求的响应头中返回建议的等待时间。

发生限制时,你将收到与如下的示例类似的 HTTP 响应。

http
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
x-ogw-ratelimit-limit: 100 //窗口期上限,单位:秒
x-ogw-ratelimit-reset: 52 //恢复 limit 周期,单位:秒

{
    "code": 99991400,
    "msg": "request trigger frequency limit"
}

对于部分旧版 OpenAPI,你收到的 HTTP 响应可能略有不同(HTTP 状态码为 400)。示例如下:

HTTP/1.1 400 Bad Request
Content-Type: application/json
x-ogw-ratelimit-limit: 100 //窗口期上限,单位:秒
x-ogw-ratelimit-reset: 52 //恢复 limit 周期,单位:秒


{
    "code": 99991400,
    "msg": "request trigger frequency limit"
}

如何处理限制情况

当你在实现错误处理时,可以使用 HTTP 429 错误码(部分旧版 OpenAPI 为 HTTP 400 错误码)来判断出现限流情况。失败的响应头中包含 x-ogw-ratelimit-reset,使用该响应头延迟请求是解除限频的最好方法。

  1. 等待 x-ogw-ratelimit-reset 中指定的秒数。
  2. 重试请求。
  3. 若请求再次失败并出现 HTTP 429 错误码,你将会再次被限制。可以继续使用推荐的 x-ogw-ratelimit-reset 延迟并重试请求,直到成功。

频控策略等级

通常情况下,频控策略等级都是应用于 每个 API每个应用每个租户 的基础上。 根据场景的不同,同一个资源的不同操作方法可能频控等级不同。例如,写入接口的频控等级会略低于读取接口,以保护系统本身的可靠性。

Note

  • 自建应用根据所属企业的套餐不同,对应的频控等级有所不同。商店应用则与所在企业无关,受商店应用自身频控策略限制。
  • 自定义机器人的频率控制和普通应用不同,为单租户单机器人 100 次/分钟,5 次/秒。建议发送消息尽量避开诸如 10:00、17:30 等整点及半点时间,否则可能出现因系统压力导致的 11232 限流错误,导致消息发送失败。
  • 大部分 OpenAPI 的频控策略归属于某一个特定的频控策略等级,但也有部分 OpenAPI 由于较为复杂,不在标准的频控策略当中覆盖,你需要通过联系技术支持获取具体的频控策略。
  • 对于不同时间周期内的限频策略(如 1000次/分&50次/秒),请求速率达到任意上限(QPS 或 QPM)都会触发限流。
  • 每一个频控策略等级的具体限制值是有可能发生变化的,我们将在发生变化时通过飞书开放平台的更新日志告诉你。

等级 描述 基础版自建应用限制 商业版自建应用限制 商店应用限制

1 当前 API在每个应用、每个租户 10 次 / 分钟 10次/分 10次/分 10次/分

2 当前 API在每个应用、每个租户 20 次 / 分钟 20次/分 20次/分 20次/分

3 当前 API在每个应用、每个租户 100 次 / 分钟 100次/分 100次/分 100次/分

4 当前 API在每个应用、每个租户 1000 次/分钟、50 次/秒 1000次/分 & 50次/秒 1000次/分 & 50次/秒 1000次/分 & 50次/秒

5 当前 API在每个应用、每个租户 1 次 / 秒 1次/秒 1次/秒 1次/秒

6 当前 API在每个应用、每个租户 5 次 / 秒 5次/秒 5次/秒 5次/秒

7 当前 API在每个应用、每个租户 10 次 / 秒 10次/秒 10次/秒 10次/秒

8 当前 API在每个应用、每个租户 20 次 / 秒 20次/秒 20次/秒 20次/秒

9 当前 API在每个应用、每个租户 50 次 / 秒 50次/秒 50次/秒 50次/秒

10 当前 API在每个应用、每个租户 50 次 / 秒 50次/秒 100次/秒 50次/秒

11 当前 API在每个应用、每个租户 100 次 / 秒 100次/秒 100次/秒 100次/秒

21 当前 API在每个应用、每个租户 3 次 / 秒 3次/秒 3次/秒 3次/秒

特殊频控 非标准频控,请点击右下角“技术支持”了解具体配置

如何针对应用、企业提升 API 接口频控

飞书开放平台暂不支持自行调整 API 接口频控。如你有数据迁移、大型活动等场景需要短时间提升接口频控,可联系所在企业的 CSM(客户成功经理),提升接口频控。

Note消息群组多维表格暂时不支持提频。

内容来源:飞书开放平台 · 自动爬取整理