Перейти к основному содержанию
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"
}
Часть заказов попадает в состояние холда: предмет находится под эскроу-блокировкой маркетплейса и не может быть доставлен, пока блокировка не снята. Заказ в холде виден как status: "hold" с меткой hold_until в GET /v1/orders и GET /v1/orders/{id}. После того как hold_until прошёл:
  • Часть заказов доставляется автоматически — делать ничего не нужно, вызов этого эндпоинта вернёт claimed: false (безвредный no-op).
  • Часть заказов нужно забрать вручную (claim) — вызываете этот эндпоинт, чтобы запустить трейд. Без claim они остаются в холде бесконечно.
Снаружи отличить одно от другого нельзя, поэтому безопасный паттерн: после hold_until вызвать claim один раз. Если заказ был авто-типа — получите no-op; если требовал claim — он запустится.
Не хотите поллить и клеймить каждый заказ? Включите на уровне аккаунта флаг autoclaim в true — и каждый заказ из холда будет забираться автоматически в момент снятия блокировки, без вызовов claim.

Рекомендуемый флоу

  1. Создайте покупку через POST /v1/orders или POST /v1/market/buy.
  2. Поллите GET /v1/orders/{id}. Пока заказ status: "hold" — смотрите hold_until.
  3. Как только hold_until в прошлом — POST /v1/orders/{id}/claim.
  4. При claimed: true маркетплейс отправляет Steam-трейд на ваш trade URL. Ваш бот обязан принять его за ~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.