Curosa
Supplier Portal API Reference New

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 使用模式并调整集成,以保持在速率限制范围内,并为活动高峰留出空间。

需要更高的限制?

如果您的应用程序需要更高的速率限制,请联系我们的支持团队讨论您的使用场景并探索可用选项。