Покупка/продажа предметов

add-to-sale

Выставить предмет на продажу

Параметры запроса:
  • [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 — Неверно указана цена или вообще не указана
set-price

Установить новую цену на предмет, или снять с продажи.

Параметры запроса:
  • [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 не найден
remove-all-from-sale

Снятие сразу всех предметов с продажи.

! ВАЖНО! Если вы отправите больше 5 запросов в секунду к нашему серверу, то ваш ключ будет удален. (Список API запросов за последние 20 минут можно посмотреть здесь
Пример ответа:
{
    "count":4,
    "success":true
}
                
Пояснение к ответу:
  • count — Количество предметов, которые были сняты с продажи, 0 если нет выставленных предметов
my-inventory

Получение инвентаря Steam, только те предметы, которые Вы еще не выставили на продажу.

Пример ответа:
{
    "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 — рекомендованная цена продажи
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": "USD",
            "status": "1",
            "live_time": 920,
            "left": null,
            "botid": "0"
        }
    ]
}
                
Возможные статусы:
  • status = 1 — Вещь выставлена на продажу.
  • status = 2 — Вы продали вещь и должны ее передать боту.
  • status = 3 — Ожидание передачи боту купленной вами вещи от продавца.
  • status = 4 — Вы можете забрать купленную вещь.
Пояснение к ответу:
  • item_id — ID предмета в нашей системе
  • status — статус предмета (см. выше)
  • price — ваша цена
  • position — позиция в очереди продажи (сортировка по наименьшей цене), в момент покупки выбирается самый дешевый предмет.
  • botid — ID бота, на котором находится предмет в статусе 4.
  • assetid — ID предмета в инвентаре бота.
  • left — Времени осталось на передачу предмета, после этого операция будет отменена и деньги вернутся покупателю. Будут начислены штрафные баллы
pingdeprecated

Включить продажи, необходимо отправлять раз в 3 минуты.

Пример ответа:
{
    "success": true,
    "ping": "pong",
    "online": true,
	"p2p": true,
	"steamApiKey": true
}
                
Пример ответа в случае ошибки:
{
	"success": false,
	"message": "too early for pong"
}
                
ping-new

Включить продажи, необходимо отправлять раз в 3 минуты.

Параметры запроса: (JSON)
{
    "access_token": "eyAidHlwIjogIkpXVCIsICJhb.....",
    "proxy": "http://proxy_login:proxy_pass@proxy_ip:proxy_port"
}
                

Параметр «proxy» опционален. Если он передан, то запросы с вашим «access_token» будут выполнены через прокси.

Значение параметра access_token можно получить несколькими способами:
  1. Метод https://steamcommunity.com/pointssummary/ajaxgetasyncconfig позволяет запросить access token со скоупом "web:community". Данный скоуп позволяет использовать такие методы, как GetTradeOffer, GetTradeOffers и GetTradeHistory, а также данный токен позволяет выполнять отмену предложений обмена.
  2. Мобильный токен, получаемый при помощи библиотек (например, DoctorMcKay/node-steam-session) обладают тем же уровнем доступа, но при этом имеют скоуп "web, mobile"

Для запросов https://*/pointssummary/ajaxgetasyncconfig используется следующий формат:

{
                    "success": 1,
                    "data": {
                        "webapi_token": "ACCESS_TOKEN"
                    }
                }

Данный запрос обязательно требует использование в заголовках запроса cookie "steamLoginSecure", далее пример заголовка:

Cookie: steamLoginSecure=COOKIE_PAYLOAD;
! ВАЖНО! Для использования в сервисах на текущий момент необходимо использовать access token из пунктов 1 или 2.

Срок действия access_token - 24 часа. Вам необходимо обновлять его самим и отправлять каждый раз при вызове данного метода.

Если вы получили ошибку «invalid_access_token» и абсолютно уверены, что токен валидный, повторите запрос.
Пример ответа:
{
    "success": true,
    "ping": "pong",
    "online": true,
	"p2p": true,
	"steamApiKey": true
}
                
Пример ответа в случае ошибки:
{
	"success": false,
	"message": "invalid_access_token"
}
                
trade-request-take

Создать запрос на передачу купленных предметов, находящихся на наших ботах.

Параметры запроса:
  • 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 — нечего передавать.
trade-request-give

Создать запрос на передачу купленных предметов нашему боту

Пример ответа:
{
    "success": true,
    "trade": "1704976549",
    "nick": "NIPFribergEZIO",
    "botid": "354589802",
    "profile": "https://steamcommunity.com/profiles/76561198314855530/",
    "secret": "1J10",
    "items": [
        15060788266
    ]
}
                
trade-request-give-p2p

Запросить данные для передачи предмета покупателю

Пример ответа:
{
    "success": true,
    "hash" : "234234234/wefsdgsd",
    "offer" : {
        "partner" : 12345,
        "token" : "fffffff",
        "tradeoffermessage" : "sdfsdf . . . 234234234/wefsdgsd",
        "items" : [
            {
                "appid" : 730,
                "contextid" : 2,
                "assetid" : 23452345,
                "amount" : 1
            }
        ]
    }
}
                
trade-request-give-p2p-all

Возвращает данные для создания всех трейдов

Пример ответа:
{
    "success": true,
    "offers": [
        {
            "partner": 12345,
            "token": "fffffff",
            "tradeoffermessage": "sdfsdf . . . 234234234/wefsdgsd",
            "hash": "234234234/wefsdgsd",
            "items": [
                {
                    "appid": 730,
                    "contextid": 2,
                    "assetid": 23452345,
                    "amount": 1
                }
            ]
        },
        {
            "partner": 123456,
            "token": "fffffff",
            "hash": "234234234/wefsdas",
            "tradeoffermessage": "sdfsdf . . . 234234234/wefsdas",
            "items": [
                {
                    "appid": 730,
                    "contextid": 2,
                    "assetid": 23452346,
                    "amount": 1
                }
            ]
        }
    ]
}
                
trade-ready

Регистрация у нас трейд оффера, который вы создали в Стиме

Пример ответа:
{
    "success": false,
    "tradeofferid": 1133557799,
    "error": "not active offers"
}
                
trades

Получить список трейд офферов, которые в данный момент были высланы Маркетом на Ваш аккаунт и ожидают подтверждения в 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 нашего бота, который отправил его
buy

Покупка предмета. В нашей системе возможно покупка только по одному предмету за запрос.

Параметры запроса:
  • [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":"this custom_id exist"
}
                
Пояснение к ответу:
  • id - ID предмета
buy-for

Покупка предмета и передача его другому пользователю.

Параметры запроса:
  • [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":"this custom_id exist"
}
                
Пояснение к ответу:
  • id - ID предмета
get-buy-info-by-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",
        "send_until" : null,
        "stage": "2",
        "paid": 0.5,
        "causer": null,
        "currency": "USD",
        "for": "1234567",
        "trade_id": null
    }
}
                
Пояснение к ответу:
  • trade_id - id активного trade_offer
  • for - steamid(32) кому передан предмет (если покупка была через метод buy-for)
  • time - Unix Timestamp когда была куплена вещь
  • paid - почем была куплена вещь
  • stage
    • TRADE_STAGE_NEW = 1
    • TRADE_STAGE_ITEM_GIVEN = 2
    • TRADE_STAGE_TIMED_OUT = 5
get-list-buy-info-by-custom-id

Возвравщает информацию о статусе покупки

Параметры запроса:
  • 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",
            "send_until" : null,
            "stage": "2",
            "paid": 0.5,
            "currency": "USD",
            "for": "1234567",
            "trade_id": null
        }
    }
}
                
Пояснение к ответу:
  • trade_id - id активного trade_offer
  • for - steamid(32) кому передан предмет (если покупка была через метод buy-for)
  • paid - почем была куплена вещь
  • time - Unix Timestamp когда была куплена вещь
  • stage
    • TRADE_STAGE_NEW = 1
    • TRADE_STAGE_ITEM_GIVEN = 2
    • TRADE_STAGE_TIMED_OUT = 5
history

История история покупок и продаж

Параметры запроса:
  • [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": "USD"
        }
    ]
}
                
Пояснение к ответу:
  • app — на какой площадке был куплен предмет
  • for — ID пользотвателя кому он был передан (если покупка была через метод buy-for)
  • stage
    • TRADE_STAGE_NEW = 1
    • TRADE_STAGE_ITEM_GIVEN = 2
    • TRADE_STAGE_TIMED_OUT = 5
operation-history

История покупок, продаж, операций пополнений, выводов на всех площадках

Параметры запроса:
  • [date] - UNIX_TIMESTAMP
  • [date_end] - UNIX_TIMESTAMP
Пример ответа:
{
    "success": true,
    "data": [
        {
            "time": "1592564265",
            "event": "sell",
            "item_id": "520336165",
            "market_hash_name": "Glock-18 | Ironwork (Factory New)",
            "class": "3706631132",
            "instance": "188530139",
            "price": "500",
            "received": "468",
            "currency": "USD",
            "stage": "5",
            "for": null,
            "custom_id": null,
            "app": 730
        },
        {
            "time": "1591817364",
            "event": "buy",
            "item_id": "286316972",
            "market_hash_name": null,
            "class": null,
            "instance": null,
            "paid": "193",
            "currency": "USD",
            "stage": "5",
            "for": null,
            "custom_id": null,
            "app": 570
        },
        {
            "time": "1588586061",
            "event": "checkout",
            "id": "542713332",
            "amount": "1001",
            "currency": "USD",
            "status": "105"
        }
    ]
}
                
Пояснение к ответу:
  • app — на какой площадке был куплен предмет
  • for — ID пользотвателя кому он был передан (если покупка была через метод buy-for)
  • 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
get-list-items-info

Вариант для запроса по одному предмету

Параметры запроса:
  • [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
Пример ответа:
{
    "success": true,
    "currency": "USD",
    "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
bid-ask

Запрос стакана по хэшнейму предмета

Параметры запроса:
  • [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": "USD"
}
                
Пояснение к ответу:
  • bid — заявки напокупку (ордера)
  • ask — предметы на продаже (предложения)
  • currency — текущая валюта
test

Проверить все возможные препятствия к успешной продаже вещей.

Пример ответа:
{
    "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)