跳转到主要内容
POST
/
orders
/
{id}
/
claim
Claim a held order
curl --request POST \
  --url https://csboard.com/v1/orders/{id}/claim \
  --header 'Authorization: Bearer <token>'
{
  "order_id": "ord_01J9Z3K8Q2",
  "status": "delivering",
  "claimed": true,
  "steam_trade_offer_id": "5512345678"
}
部分订单会进入 持有 状态:物品处于市场托管窗口中,在该窗口结束前无法交付。持有中的订单在 GET /v1/ordersGET /v1/orders/{id} 中会显示为 status: "hold" 并带有 hold_until 时间戳。 hold_until 已过:
  • 部分持有订单会自动交付 —— 您无需做任何事,调用此接口会返回 claimed: false(无害的空操作)。
  • 其他持有订单必须被领取 —— 您需要调用此接口来释放交易。如果不领取,它们会一直停留在持有状态。
由于从外部无法区分这两类订单,安全的做法是:hold_until 过后调用一次 claim。 如果订单属于自动交付类型,您会得到一个空操作;如果它需要领取,则会被释放。
不想为每个订单轮询和领取?将账户级 autoclaim 标志设为 true,每个持有订单会在其持有窗口结束的瞬间自动释放 —— 无需调用 claim。

推荐流程

  1. 使用 POST /v1/ordersPOST /v1/market/buy 下单购买。
  2. 轮询 GET /v1/orders/{id}。当订单显示为 status: "hold" 时,检查 hold_until
  3. 一旦 hold_until 已过,调用 POST /v1/orders/{id}/claim
  4. 当返回 claimed: true 时,市场会向您的 trade URL 发送一个 Steam 交易报价。您的机器人必须在约 15 分钟内接受,否则交易将被取消,余额会退回。

响应一览

状态含义
200 claimed: true交易已释放;返回 steam_trade_offer_id。请在约 15 分钟内接受。
200 claimed: false该订单会自动交付;无需任何操作。
409 not_claimable订单不在持有状态(已在交付/已完成/已失败)。
425 hold_not_cleared仍在持有窗口内 —— 请在返回的 hold_until 之后重试。
502 delivery_failed市场拒绝了释放请求。如果上游取消了持有,则 refunded: true
404 order_not_found此账户下不存在该订单。
在释放进行中期间,claim 是幂等的 —— 重复调用会返回冲突,绝不会导致重复交付。网络超时后重试是安全的。

授权

Authorization
string
header
必填

Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.

路径参数

id
string
必填

CSBoard order id of the held order to claim.

响应

Claim accepted. claimed: true means the trade was released now; claimed: false means this order delivers automatically and no action was needed.

order_id
string
必填
status
enum<string>
必填
可用选项:
delivering,
hold
claimed
boolean
必填
steam_trade_offer_id
string | null

Present when claimed just released a trade offer.

detail
string

Present on the auto-delivering no-op case.