Steam Online!

API v2.0 для автоматической торговли

Содержание

Создание API-ключа
Список цен (лучшие предложения)
Список цен по class/instance с buy-ордерами
GetWSAuth - Получить токен для вебсокетов
GetWSToken - Получить токен для вебсокетов
Покупка/продажа предметов
add-to-sale - выставить предмет на продажу
set-price - обновить цену или снять с продажи
remove-all-from-sale - снять все предметы с продажи
my-inventory - предметы доступные для продажи
items - список предметов
ping - включить продажиdeprecated
ping-new - включить продажи
trade-request-take - запросить оффер для получения предмета
trade-request-give - запросить оффер для передачи предмета
trade-request-give-p2p - Запросить данные для передачи предмета покупателю
trade-request-give-p2p-all - Запросить данные для передачи всех купленных предметов
trade-ready - регистрация у нас вашего трейд оффера из Стима
trades - список отправленных вам предложений обмена
buy - покупка предмета
buy-for - покупка предмета с передачей другому пользователю
get-buy-info-by-custom-id - информация о статусе покупки предмета, по уникальному ID
get-list-buy-info-by-custom-id - информация о статусе cписка покупок предмета, по уникальным ID
history - история покупок и продаж
operation-history - история всех операций на площадке
get-list-items-info - получить историю продаж предмета по hash name
test - проверить выполнение условий для продажи вещей
Ордера на покупку
get-orders - получить список ваших ордеров
set-order - добавить/изменить/удалить ордер
get-orders-log - история исполненных ордеров
Действия с аккаунтом
get-money - Баланс
go-offline - Остановка торгов
update-inventory - обновить инвентарь
transfer-discounts - перенос скидок
get-my-steam-id - узнать свой steamid32 и steamid64
set-pay-password - установка/смена платежного пароля
money-send - перенос баланса на другой аккаунт
money-send-history - история переносов баланса
set-steam-api-key - привязать Steam API ключ к аккаунтуdeprecated
set-trade-token - установить трейд-ссылку
change-currency - смена валюты аккаунта
get-api-key-via-access-token - получение апи ключаnew
Поиск предметов по названию
search-item-by-hash-name - Поиск по одному предмету
search-item-by-hash-name-specific - Поиск по market-hash-name предметов выставленных по assetid
search-list-items-by-hash-name-all - Поиск по списку market-hash-name
Пополнения и выводы
checkin-history - Получение истории операций пополнений
checkout-history - Получение истории операций выводов

Создание API-ключа

ВАЖНО! Если вы отправите больше 5 запросов в секунду к нашему серверу, то ваш ключ будет удален. Список API запросов за последние 20 минут можно посмотреть здесь.

Здесь вы можете создать/пересоздать личный ключ для автоматической торговли, который будет привязан к вашему аккаунту.

Если вы не понимаете зачем нужен ключ, то, пожалуйста, в целях собственной безопасности не говорите его никому.

В тестовом режиме запущена продажа приложения, которое позволяет автоматизировать торговлю на нашем сайте - CounterBot.

Используя API, вы соглашаетесь с условиями договора, в частности, с ограниченной гарантией в 4 часа.

Ключ вы можете передавать в GET параметре key, либо, для бОльшей безопасности, в заголовках с ключом X-API-KEY.

Внимание! Чтобы создать ключ, выполните вход: https://rust.tm/login

Список цен (лучшие предложения)

prices

Список цен в формате json.

Пример запроса:

https://rust.tm/api/v2/prices/RUB.json

https://rust.tm/api/v2/prices/USD.json

https://rust.tm/api/v2/prices/EUR.json

Список цен по class/instance с buy-ордерами

prices/class_instance

Список цен в формате json, где buy_order - максимальный buy-ордер на данный предмет.

Пример запроса:

https://rust.tm/api/v2/prices/class_instance/RUB.json

https://rust.tm/api/v2/prices/class_instance/USD.json

https://rust.tm/api/v2/prices/class_instance/EUR.json

Пример ответа:
{
  "success": true,
  "time": 1565103435,
  "currency": "RUB",
  "items": {
    "1434515088_0": {
      "price": "0.50",
      "buy_order": "0.10",
      "avg_price": "0.74",
      "popularity_7d": "47",
      "market_hash_name": "Arcane Defiance Loading Screen",
      "ru_name": "Загрузочный экран «Arcane Defiance»",
      "ru_rarity": "Common",
      "ru_quality": "Standard",
      "text_color": "D2D2D2",
      "bg_color": ""
    },
    "1479313949_0": {
      "price": "0.60",
      "buy_order": "0.10",
      "avg_price": "0.94",
      "popularity_7d": "13",
      "market_hash_name": "Armor of Utter Eradication",
      "ru_name": "Armor of Utter Eradication",
      "ru_rarity": "Uncommon",
      "ru_quality": "Standard",
      "text_color": "D2D2D2",
      "bg_color": ""
    }
  }
}

Ордера на покупку

orders

Список в формате json.

Пример запроса:

https://rust.tm/api/v2/prices/orders/RUB.json

https://rust.tm/api/v2/prices/orders/USD.json

https://rust.tm/api/v2/prices/orders/EUR.json

Веб-сокеты

Пример запроса:

https://rust.tm/api/v2/get-ws-auth?key=[your_secret_key]

get-ws-auth

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

С помощью них можно только получать информацию, они работают по модели подписки. Для получения персональных оповещений достаточно отправить ключ-токен полученный методом get-ws-auth

ВАЖНО! Ключ действует ограниченое время и через 60 секунд перестает приниматься сервером. При ошибке авторизации на сервере уведомлений сервер пришлет строку: «auth»
Сервер для подключения:

wss://wsn.dota2.net/wsn/

Этапы подключения:
  • 1) Устанавливается соединение с указанным на сайте сервером.
  • 2) Если Вы хотите получать информацию связанную с Вашим аккаунтом, посылаем на наш сервер ключ, который можно взять методом GetWSAuth.
  • 3) Если хотим просто ТОЛЬКО историю сделок или, например, список новых предметов - необходимо отправить название канала, на которых мы хотим подписаться: отправив «newitems_rt» мы подпишемся на новые предложения по маркету Rust. «history_rt» - подпишемся на получение информации о новых сделках на площадке
  • 4) Если мы подписались на персональные оповещения используя свой ключ - больше ничего делать не надо, просто слушаем входящие пакеты от нашего сервера и раз в 40-50 секунд отправляем «ping» на наш сервер. Все персональные уведомления (баланс, уведомления и прочее) будут приходить автоматический.
Доступные каналы:
  • newitems_rt - информация об изменениях в цене или выставлении на продажу предметов Rust. (Осторожно, канал генерирует очень много трафика)
  • history_rt - история продаж которая отображается на каждой странице сайта.
Внимание! Для нахождения в онлайне и продажи вещей необходимо отправлять команду ping раз минуту предварительно единожды отправив запрос к API методом PingPong.
Каналы не требующие подписки (при условии авторизации):
  • additem_rt - добавление предмета на странице "Мои вещи".
  • itemout_new_rt - Исчезание предмета на странице "Мои вещи".
  • itemstatus_rt - Изменение статуса предмета на странице "Мои вещи".
  • money - Изменение баланса пользователя.
  • webnotify - Получение уведомлений от администрации, доступности предмета для вывода, о покупках вещей.

GetWSToken - Получить токен для вебсокетов

Пример запроса:

https://rust.tm/api/v2/get-ws-token?key=[your_secret_key]

get-ws-token

С помощью этого запроса, можно получить токен, требуемый для подключения к серверу.

ВАЖНО! Ключ действует ограниченое время и через 10 минут перестает приниматься сервером.
Сервер для подключения:

wss://wsprice.csgo.com/connection/websocket

Этапы подключения:
  1. В качестве сервера мы используем Centrifugo. Все необходимые SDK и инструкции как работать с ним, вы можете найти на официальном сайте Centrifugo.
  2. Необходимо запросить ws токен через апи метод, описанный выше.
  3. Устанавить соединение с указанным на сайте сервером и токеном.
  4. Подписаться на нужный канал.
Доступные каналы:
  • public:items::rub - информация об изменениях в цене или выставлении на продажу предметов для игры с id в валюте RUB. (Осторожно, канал генерирует очень много трафика!)
  • public:items::usd - информация об изменениях в цене или выставлении на продажу предметов для игры с id в валюте USD. (Осторожно, канал генерирует очень много трафика!)
  • public:items::eur - информация об изменениях в цене или выставлении на продажу предметов для игры с id в валюте EUR. (Осторожно, канал генерирует очень много трафика!)
Что такое "name_id"?:

Для экономии трафика мы не передаем хэшнейм предмета, а вместо этого отдаем name_id.

Сопоставить name_id и хэшнейм вы сможете из файла, который можно найти по адресу:

https://rust.tm/api/v2/dictionary/names.json

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

trade-request-take

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

Пример запроса:

https://rust.tm/api/v2/trade-request-take?key=[your_secret_key][&bot=botid]

Параметры запроса:
  • 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

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

Пример запроса:

https://rust.tm/api/v2/trade-request-give?key=[your_secret_key]

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

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

Пример запроса:

https://rust.tm/api/v2/trade-request-give-p2p?key=[your_secret_key]

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

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

Пример запроса:

https://rust.tm/api/v2/trade-request-give-p2p-all?key=[your_secret_key]

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

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

Пример запроса:

https://rust.tm/api/v2/trade-ready?key=[your_secret_key]&tradeoffer=[steam_trade_offer_id]

Пример ответа:

{
  "success": false,
  "tradeofferid": 1133557799,
  "error": "not active offers"
}
ping deprecated

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

Пример запроса:

https://rust.tm/api/v2/ping?key=[your_secret_key]&v=2

Пример ответа:
{
  "success": true,
  "ping": "pong"
}
ping-new

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

Пример запроса:

[POST] https://rust.tm/api/v2/ping-new?key=[your_secret_key]

Параметры запроса: (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"
}
go-offline

Остановить продажу предметов.

Пример запроса:

https://rust.tm/api/v2/go-offline?key=[your_secret_key]

my-inventory

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

Пример запроса:

https://rust.tm/api/v2/my-inventory/?key=[your_secret_key]

Пример ответа:
{
  "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 — рекомендованная цена продажи
add-to-sale

Выставить предмет на продажу. Что-бы получить список предметов для выставления, воспользуйтесь методом my-inventory.

Пример запроса на выставление предмета:

https://rust.tm/api/v2/add-to-sale?key=[your_secret_key]&id=[id]&price=[price]&cur=[currency]

Параметры запроса:
  • [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

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

Пример запроса на выставление предмета:

https://rust.tm/api/v2/set-price?key=[your_secret_key]&item_id=[item_id]&price=[price]&cur=[currency]

Параметры запроса:
  • [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

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

ВАЖНО! Предметы необходимо будет выставлять заново. Если Вы хотите остановить торговлю на время - используйте метод go-offline.
Пример запроса:

https://rust.tm/api/v2/remove-all-from-sale?key=[your_secret_key]

Пример ответа:
{
  "count": 4,
  "success": true
}
Пояснение к ответу:
  • count — Количество предметов, которые были сняты с продажи, 0 если нет выставленных предметов
items

Список предметов:

Пример запроса:

https://rust.tm/api/v2/items?key=[your_secret_key]

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

Получить список трейд офферов, которые в данный момент были высланы Маркетом на Ваш аккаунт и ожидают подтверждения в Steam.

Параметры запроса:
  • [extended] — Расширенная информация
Пример запроса:

https://rust.tm/api/v2/trades/?key=[your_secret_key]

https://rust.tm/api/v2/trades/?key=[your_secret_key]&extended=1

Пример ответа:
{
  "success": true,
  "trades": [
    {
      "dir": "in",
      "trade_id": "1705069832",
      "bot_id": "354486743",
      "timestamp": 23423423423
    }
  ]
}
With flag 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

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

Пример запроса:

https://rust.tm/api/v2/buy?key=[your_secret_key]&hash_name=[market_hash_name]&price=[price]

Пример запроса:

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

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

Пример запроса:

https://rust.tm/api/v2/buy-for?key=[your_secret_key]&hash_name=[market_hash_name]&price=[price]&partner=[partner]&token=[token]&chance_to_transfer=[chance]

Пример запроса:

https://rust.tm/api/v2/buy-for?key=[your_secret_key]&id=[id]&price=[price]&partner=[partner]&token=[token]

Параметры запроса:
  • [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 - Инвентарь получателя предмета переполнен
get-buy-info-by-custom-id

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

Пример запроса:

https://rust.tm/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",
    "send_until": null,
    "stage": "2",
    "paid": 0.5,
    "causer": null,
    "currency": "RUB",
    "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

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

Пример запроса:

https://rust.tm/api/v2/get-list-buy-info-by-custom-id?key=[your_secret_key]&custom_id[]=[custom_id1]&custom_id[]=[custom_id2]

Параметры запроса:
  • 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": "RUB",
      "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

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

Пример запроса:

https://rust.tm/api/v2/history?key=[your_secret_key]&date=12312314&date_end=12312714

Пример запроса:

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

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

Пример запроса:

https://rust.tm/api/v2/operation-history?key=[your_secret_key]&date=1585042890&date_end=1592646090

Параметры запроса:
  • [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": "RUB",
      "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": "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)
  • 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-orders

Получение списка ваших ордеров

Пример запроса:

https://rust.tm/api/v2/get-orders?key=[your_secret_key]&page=0

Параметры запроса:
  • page — Параметр служит для постраничной выдачи. По умолчанию запрос возвращает последние 100 ордеров.
Пример ответа:
{
  "success": true,
  "orders": [
    {
      "hash_name": "Spectrum 2 Case",
      "phase": "",
      "count": 5,
      "date": "2021-09-08 18:06:58",
      "price": 10,
      "currency": "RUB",
      "partner": null,
      "token": null
    }
  ]
}
set-order

Добавление, изменение и удаление ордера

Пример запроса:

https://rust.tm/api/v2/set-order?key=[your_secret_key]&market_hash_name=AWP | Dragon Lore (Field-Tested)&count=5&price=50000000[&partner=partnerID&token=tradeToken]

Параметры запроса:
  • market_hash_name — market_hash_name идентификаторы предмета.
  • phase — фаза предмета. варианты: phase1, phase2, phase3, phase4, sapphire, ruby, blackpearl
  • count — Количество покупаемых предметов
  • price — цена в копейках (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000) целое число
  • [partner] — Steam ID пользователя, кому будет передан купленный предмет (необязательный)
  • [token] — Токен из ссылки для обмена пользователя, которому будет передан предмет (необязательный)
Пример ответа:
{
  "success": true,
  "order": {
    "hash_name": "AWP | Dragon Lore (Field-Tested)",
    "phase": "",
    "currency": "RUB",
    "price": 20,
    "count": 5,
    "date": "2021-09-08 18:30:44",
    "partner": null,
    "token": null
  }
}
get-orders-log

История исполненных ордеров

Пример запроса:

https://rust.tm/api/v2/get-orders-log?key=[your_secret_key]&page=0

Параметры запроса:
  • page — Параметр служит для постраничной выдачи. По умолчанию запрос возвращает последние 100 ордеров.
Пример ответа:
{
  "success": true,
  "orders": [
    {
      "hash_name": "Desert Eagle | Oxide Blaze (Field-Tested)",
      "item_id": 520336218,
      "created": "2021-09-06 18:00:27",
      "executed": "2021-09-06 18:03:16",
      "price": 1000,
      "currency": "RUB"
    },
    {
      "hash_name": "Gamma 2 Case",
      "item_id": 520336215,
      "created": "2021-09-06 17:59:54",
      "executed": "2021-09-06 17:59:54",
      "price": 5000,
      "currency": "RUB"
    }
  ]
}

Действия с аккаунтом

get-money

Получить сумму на балансе и текущую валюту.

ВАЖНО! Для валют USD и EUR установлена точность равная 1000, это значит, что торговля в этих валютах осуществляется с 3 (тремя) знаками после запятой.
Пример запроса:

https://rust.tm/api/v2/get-money?key=[your_secret_key]

Пример ответа для RUB:
{
  "money": 123.45,
  "currency": "RUB",
  "success": true
}
Пример ответа для USD:
{
  "money": 123.45,
  "currency": "USD",
  "success": true
}
Пример ответа для EUR:
{
  "money": 123.45,
  "currency": "EUR",
  "success": true
}
go-offline

Моментально приостановить торги, рекомендуем также отключиться от вебсокетов.

Пример запроса:

https://rust.tm/api/v2/go-offline?key=[your_secret_key]

Пример ответа:
{
  "success": true
}
update-inventory

Запросить обновление кэша инвентаря (рекомендуется делать после каждого принятого трейд оффера).

Пример запроса:

https://rust.tm/api/v2/update-inventory/?key=[your_secret_key]

Пример ответа:
{
  "success": true
}
transfer-discounts

Перенос скидок на другой аккаунт

Пример запроса:

https://rust.tm/api/v2/transfer-discounts?key=[your_secret_key]&to=[his_secret_key]

Параметры запроса:
  • [his_secret_key] - API ключ аккаунта на который производистя перенос скидок.
Пример ответа:
{
  "success": true
}
get-my-steam-id

Узнать свой steamID

Пример запроса:

https://rust.tm/api/v2/get-my-steam-id?key=[your_secret_key]

Пример ответа:
{
  "success": true,
  "steamid32": 123456,
  "steamid64": "1234123513245234"
}
set-pay-password

Установка/смена платежного пароля.

Возможна либо в первые 24 часа после регистрации, либо в любое время, но с указанным и подтвержденным почтовым адресом.

Пример запроса:

https://rust.tm/api/v2/set-pay-password?old_password=[old_password]&new_password=[new_password]&key=[your_secret_key]

Параметры запроса:
  • [old_password] - Старый платежный пароль (не указывается, если происходит первичная установка платежного пароля)
  • [new_password] - Новый платежный пароль
Пример ответа:
{
  "success": true
}
money-send

Перенос баланса с текущего аккаунта на указанный

Возможен только при условии установленного платежного пароля

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

Пример запроса:

https://rust.tm/api/v2/money-send/[amount]/[user_api_key]?pay_pass=[pay_pass]&key=[your_secret_key]

Параметры запроса:
  • [amount] - сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000)
  • [user_api_key] - Апи ключ аккаунта на который будет производиться перенос баланса.
  • [pay_pass] - Текущий платежный пароль.
Пример ответа:
{
  "success": true,
  "from": 1234567,
  "to": 13579123,
  "amount": 1000
}
money-send-history

История переносов баланса с текущего аккаунта

Пример запроса:

https://rust.tm/api/v2/money-send-history/[page = 0]?key=[your_secret_key]

Параметры запроса:
  • [page] - Опциональный параметр. По умолчанию - 0.
Пример ответа:
{
  "success": true,
  "data": [
    {
      "id": "6308681",
      "from": "12345678",
      "to": "11223344",
      "amount_from": "10000",
      "currency_from": "RUB",
      "amount_to": "10000",
      "currency_to": "RUB"
    }
}
set-steam-api-keydeprecated

Привязка Steam API ключа к аккаунту

Пример запроса:

https://rust.tm/api/v2/set-steam-api-key?key=[your_secret_key]&steam-api-key=[steam-api-key]

Параметры запроса:
  • [steam-api-key] - Ваш Steam API ключ.
Пример ответа:
{
  "success": true
}
set-trade-token

Привязка трейд-ссылки к аккаунту

Пример запроса:

https://rust.tm/api/v2/set-trade-token?key=[your_secret_key]&token=[token]

Параметры запроса:
  • [token] - Ваш токен из трейд-ссылки
Пример ответа:
{
  "success": true,
  "token": "kf47d09"
}
change-currency

Смена валюты аккаунта

ВАЖНО! Смена валюты возможна для аккаунтов с нулевым балансом. Также не должно быть активных предметов для приема/передачи и активных заявок на вывод.
Пример запроса:

https://rust.tm/api/v2/change-currency/[new-currency]?key=[your_secret_key]

Параметры запроса:
  • [new-currency] - Новая валюта, которая будет установлена для аккаунта. Доступны: RUB, USD, EUR.
Пример ответа:
{
  "success": true
}
Пример ответа в случае ошибки:
{
  "success": false,
  "error": 1001
}
Коды ошибок:
  • 1001: Нельзя менять валюту, пока у Вас выставлены товары на продажу. Дождитесь когда их купят, или снимите с продажи. Чтобы снять все предметы с продажи НАЖМИТЕ СЮДА и попробуйте снова.
  • 1003: Нельзя менять валюту, пока у Вас есть активные заявки на вывод. Дождитесь когда они будут исполнены, или отмените их вручную.
  • 1004: У Вас уже выбрана данная валюта
  • 1005: Выбрана неверная валюта
  • 1007: Ошибка. Вы два или более раз попытались отправить запрос на смену валюты. Если конвертация еще не завершилась, пожалуйста, подождите немного и обновите страницу.
get-api-key-via-access-token

Регистрация аккаунта на маркете и получение API ключа

Вы можете автоматизировать регистрацию своих Стим аккаунтов на нашем маркете. Для этого вам необходимо в запросе передать access_token (см. метод ping-new) и прокси. В ответ мы зарегистрируем аккаунт, если он еще не был зарегистрирован, сохраним трейд ссылку и сгенерируем API ключ площадки.

ВАЖНО! Прокси - обязательный параметр, так как мы обращаемся к серверам Steam для валидации и получения трейд ссылки.
Пример запроса:

[POST] https://rust.tm/api/v2/get-api-key-via-access-token?key=[your_secret_key]

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

Параметр «currency» опционален. Если он передан, то при создании аккаунта будет использоваться выбранная валюта. По-умолчанию: RUB.

Пример ответа:
{
  "success": true,
  "apikey": "abcdefghijklmnopqrstubvwxyz",
  "is_new": true
}
Пример ответа в случае ошибки:
{
  "success": false,
  "message": "invalid_proxy"
}

Поиск предметов

search-item-by-hash-name

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

Пример запроса:

https://rust.tm/api/v2/search-item-by-hash-name?key=[your_secret_key]&hash_name=[market_hash_name]

Параметры запроса:
  • [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
Пример ответа:
{
  "success": true,
  "currency": "RUB",
  "data": [
    {
      "market_hash_name": "ABC",
      "price": 400,
      "class": 93975063,
      "instance": 57944754,
      "count": 10
    }
  ]
}
search-item-by-hash-name-specific

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

Пример запроса:

https://rust.tm/api/v2/search-item-by-hash-name-specific?key=[your_secret_key]&hash_name=[market_hash_name]&phase=[phase]

Параметры запроса:
  • [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
  • [phase] - фаза предмета. варианты: phase1, phase2, phase3, phase4, sapphire, ruby, blackpearl
Пример ответа:
{
  "success": true,
  "currency": "RUB",
  "data": [
    {
      "id": 521320033,
      "market_hash_name": "AWP | Worm God (Factory New)",
      "price": 3573,
      "class": 3088304936,
      "instance": 480085569,
      "seller_steam_level": 2,
      "extra": {
        "float": "0.061443410813808",
        "phase": "aq_awp_twine"
      }
    },
    {
      "id": 523494595,
      "market_hash_name": "AWP | Worm God (Factory New)",
      "price": 3604,
      "class": 1848971742,
      "instance": 480085569,
      "seller_steam_level": null,
      "extra": {
        "float": "0.051711451262236",
        "phase": "aq_awp_twine"
      }
    },
    {
      "id": 522446815,
      "market_hash_name": "AWP | Worm God (Factory New)",
      "price": 4386,
      "class": 3033846573,
      "instance": 188530139,
      "seller_steam_level": 12,
      "extra": {
        "float": "0.038657382130623",
        "phase": "aq_awp_twine"
      }
    },
    {
      "id": 521834932,
      "market_hash_name": "AWP | Worm God (Factory New)",
      "price": 4386,
      "class": 3099667914,
      "instance": 188530139,
      "seller_steam_level": 32,
      "extra": {
        "float": "0.0054426062852144",
        "phase": "aq_awp_twine"
      }
    }
  ]
}
Пояснение к ответу:
  • extra — Дополнительные данные о предмете
search-list-items-by-hash-name-all

Вариант для запроса по списку предметов. Отдаёт ограниченное число предложений по списку market_hash_name.

Если в url указан параметр extended=1, то максимальный лимит количества market_hash_name равен 5. По каждому предмету Вы получите 500 первых позиций на продажу.

Если параментр extended=1 НЕ указан, то максимальный лимит количества market_hash_name равен 50, при этом по каждому предмету Вы получите 50 первых позиций на продажу.

Пример запроса без параметра extended:

https://market.csgo.com/api/v2/search-list-items-by-hash-name-all?key=[your_secret_key]&list_hash_name[]=[market_hash_name]&list_hash_name[]=[market_hash_name]&...

Пример запроса c параметром extended:

https://market.csgo.com/api/v2/search-list-items-by-hash-name-all?key=[your_secret_key]&extended=1&list_hash_name[]=[market_hash_name]&list_hash_name[]=[market_hash_name]&...

Параметры запроса:
  • [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
Пример ответа:
{
  "success": true,
  "currency": "RUB",
  "data": {
    "USP-S | Lead Conduit (Well-Worn)": [
      {
        "id": 535992148,
        "price": "5100",
        "class": 3017010398,
        "instance": 188530139,
        "seller_steam_level": 4,
        "extra": {
          "asset": "35081291",
          "float": "0.39269635081291",
          "phase": "gs_usp_voltage",
          "percent_success": "100.00",
          "average_time": "195"
        }
      }
    ],
    "USP-S | Lead Conduit (Factory New)": [
      {
        "id": 545992413,
        "price": "10100",
        "class": 3017020387,
        "instance": 188530171,
        "seller_steam_level": 7,
        "extra": {
          "asset": "320811187",
          "float": "0.04768768698012",
          "phase": "gs_usp_voltage",
          "percent_success": "88.00",
          "average_time": "163"
        }
      }
    ]
  }
}
Пояснение к ответу (блоку информации о конкретном предложении одного из предметов):
  • id — Уникальный id вещи, по которому её можно купить.
  • extra — Блок с дополнительной информацией о предмете.
  • percent_success — Процент успешных сделок продавца.
  • average_time — Среднее время передачи предмета продавцом.
get-list-items-info

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

Пример запроса:

https://rust.tm/api/v2/get-list-items-info?key=[your_secret_key]&list_hash_name[]=[market_hash_name]&list_hash_name[]=[market_hash_name]

Параметры запроса:
  • [market_hash_name] - Название предмета, которое можно взять из инвентаря Steam.
Пример ответа:
{
  "success": true,
  "currency": "RUB",
  "data": {
    "USP-S | Lead Conduit (Well-Worn)": {
      "max": "100",
      "min": 1,
      "average": 50,
      "history": [
        [
          12312312312,
          1.234
        ],
        [
          12312312313,
          1.234
        ]
      ]
    }
  }
}
Пояснение к ответу:
  • max — max price
  • min — min price
  • history — sales history

Пополнения и выводы

checkout-history

Получение истории операций выводов (100 на странице)

Пример запроса:

https://rust.tm/api/v2/checkout-history?key=[your_secret_key][&page=0]

Параметры запроса:
  • [page] - Опциональный параметр. По умолчанию - 0. Страница в выдаче.
Пример ответа:
{
  "success": true,
  "data": [
    {
      "id": "9503323",
      "uid": "1234567890",
      "summ": "10000",
      "paid": "9500",
      "method": "card",
      "wm": "7-9683912365",
      "status": "30",
      "comment": "",
      "created": "2021-05-26 19:10:45",
      "currency": "RUB",
      "can_cancel": false
    }
  ]
}
Пояснение к ответу:
  • summ, paid — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000)
  • status — Статус заявки

    = 0 - Заявка создана

    = 10 - Заявка одобрена

    = 20 - Заявка отправлена на исполнение

    = 30 - Заявка исполнена

    = 100 - Заявка отклонена

    = 105 - Заявка отменена

    = 110 - Ошибка

checkin-history

Получение истории операций пополнений (100 на странице)

Пример запроса:

https://rust.tm/api/v2/checkin-history?key=[your_secret_key][&page=0]

Параметры запроса:
  • [page] - Опциональный параметр. По умолчанию - 0. Страница в выдаче.
Пример ответа:
{
  "success": true,
  "data": [
    {
      "id": "34754143",
      "uid": "1234567890",
      "system": "paygate",
      "amount": "15000",
      "created": "2021-09-13 07:15:36",
      "currency": "RUB"
    },
    {
      "id": "34754142",
      "uid": "1234567890",
      "system": "paygate",
      "amount": "10000",
      "created": "2021-09-04 15:12:29",
      "currency": "RUB"
    }
  ]
}
Пояснение к ответу:
  • amount — сумма, целое число (1 RUB = 100, 1 USD = 1000, 1 EUR = 1000)

Дополнительно

test

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

ВАЖНО! Все параметры должны быть "true", иначе продажа вещей невозможна.
Пример запроса:

https://rust.tm/api/v2/test?key=[your_secret_key]

Пример ответа:
{
  "success": true,
  "status": {
    "user_token": true,
    "trade_check": true,
    "site_online": false,
    "site_notmpban": false,
    "steam_web_api_key": false
  }
}
Пояснение к ответу:
  • user_token — Установлена ли трейд ссылка
  • trade_check — Пройдена ли проверка доступности трейд офферов - https://rust.tm/check/
  • site_online — Находитесь ли Вы в онлайне на сайте ping
  • site_notmpban — Индикатор отсутствия бана за не передачу проданных вещей (на сутки)
  • steam_web_api_key — Установлен API ключ steam (нужен для продажи через p2p)

Статусы предметов ITEM_STATUS

Сообщества разработчиков

ВКонтакте

Приглашаем присоедениться к сообществу разработчиков использующих API. В группе Вы сможете задать интересующий Вас вопрос сообществу, пообщаться напрямую с разработчиками маркета и узнать подробнее про новые функции,

Ссылка на группу:

vk.com/dev_market

История изменений

04.03.2022

Добавлен метод change-currency.

04.03.2022

Добавлен метод set-trade-token.

24.03.2022

Добавлен метод operation-history.

24.03.2022

Обновлен метод search-list-items-by-hash-name-all.

03.04.2024

Добавлен метод trade-ready.

16.07.2024

Добавлен метод get-api-key-via-access-token.

15.08.2024

Добавлен метод stickers.

03.12.2024

Обновлен метод buy, buy-for.