跳转到主要内容
Fluz 不按套餐出售 API 配额——不存在“免费版 = 每分钟 X 次请求、专业版 = 每分钟 Y 次请求”的分级,也没有按密钥分配的配额系统。取而代之的是,每个服务都会应用保护性速率限制来吸收滥用并保护其后端。正常的交互式与应用流量几乎不会触达这些限制;它们的存在是为捕捉失控脚本与滥用行为。
没有可公开申请提升的按套餐配额。如果一个行为良好的集成触达了限制,通常意味着存在值得修正的流量模式(参见构建行为良好的客户端),而不是需要提升的配额。

限制如何应用

限制是按服务独立强制执行的,并在该服务的所有实例之间全局评估——无法通过落在不同服务器来规避限制。一次请求通过以下组合来识别:
  • 你的 IP 地址——每个请求都会计入每-IP 的限制。
  • 你的访问令牌——完整的 Authorization 头。没有授权头的请求会跳过令牌限制器,但仍计入 IP 限制器,因此请发送一个稳定的令牌,以便按“你”来限速,而不是与共享 IP 的所有人被合并计算。
  • 端点路径——在一些公共界面上,特定路径有其自身限制。
超出任一限制将返回HTTP 429 Too Many Requests

各界面的流量限制

以下为持续的每秒限速。一旦超出,密钥将在短暂冷却期内被阻止,之后才会再次接受请求。
GraphQL API 端点是多数集成在处理充值、购买、转账与揭示时调用的——请围绕每秒 20 次请求进行规划。移动端/应用网关的每 IP、每令牌与每端点限制按环境配置,未公布为固定数值;将其视为保护性限制,并在收到 429 时回退。

认证与安全

登录、PIN 与双重验证(2FA)流程与一般 API 流量分开受保护。重复的失败尝试——登录、PIN 校验或 2FA 验证——以及过多的 2FA 或短信请求会触发临时锁定,并在冷却期后自动清除。成功的认证会重置这些计数器。
不要自动重试失败的登录、PIN 校验或 2FA。向用户展示“稍后再试”的状态——自动重试会延长锁定时间。

当你超出限制时

每个被限流的响应都会使用状态码**429 Too Many Requests**。其响应体与头部会随界面不同而变化:
响应头的可用性并不统一:
  • Retry-After(整型秒数)会在认证的 IP 限制器以及 PIN/2FA 流程中返回。对于通用的 GraphQL/web 流量限制器,保证提供。
  • 目前没有X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset 头——不要构建依赖它们的逻辑。

构建行为良好的客户端

1

将 429 视为可重试

在出现时遵守 Retry-After。若未提供,请采用指数回退,从约 1 秒开始(1s → 2s → 4s…),而非立刻重试。
2

保持适度的持续速率

不要从单一 IP 或令牌并行猛击某个界面。对于 GraphQL API,请将速率稳定维持在每秒 20 次请求以下并平滑突发。
3

不要自动重试认证失败

重复的登录、PIN 或 2FA 失败会导致临时锁定。向用户展示“稍后再试”的消息,而不是自动重试。
4

发送稳定的访问令牌

使用你的令牌为每个请求进行认证,这样基于令牌的限制会专门作用于你的流量,而不是与共享 IP 的其他人合并计算。
由于并非所有地方都保证提供 Retry-After,请将你的重试逻辑与idempotency keys配合使用,以确保重试的变更请求不会对一次购买或转账进行双重处理。完整的错误目录请参见错误