POST /v1/p2p/listings — выставление ваших предметов CS2 на P2P-маркет
Выставьте один предмет CS2 или до 50 сразу на P2P-маркет CSBoard по своей цене. Бесплатно с любым API-ключом; Idempotency-Key обязателен.
{ "items": [...] }. Берите operational_asset_id и asset_revision из GET /v1/p2p/inventory и передавайте их без изменений.
Требуется аутентификация. Отправьте ключ как Authorization: Bearer csb_pub_.... Бесплатно — подойдёт любой действующий ключ, без требований к балансу и без торгового доступа.
Правила для продавца
Действуют те же правила, что и на сайте:- подтверждённый email или привязанный Telegram, чтобы мы могли сообщить вам о продаже;
- расширение или приложение CSBoard, способное отправить трейд в Steam, и Steam Mobile Authenticator на аккаунте;
- отсутствие P2P-cooldown, приостановки или блокировки магазина;
- актуальный снимок вашего инвентаря (см.
inventory_proofвGET /v1/p2p/inventory).
Нижняя граница цены
Цена не может быть ниже половины нашей рыночной цены на предмет. На сайте продавец может подтвердить более низкую цену после предупреждения. Через API-ключ такого подтверждения нет: более низкая цена получает422 price_below_market с market_usd и floor_usd, чтобы вы могли поправить цену и отправить запрос снова. Такой отказ не расходует ваш Idempotency-Key. Если рыночной цены на предмет у нас нет, нижняя граница не применяется.
Цены указываются в USD, от 0.10 до 100000, в целых центах. 12.345 отклоняется, а не округляется.
Идемпотентность
Idempotency-Key обязателен (8–128 символов, уникальный для каждого запроса на публикацию). Если вы повторите тот же запрос с тем же ключом, каждый уже опубликованный предмет вернётся как есть, а не будет выставлен второй раз. Повтор для одного предмета отвечает 200 с заголовком Idempotent-Replay: true.
- Повторное использование ключа с другой ценой или ревизией даёт
409 idempotency_key_mismatch. - После
409 idempotency_key_consumedпредыдущая попытка оборвалась на полпути — повторите запрос с новым ключом.
Ответы
- Один предмет:
201с листингом или200при повторе. - Пакет: всегда
200с результатом по каждому предмету вdata. Ошибка одного предмета не останавливает остальные; у неудачного предмета естьstatusиcode, которые он получил бы, если бы отправлялся отдельно.
Пример запроса
Пример ответа
Коды ошибок
Авторизации
Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.
Заголовки
Required, 8–128 characters, unique per publish request. Resending the same request with the same key returns each item that was already published instead of listing it twice. A key reused with a different price or revision answers 409 idempotency_key_mismatch; after 409 idempotency_key_consumed, use a new key. A 422 price_below_market refusal does not spend the key.
8 - 128Тело
- Option 1
- Option 2
The copy to list, from GET /p2p/inventory.
256"5b0c1f7e-3d2a-4c8e-9a61-2f4d8b7e1c30"
From GET /p2p/inventory, unchanged. If the item changed since you read it, the publish answers 409 asset_revision_changed — read the inventory again.
16 - 128"sha256:fd0e6de607b774aaaf4d9cdb7e014c003ba614b03f0460b01e8c94bce034bac5"
Asking price in USD, whole cents (12.34; 12.345 is refused, not rounded). It may not be under half of our market price for the item — see price_below_market.
0.1 <= x <= 100000Должно быть кратно 0.01