Skip to main content
通过 CSBoard API 购买可以让您以编程方式获取 CS2 皮肤——直接从您的余额扣款,具备原子超额收费保护和内置幂等性。在您的第一笔订单生效之前,您需要完成一次简短的一次性设置。请按顺序完成以下步骤。
标准的只读密钥 永远 无法消费资金。交易是有意采用「主动启用」模式——泄露或受损的只读密钥在您显式启用之前无法下单或耗尽您的余额。

设置

1

在您的密钥上启用交易

访问您的 API 个人资料,并为您想使用的密钥切换 buying 开关。在您完成此操作之前,每次对 POST /v1/orders 的调用都会返回 403 trading_not_enabled。
2

关联您的 Steam 账户和交易 URL

订单直接交付到 Steam,因此您必须在个人资料中设置已关联的 Steam 账户和有效的交易 URL。否则 API 会返回 400 steam_account_required。
3

为您的 CSBoard 余额充值

购买款项从您现有的 CSBoard 余额中扣除。请在站点上充值——API 本身不提供任何卡或加密货币支付路径。
4

寻找要购买的挂单

查询 GET /v1/listings 以查找物品并收集它们的 id 字段。响应中的每个 id 都是一个稳定的引用,您可以直接将其传递给订单端点。
5

下单

将挂单 ID POST 到 /v1/orders。包含 max_price_usd 和 Idempotency-Key——两者都将在下方详细说明。

超额收费保护

您始终按 执行时的实时价格 扣款,而不是您浏览挂单时看到的价格。市场会变动——您 30 秒前获取的挂单到您的订单落地时可能已被以更高价格重新挂出。 使用 max_price_usd 作为总价格上限。扣款是原子的:如果执行时的实时总价超过您的上限,整个订单将被拒绝并返回 409 price_moved——不会扣款也不会转移任何物品。
在下单前,始终从 GET /v1/listings 读取 price_usd——该值是权威的,并等于确切的扣款金额。/v1/prices 端点返回的是一个指示性的分组快照,可能滞后于实时的单品价格。
如果价格变动且您收到 400,响应主体会包含 current_total_usd,以便您决定是否以更高的上限重新提交,或放弃:

幂等性

网络故障时有发生。如果没有幂等性,超时后的重试可能会让同一个物品被购买两次。通过在每个订单请求中发送唯一的 Idempotency-Key 头部来防止这种情况。
  • 如果服务器收到两个具有相同密钥的请求,它会重放原始订单结果——购买永远不会被执行第二次。
  • 您也可以在请求主体中传递 idempotency_key 而不是放在头部;两者效果相同。
  • 每次订单尝试使用一个 UUID v4,而不是每次重试。

响应示例

新订单返回 201 及订单详情(使用相同 Idempotency-Key 的重放返回 200,响应体相同):

交付

订单响应包含订单级别的 delivery 字段,以及可估算时的 expected_minutes:
  • instant — 机器人交付;交易报价会在几分钟内发送到您的 Steam 交易 URL。
  • pending — 仍需卖家或供应商发起交易。
在 Steam 交易冻结期内购买的物品需等待冻结结束——请在购买前查看挂单的 delivery 和 tradable_at。通过 GET /v1/orders/{id} 跟踪订单(其中会显示 hold 和 hold_until),并使用 POST /v1/orders/{id}/claim 或 autoclaim 设置领取。

错误参考


后续步骤