Skip to main content
CSBoard API 为自动化而设计。每个端点都是确定性的、支持游标分页且具备速率限制感知能力,这使得构建价格监控器、抢购机器人、套利工具和完整市场数据管道变得简单。本指南介绍构建可靠自动化系统所需的关键模式。

AI 智能体集成

如果您正在构建一个 AI 智能体或由 LLM 驱动的工具,让它访问完整 API 表面的最快方式是通过 /llms.txt 处的机器可读规范。该文件以单个、紧凑的文档形式包含完整的 API——无需解析。 对于支持模型上下文协议(MCP)的智能体,请将 CSBoard 服务器添加到您的 MCP 配置中:
连接后,智能体可以将任何 CSBoard 端点作为工具进行调用——浏览挂单、查询价格和下单——无需您编写任何粘合代码。

轮询新挂单

要在新挂单出现时检测到它们而无需重新扫描整个目录,请使用 sort=newest 结合游标分页。在每个轮询周期中,翻页直到您遇到已经见过的挂单 ID,然后停止。
在启动时通过运行一次完整轮询(但不对结果采取任何行动)来填充 SEEN_IDS。这样,您只会对机器人启动 之后 出现的挂单触发动作——而不是对所有已经在线的挂单。

价格监控机器人

定期轮询 GET /v1/prices,将每个物品的 min_price_usd 与您的目标阈值进行比较,并在价格降至阈值以下时触发警报或自动购买。
来自 /v1/pricesmin_price_usd 是一个分组的指示性快照——它可能滞后于实时的单品价格。在下单之前,请始终从 /v1/listings 获取具体挂单,并使用其 price_usd 作为权威价格。

安全的购买自动化

自动化购买需要比手动购买更具防御性的代码。请无条件遵循以下四条规则。 1. 始终发送 max_price_usd 您的价格上限会在余额扣款过程中原子性地强制执行。如果不设置,从您获取挂单到订单执行之间的价格飙升可能会导致意外扣款。将 max_price_usd 设置为您观察到的 price_usd,如果您愿意承受小幅滑点,可以加上一个小缓冲:
2. 始终使用 Idempotency-Key 每次订单尝试生成一个 UUID v4。如果您的请求超时或返回网络错误,请使用 相同的密钥 重试——服务器会重放原始结果,而不是执行第二次购买。
3. 处理 429 与 Retry-After 被限流的响应包含一个 Retry-After 头部(秒数)。始终读取该值并恰好休眠相应时长——不要使用固定的退避时间,因为它可能比所需时间更短或更长。 4. 优雅地处理 409 price_moved 409 price_moved 意味着价格已超过您的上限——没有任何扣款发生。决定是重新获取挂单、更新 max_price_usd 后重试,还是放弃这次机会:

批量数据管道

对于比价网站、分析仪表板,或任何需要完整目录的系统,请使用快照端点而不是通过 /v1/prices 进行分页。
使用 ETag 避免重新下载未更改的快照。存储每个 200 响应中的 ETag 头部值,并在下次请求时作为 If-None-Match 发回。304 Not Modified 响应意味着您的本地副本仍然是最新的。
快照端点限速为 每分钟 1 个请求。请将您的管道设计为以它作为每隔几分钟刷新一次的基础层,并通过 /v1/prices 为您正在主动监控的物品叠加实时更新。

最佳实践清单

在投入生产之前,请验证以下所有事项:
  • ✅ 您在每次 POST /v1/orders 调用上都发送 max_price_usd
  • ✅ 每次订单尝试都生成新的 UUID v4 Idempotency-Key
  • ✅ 您的重试逻辑在网络错误重试时复用相同的 Idempotency-Key
  • ✅ 您的 429 处理器读取并休眠 Retry-After,而不是硬编码值
  • ✅ 您的 409 price_moved 处理器明确决定是重试还是放弃
  • ✅ 您在下单之前从 /v1/listings(而不是 /v1/prices)读取 price_usd
  • ✅ 您使用 ETag 与快照端点配合以避免冗余下载
  • ✅ 仅当您的机器人确实需要购买时,您的 API 密钥才启用交易

相关页面