Покупка/продажа предметов
Выставить предмет на продажу
- [id] — id предмета в Steam, можно найти в описании вещей своего инвентаря в стиме.
- [price] — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000)
- [currency] — валюта (RUB, USD, EUR) дополнительная проверка, если будет указана не равная текущей установленной в вашем аккаунте, покупка не произойдет. Это защита от потери денег в случае, если вы сменили валюту на вашем аккаунте и забыли про API
{
"success":true,
"item_id":136285662
}
{
"success":false,
"error":"bad_request"
}
- bad_input - не верно указаны параметры
- inventory_not_loaded - необходимо обновить инвентарь
- item_not_recieved - необходимо обновить инвентарь
- no_description_found - стим не вернул описание предмета попробуйте позже
- item_not_inserted - не удалось выставить на продажу
- item_not_in_inventory — Предмет не найден в инвентаре, попробуйте сначала обновить его с помощью метода UpdateInventory и подождать 10-20 секунд перед повторной попыткой.
- bad_request — Неверно указана цена или вообще не указана
Выставить предмет на продажу
https://market.csgo.com/api/v2/mass-add-to-sale?key=[your_secret_key]&cur=[currency]
{
"items": [
{
"asset": 42403178768,
"price": 1900
},
{
"asset": 42222704480,
"price": 1800
}
]
}
- [asset] — id предмета в Steam, можно найти в описании вещей своего инвентаря в стиме.
- [price] — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000)
- [currency] — валюта (RUB, USD, EUR) дополнительная проверка, если будет указана не равная текущей установленной в вашем аккаунте, покупка не произойдет. Это защита от потери денег в случае, если вы сменили валюту на вашем аккаунте и забыли про API
{
"success": true,
"items": [
{
"success": true,
"asset": 42403178768,
"item_id": 5712803718,
"currency": "RUB"
},
{
"success": true,
"asset": 42222704480,
"item_id": 5712803719,
"currency": "RUB"
}
]
}
{
"success": true,
"items": [
{
"success": false,
"asset": 42222704480,
"item_id": null,
"currency": "RUB",
"error": "bad_input"
}
]
}
- bad_input - не верно указаны параметры
- inventory_not_loaded - необходимо обновить инвентарь
- item_not_recieved - необходимо обновить инвентарь
- no_description_found - стим не вернул описание предмета попробуйте позже
- item_not_inserted - не удалось выставить на продажу
- item_not_in_inventory — Предмет не найден в инвентаре, попробуйте сначала обновить его с помощью метода UpdateInventory и подождать 10-20 секунд перед повторной попыткой.
- bad_request — Неверно указана цена или вообще не указана
Установить новую цену на предмет, или снять с продажи.
- [item_id] — ID предмета в нашей системе, его можно получить из результата запроса add-to-sale
- [price] — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000), если указать 0 предмет будет снят с продажи
- [currency] — валюта (RUB, USD, EUR) дополнительная проверка, если будет указана не равная текущей установленной покупка не произойдет.
{
"success": true
}
{
"success":false,
"error":"bad_item"
}
- bad_item - предмет с данным ID не найден
Установить новую цену на предмет, или снять с продажи.
{
"items": [
{
"item_id": 5712803716,
"price": 1600
},
{
"item_id": 5712803717,
"price": 1700
}
]
}
- [item_id] — ID предмета в нашей системе, его можно получить из результата запроса add-to-sale
- [price] — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000), если указать 0 предмет будет снят с продажи
- [currency] — валюта (RUB, USD, EUR) дополнительная проверка, если будет указана не равная текущей установленной покупка не произойдет.
{
"success": true,
"items": [
{
"success": true,
"item_id": 5712803716,
"price": 1600,
"currency": "RUB"
},
{
"success": true,
"item_id": 5712803717,
"price": 1700,
"currency": "RUB"
}
]
}
{
"success":false,
"error":"bad_item"
}
- bad_item - предмет с данным ID не найден
Установить новую цену на предметы, или снять с продажи несколько предметов по hash name.
https://market.csgo.com/api/v2/mass-set-price-mhn?key=[your_secret_key]&cur=[currency]
{
"market_hash_name": "★ StatTrak™ Karambit | Marble Fade (Factory New)",
"price": 2600000
}
- [market_hash_name] — hash name предмета в нашей системе
- [price] — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000), если указать 0 предмет будет снят с продажи
- [currency] — валюта (RUB, USD, EUR) дополнительная проверка, если будет указана не равная текущей установленной покупка не произойдет.
{
"success": true,
"items": [
{
"success": true,
"item_id": 5712824543,
"price": 2600000,
"currency": "RUB"
},
{
"success": true,
"item_id": 5712824544,
"price": 2600000,
"currency": "RUB"
}
]
}
{
"success": false,
"error": "invalid_json"
}
- invalid_json - неверный формат тела запроса
- invalid_currency - неверный формат параметра запроса [currency]
- missing_market_hash_name - не передан параметр тела запроса [market_hash_name]
- invalid_market_hash_name - неверный формат параметра тела запроса [market_hash_name]
- missing_price - не передан параметр тела запроса [price]
- invalid_price - неверный формат параметра тела запроса [price]
Снятие сразу всех предметов с продажи.
{
"count":4,
"success":true
}
- count — Количество предметов, которые были сняты с продажи, 0 если нет выставленных предметов
Получение инвентаря Steam, только те предметы, которые Вы еще не выставили на продажу.
- lang — Язык инвентаря, с которым вы работаете. Доступные значения: ru, en
{
"success": true,
"items": [
{
"id": "14933635912",
"classid": "310776767",
"instanceid": "0",
"market_hash_name": "SCAR-20 | Carbon Fiber (Factory New)",
"market_price": 10.34,
"tradable": 1
}
]
}
- id — ID (assetid) для выставления на продажу (см. метод add-to-sale)
- market_price — рекомендованная цена продажи
Получение состояния кеша инвентаря Steam
{
"success": true,
"is_updating": false,
"last_time_update": 1741810291,
"last_time_success_update": 1741810291,
"items": 169
}
- is_updating — идет ли в данный момент обновление кеша инвентаря
- last_time_update — время последнего обновления
- last_time_success_update — время последнего успешного обновления
- items — количество предметов, полученное в результате последнего обновления
Список предметов:
{
"success": true,
"items": [
{
"item_id": "286316844",
"assetid": "15092687536",
"classid": "637317999",
"instanceid": "630912635",
"real_instance": "1629337655",
"market_hash_name": "Horns of Monstrous Reprisal",
"position": 0,
"price": 4,
"currency": "RUB",
"status": "1",
"live_time": 920,
"left": null,
"botid": "0",
"settlement": 0,
}
]
}
- status = 1 — Вещь выставлена на продажу.
- status = 2 — Вы продали вещь и должны ее передать боту.
- status = 3 — Ожидание передачи боту купленной вами вещи от продавца.
- status = 4 — Вы можете забрать купленную вещь.
- item_id — ID предмета в нашей системе
- status — статус предмета (см. выше)
- price — ваша цена
- position — позиция в очереди продажи (сортировка по наименьшей цене), в момент покупки выбирается самый дешевый предмет.
- botid — ID бота, на котором находится предмет в статусе 4.
- assetid — ID предмета в инвентаре бота.
- left — Времени осталось на передачу предмета, после этого операция будет отменена и деньги вернутся покупателю. Будут начислены штрафные баллы
- settlement — если > 0, то это значит, что трейд успешный, покупатель уже получил предмет, но финальный статус он примет по истечение этого времени
Включить продажи, необходимо отправлять раз в 3 минуты.
{
"success": true,
"ping": "pong",
"online": true,
"p2p": true,
"steamApiKey": true
}
{
"success": false,
"message": "too early for pong"
}
Включить продажи, необходимо отправлять раз в 3 минуты.
[POST] https://market.csgo.com/api/v2/ping-new?key=[your_secret_key]
{
"access_token": "eyAidHlwIjogIkpXVCIsICJhb.....",
"proxy": "http://proxy_login:proxy_pass@proxy_ip:proxy_port"
}
Параметр «proxy» опционален. Если он передан, то запросы с вашим «access_token» будут выполнены через прокси.
- Метод https://steamcommunity.com/pointssummary/ajaxgetasyncconfig позволяет запросить access token со скоупом "web:community". Данный скоуп позволяет использовать такие методы, как GetTradeOffer, GetTradeOffers и GetTradeHistory, а также данный токен позволяет выполнять отмену предложений обмена.
- Мобильный токен, получаемый при помощи библиотек (например, DoctorMcKay/node-steam-session) обладают тем же уровнем доступа, но при этом имеют скоуп "web, mobile"
Для запросов https://*/pointssummary/ajaxgetasyncconfig используется следующий формат:
{
"success": 1,
"data": {
"webapi_token": "ACCESS_TOKEN"
}
}
Данный запрос обязательно требует использование в заголовках запроса cookie "steamLoginSecure", далее пример заголовка:
Cookie: steamLoginSecure=COOKIE_PAYLOAD;
Срок действия access_token - 24 часа. Вам необходимо обновлять его самим и отправлять каждый раз при вызове данного метода.
Если вы получили ошибку «invalid_access_token» и абсолютно уверены, что токен валидный, повторите запрос.
{
"success": true,
"ping": "pong",
"online": true,
"p2p": true,
"steamApiKey": true
}
{
"success": false,
"message": "invalid_access_token"
}
Создать запрос на передачу купленных предметов, находящихся на наших ботах.
- botid — id нашего бота у которого хотите забрать предметы, параметр не обязательный.
{
"success": true,
"trade": "1704976549",
"nick": "NIPFribergEZIO",
"botid": "354589802",
"profile": "https://steamcommunity.com/profiles/76561198314855530/",
"secret": "1J10",
"items": [
"1812819920_188530170",
"2082539396_188530139",
"2048839018_902658099"
]
}
- 3001 — нечего передавать.
Создать запрос на передачу купленных предметов нашему боту
{
"success": true,
"trade": "1704976549",
"nick": "NIPFribergEZIO",
"botid": "354589802",
"profile": "https://steamcommunity.com/profiles/76561198314855530/",
"secret": "1J10",
"items": [
15060788266
]
}
Запросить данные для передачи предмета покупателю
{
"success": true,
"hash" : "234234234/wefsdgsd",
"offer" : {
"partner" : 12345,
"token" : "fffffff",
"tradeoffermessage" : "sdfsdf . . . 234234234/wefsdgsd",
"items" : [
{
"appid" : 730,
"contextid" : 2,
"assetid" : 23452345,
"amount" : 1
}
]
}
}
Возвращает данные для создания всех трейдов
{
"success": true,
"offers": [
{
"partner": 12345,
"token": "fffffff",
"tradeoffermessage": "sdfsdf . . . 234234234/wefsdgsd",
"hash": "234234234/wefsdgsd",
"items": [
{
"appid": 730,
"contextid": 2,
"assetid": 23452345,
"amount": 1,
"price": {
"sell": 1000,
"receive": 950,
"currency": "USD"
}
}
]
},
{
"partner": 123456,
"token": "fffffff",
"hash": "234234234/wefsdas",
"tradeoffermessage": "sdfsdf . . . 234234234/wefsdas",
"items": [
{
"appid": 730,
"contextid": 2,
"assetid": 23452346,
"amount": 1,
"price": {
"sell": 1000,
"receive": 950,
"currency": "USD"
}
}
]
}
]
}
Регистрация у нас трейд оффера, который вы создали в Стиме
https://market.csgo.com/api/v2/trade-ready?key=[your_secret_key]&tradeoffer=[steam_trade_offer_id]
{
"success": false,
"tradeofferid": 1133557799,
"error": "not active offers"
}
Получить список трейд офферов, которые в данный момент были высланы Маркетом на Ваш аккаунт и ожидают подтверждения в Steam.
- extended — Расширенная информация
{
"success": true,
"trades": [
{
"dir": "out",
"trade_id": "3759667687",
"bot_id": "1022850783",
"timestamp": 1572021797,
"secret": "3R5U",
"nik": "teresiacais",
"list_item_id": {
"361847026": {
"id": "361847026",
"assetid": "17737368051",
"classid": "284952881",
"instanceid": "1625510296"
},
"361851594": {
"id": "361851594",
"assetid": "17737368059",
"classid": "284952881",
"instanceid": "1625510296"
}
}
},
{
"dir": "in",
"trade_id": "3759668212",
"bot_id": "1022850783",
"timestamp": 1572021825,
"secret": "EC58",
"nik": "teresiacais",
"list_item_id": {
"381304045": {
"id": "381304045",
"assetid": "8028182393",
"classid": "996701649",
"instanceid": "0"
}
}
}
]
}
- dir — Направление трейда: in - передача предмета который был продан; out - вывод предмета, который был куплен.
- trade_id - SteamID трейд оффера
- bot_id - SteamID нашего бота, который отправил его
Покупка предмета. В нашей системе возможно покупка только по одному предмету за запрос.
https://market.csgo.com/api/v2/buy?key=[your_secret_key]&hash_name=[market_hash_name]&price=[price]
https://market.csgo.com/api/v2/buy?key=[your_secret_key]&id=[id]&price=[price]
- [market_hash_name] — market_hash_name идентификаторы предмета.
- [id] — ID предмета
- [price] — цена в копейках (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000) целое число, уже какого-то выставленного лота, или можно указать любую сумму больше цены самого дешевого лота, во втором случае будет куплен предмет по самой низкой цене.
- [custom_id] - ваш уникальный ID (string[50]), по нему можно будет узнать статус операции (не обязательный параметр!)
{
"success":true,
"id":"136256960"
}
{
"success":false,
"error": "The recipient inventory is full",
"code": 21
}
- id - ID предмета
- 2 - Произошла неизвестная ошибка. Попробуйте еще раз.
- 3 - Не удалось проверить трейд ссылку
- 5 - Инвентарь получателя предмета скрыт
- 6 - Пользователь забанен в стиме
- 7 - У получателя предмета не привязан мобильный аутентификатор
- 8 - Ошибка проверки ссылки. Проверьте возможность оффлайн трейдов на вашем аккаунте
- 12 - Неверная трейд ссылка
- 20 - Наш бот для проверки трейд ссылки забанен
- 21 - Инвентарь получателя предмета переполнен
Покупка предмета и передача его другому пользователю.
- [market_hash_name] — market_hash_name идентификаторы предмета.
- [id] — ID предмета
- [price] — цена в копейках (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000) целое число, уже какого-то выставленного лота, или можно указать любую сумму больше цены самого дешевого лота, во втором случае будет куплен предмет по самой низкой цене.
- [chance] — Целое число, от 0 до 100. Фильтр предметов при покупке по продавцу с шансом на передачу не ниже указанного числа.
- partner=[partner]&token=[token] - параметры трейд ссылки аккаунта, который получит предмет.
- [custom_id] - ваш уникальный ID (string[50]), по нему можно будет узнать статус операции (не обязательный параметр!)
{
"success":true,
"id":"136256960"
}
{
"success":false,
"error": "The recipient inventory is full",
"code": 21
}
- id - ID предмета
- 2 - Произошла неизвестная ошибка. Попробуйте еще раз.
- 3 - Не удалось проверить трейд ссылку
- 5 - Инвентарь получателя предмета скрыт
- 6 - Пользователь забанен в стиме
- 7 - У получателя предмета не привязан мобильный аутентификатор
- 8 - Ошибка проверки ссылки. Проверьте возможность оффлайн трейдов на вашем аккаунте
- 12 - Неверная трейд ссылка
- 20 - Наш бот для проверки трейд ссылки забанен
- 21 - Инвентарь получателя предмета переполнен
Возвравщает информацию о статусе покупки
https://market.csgo.com/api/v2/get-buy-info-by-custom-id?key=[your_secret_key]&custom_id=[custom_id]
- [custom_id] — custom_id ваш уникальный ID заданый в методе (buy, buy-for)
{
"success": true,
"data": {
"item_id": "534415936",
"market_hash_name": "Spectrum 2 Case",
"classid": "2521767801",
"instance": "0",
"time": "1548081954",
"settlement": "1548081954",
"send_until" : null,
"stage": "5",
"paid": 0.9,
"causer": "buyer",
"refund": {
"seller": {
"amount": 0.18,
"currency": "RUB",
"refund_id": 1234568
},
"market": {
"amount": 0.09,
"currency": "RUB",
"refund_id": 1234569
}
},
"currency": "RUB",
"for": "1234567",
"trade_id": null
}
}
- trade_id - id активного trade_offer
- for - steamid(32) кому передан предмет (если покупка была через метод buy-for)
- time - Unix Timestamp когда была куплена вещь
- paid - почем была куплена вещь
- settlement - если > 0, то это значит, что трейд успешный, покупатель уже получил предмет, но финальный статус он примет по истечение этого времени
- refund.seller - комиссия продавцу за отмененный трейд в стиме
- refund.market - комиссия маркету за отмененный трейд в стиме
-
stage
- TRADE_STAGE_NEW = 1
- TRADE_STAGE_ITEM_GIVEN = 2
- TRADE_STAGE_TIMED_OUT = 5
Возвравщает информацию о статусе покупки
- custom_id[] — custom_id ваш уникальный ID заданый в методе (buy, buy-for)
{
"success": true,
"data": {
"custom_id": {
"item_id": "534415936",
"market_hash_name": "Spectrum 2 Case",
"classid": "2521767801",
"instance": "0",
"time": "1548081954",
"settlement": "1548081954",
"send_until" : null,
"stage": "5",
"paid": 0.9,
"causer": "buyer",
"refund": {
"seller": {
"amount": 0.18,
"currency": "RUB",
"refund_id": 1234568
},
"market": {
"amount": 0.09,
"currency": "RUB",
"refund_id": 1234569
}
},
"currency": "RUB",
"for": "1234567",
"trade_id": null
}
}
}
- trade_id - id активного trade_offer
- for - steamid(32) кому передан предмет (если покупка была через метод buy-for)
- paid - почем была куплена вещь
- time - Unix Timestamp когда была куплена вещь
- settlement - если > 0, то это значит, что трейд успешный, покупатель уже получил предмет, но финальный статус он примет по истечение этого времени
- refund.seller - комиссия продавцу за отмененный трейд в стиме
- refund.market - комиссия маркету за отмененный трейд в стиме
-
stage
- TRADE_STAGE_NEW = 1
- TRADE_STAGE_ITEM_GIVEN = 2
- TRADE_STAGE_TIMED_OUT = 5
История история покупок и продаж
https://market.csgo.com/api/v2/history?key=[your_secret_key]&date=12312314&date_end=12312714
https://market.csgo.com/api/v2/history?key=[your_secret_key]&date=[DD-MM-YYYY]
- [date] - дата в формате DD-MM-YYYY пример (10-08-1986). или UNIX_TIMESTAMP
- [date_end] - UNIX_TIMESTAMP
{
"success": true,
"data": [
{
"item_id": "286316842",
"market_hash_name": "Maraxiform's Ire",
"class": "2274724615",
"instance": "57949762",
"time": "1546229560",
"event": "buy",
"app": 570,
"stage": "2",
"for": null,
"custom_id": null,
"paid": "72",
"currency": "RUB"
},
{
"item_id": "286316843",
"market_hash_name": "Glove Case",
"class": "2066632015",
"instance": "0",
"time": "1546285942",
"event": "sell",
"app": 730,
"stage": "5",
"for": null,
"custom_id": null,
"received": "500",
"currency": "RUB",
"causer": "buyer",
"refund": {
"seller": {
"amount": 100,
"currency": "RUB",
"refund_id": 1234568
}
}
}
]
}
- app — на какой площадке был куплен предмет
- for — ID пользотвателя кому он был передан (если покупка была через метод buy-for)
- refund.seller - комиссия продавцу за отмененный трейд в стиме
- refund.market - комиссия маркету за отмененный трейд в стиме
-
stage
- TRADE_STAGE_NEW = 1
- TRADE_STAGE_ITEM_GIVEN = 2
- TRADE_STAGE_TIMED_OUT = 5
История покупок, продаж, операций пополнений, выводов на всех площадках
- [date] - UNIX_TIMESTAMP
- [date_end] - UNIX_TIMESTAMP
{
"success": true,
"data": [
{
"time": "1592564265",
"settlement": "1592564265",
"causer": "buyer",
"refund": {
"seller": {
"amount": 39,
"currency": "RUB",
"refund_id": 1234568
}
},
"event": "sell",
"item_id": "520336165",
"market_hash_name": "Glock-18 | Ironwork (Factory New)",
"class": "3706631132",
"instance": "188530139",
"price": "500",
"received": "468",
"currency": "RUB",
"stage": "5",
"for": null,
"custom_id": null,
"app": 730
},
{
"time": "1591817364",
"settlement": "1591817364",
"causer": "buyer",
"refund": {
"seller": {
"amount": 39,
"currency": "RUB",
"refund_id": 1234568
},
"market": {
"amount": 20,
"currency": "RUB",
"refund_id": 1234569
}
},
"event": "buy",
"item_id": "286316972",
"market_hash_name": null,
"class": null,
"instance": null,
"paid": "193",
"currency": "RUB",
"stage": "5",
"for": null,
"custom_id": null,
"app": 570
},
{
"time": "1588586061",
"event": "checkout",
"id": "542713332",
"amount": "1001",
"currency": "RUB",
"status": "105"
}
]
}
- app — на какой площадке был куплен предмет
- for — ID пользотвателя кому он был передан (если покупка была через метод buy-for)
- settlement - если > 0, то это значит, что трейд успешный, покупатель уже получил предмет, но финальный статус он примет по истечение этого времени
- refund.seller - комиссия продавцу за отмененный трейд в стиме
- refund.market - комиссия маркету за отмененный трейд в стиме
-
Event Checkout: status
- 0 - Заявка создана
- 10 - Заявка одобрена
- 20 - Заявка отправлена на исполнение
- 30 - Заявка исполнена
- 100 - Заявка отклонена
- 105 - Заявка отменена
- 110 - Ошибка
-
Event Byu/Sell: stage
- TRADE_STAGE_NEW = 1
- TRADE_STAGE_ITEM_GIVEN = 2
- TRADE_STAGE_TIMED_OUT = 5
Вариант для запроса по одному предмету
- [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
{
"success": true,
"currency": "RUB",
"data": {
"USP-S | Lead Conduit (Well-Worn)": {
"max": 3.8,
"min": 1.24,
"average": 50,
"history": [
[1695397484, 2.1],
[1692708282, 1.5]
]
}
}
}
- max — max price
- min — min price
- history — sales history
Запрос стакана по хэшнейму предмета
- [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
- [phase] - фаза предмета. варианты: phase1, phase2, phase3, phase4, sapphire, ruby, blackpearl
{
"bid": [
{
"price": "414.0600",
"total": "1"
},
{
"price": "406.4600",
"total": "3"
}
],
"ask": [
{
"price": "441.5900",
"total": "1"
},
{
"price": "441.7800",
"total": "1"
}
],
"currency": "RUB"
}
- bid — заявки напокупку (ордера)
- ask — предметы на продаже (предложения)
- currency — текущая валюта
Проверить все возможные препятствия к успешной продаже вещей.
{
"success": true,
"status": {
"user_token": true,
"trade_check": true,
"site_online": false,
"site_notmpban": false,
"steam_web_api_key" : false
}
}
- user_token — Установлена ли трейд ссылка
- trade_check — Пройдена ли проверка доступности трейд офферов
- site_online — Находитесь ли Вы в онлайне на сайте ping
- site_notmpban — Индикатор отсутствия бана за не передачу проданных вещей (на сутки)
- steam_web_api_key — Установлен API ключ steam (нужен для продажи через p2p)