Getting started
速率限制
了解 API 速率限制以及处理这些限制的最佳实践。
概述
为了确保公平使用并为所有用户维持最佳性能,Curosa API 对所有端点实施了速率限制。速率限制有助于保护 API 免受过载影响,并确保为每个人提供可靠的服务。
速率限制
速率限制按端点应用:
- 登录端点 (
POST /login):每小时 10 次请求 - 所有其他已记录的 API 端点:每小时 3,600 次请求
任何例外情况请始终参考特定端点的文档。
速率限制响应头
每个 API 响应都包含速率限制响应头,以便您实时监控使用情况:
x-ratelimit-limit:当前窗口的请求限制x-ratelimit-remaining:当前窗口剩余的请求数
速率限制响应
当您超过速率限制时,API 将返回 429 Too Many Requests:
{"success":false,"message":"Too many requests. Please try again later."}
如果收到此响应,您应该暂停请求并在短时间延迟后重试。
最佳实践
为了避免达到速率限制并确保最佳 API 使用效果,请遵循以下建议:
1. 实施指数退避
当您收到 429 响应时,请在重试逻辑中实施指数退避:
- 第一次重试前等待 1 秒
- 随后的每次重试等待时间翻倍(2秒、4秒、8秒等)
- 设置最大重试次数限制以防止死循环
重试逻辑示例:
初始请求失败 → 等待 1s → 重试
仍然失败 → 等待 2s → 重试
仍然失败 → 等待 4s → 重试
2. 在适当的情况下缓存响应
通过缓存不经常更改的响应来减少不必要的 API 调用:
- 缓存参考数据(产品目录、类别等)
- 根据数据波动性设置适当的缓存过期时间
- 在可用时使用条件请求
3. 使用 Webhooks 代替轮询
与其反复轮询端点以获取更新,不如使用 Webhooks 接收实时通知:
- Webhooks 会自动向您推送更新
- 消除频繁轮询请求的需求
- 更高效并减轻两个系统的负载
- 有关设置说明,请参阅 Webhooks 文档
4. 尽可能使用批量请求
如果您需要检索多个资源,请检查 API 是否支持批量操作,以减少单个请求的数量。
5. 监控您的使用情况
跟踪您的 API 使用模式并调整集成,以保持在速率限制范围内,并为活动高峰留出空间。
需要更高的限制?
如果您的应用程序需要更高的速率限制,请联系我们的支持团队讨论您的使用场景并探索可用选项。