POST /v1/orders — покупка листингов CS2 со своего баланса
Покупайте 1–10 листингов CS2 по ID в одном атомарном запросе со списанием с баланса CSBoard. Требуется API-ключ с включённой торговлей и привязанный аккаунт Steam.
/v1/listings. Чтобы защититься от движений цены между запросом и покупкой, всегда указывайте max_price_usd как верхнюю границу итога. Эндпоинт идемпотентен: повтор с тем же Idempotency-Key воспроизводит исходный заказ, а не создаёт дубликат списания.
Требуется аутентификация. Отправьте ключ как Authorization: Bearer csb_pub_....
Требуется возможность торговли. Для API-ключа должны быть включены покупки. Настройте это в профиле CSBoard.
Предварительные условия
Перед оформлением заказа убедитесь, что:- Ключ с включённой торговлей — покупки должны быть включены для вашего API-ключа в настройках профиля CSBoard.
- Привязанный аккаунт Steam и trade URL — к аккаунту CSBoard должен быть привязан аккаунт Steam с валидным trade URL, чтобы предметы можно было доставить.
- Достаточный баланс — баланс CSBoard должен покрывать суммарную стоимость предметов по их живым ценам.
Заголовки запроса
Тело запроса
id ответов GET /v1/listings. Каждый 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-аккаунт или нет валидного trade URL. |
| 403 | trading_not_enabled | Для API-ключа не включены покупки. Включите их в профиле. |
| 401 | unauthorized | Отсутствует или некорректный API-ключ. |
| 429 | rate_limit_exceeded | Более 30 запросов/мин. Перед повтором подождите время, указанное в заголовке Retry-After. |
hold, попадают под торговый холд Steam. Проверяйте поле tradable_at исходного листинга (из GET /v1/listings), чтобы узнать, когда именно удерживаемый предмет станет доступен для обмена в вашем инвентаре 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.