POST /v1/orders — 使用余额购买 CS2 挂单
在单次原子请求中按 ID 购买 1–10 件 CS2 挂单,从您的 CSBoard 余额中扣款。需要启用交易的 API 密钥以及已绑定的 Steam 账户。
/v1/listings 时看到的价格。为防止查询与下单之间的价格波动,请始终包含 max_price_usd 作为总价上限。该端点是幂等的:使用相同的 Idempotency-Key 重试会重放原始订单,而非产生重复扣款。
需要身份验证。 请将密钥作为 Authorization: Bearer csb_pub_... 发送。
需要交易能力。 API 密钥必须启用购买功能。请在您的 CSBoard 个人资料中进行配置。
前置条件
下单前,请确保:- 启用交易的密钥——必须在您的 CSBoard 个人资料设置中为该 API 密钥开启购买功能。
- 已绑定的 Steam 账户与交易链接——您的 CSBoard 账户必须已绑定 Steam 账户并配置有效的交易链接,以便商品可以交付。
- 充足的余额——您的 CSBoard 余额必须能够覆盖所有商品按实时价格的总成本。
请求头
请求体
GET /v1/listings 响应的 id 字段获取。每个 ID 在一次请求中只能出现一次。price_moved 错误被拒绝,且不会扣款。强烈建议使用——若无此值,您将无任何超额扣款保护。Idempotency-Key 请求头的替代方案。如果两者都提供,则以请求头为准。请二选一使用,不要同时使用。响应字段
ord_01J9Z3K8Q2。processing、completed 或 failed。示例请求
示例响应
错误代码
| HTTP 状态码 | 代码 | 含义 |
|---|---|---|
| 409 | price_moved | 商品的实时总额超过了 max_price_usd。订单被拒绝;未扣款。响应中包含 current_total_usd,显示实际价格。 |
| 402 | insufficient_balance | 余额过低,无法覆盖订单总额。 |
| 400 | steam_account_required | 您的 CSBoard 账户上未绑定 Steam 账户或没有有效的交易链接。 |
| 403 | trading_not_enabled | 该 API 密钥未启用购买功能。请在您的个人资料中启用。 |
| 401 | unauthorized | API 密钥缺失或无效。 |
| 429 | rate_limit_exceeded | 超过 30 次/分钟。请在重试前等待 Retry-After 响应头中的秒数。 |
hold 交付的商品受 Steam 交易冻结约束。请查看原始挂单(来自 GET /v1/listings)上的 tradable_at 字段,了解被冻结的商品何时能在您的 Steam 库存中可交易。授权
Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.
请求头
Optional. A retried request with the same key replays the original order instead of buying twice.
请求体
1–10 unique ids from /v1/listings. Some items can't be combined in a single order — if so the order is rejected and you can split it.
1 - 10 elementsTotal ceiling in USD. Strongly recommended — your overcharge protection, enforced atomically inside the locked debit.
Optional; or send the Idempotency-Key header. Replays the original order on retry.