API документация
Панель использует REST API для связи между backend и frontend
Простыми словами: все что вы делаете на сайте вручную, вы можете делать программно через API панели
Есть только одно отличие, вам не нужно использовать сессию, как это делает web сайт панели, ведь сессия периодически истекает и это не очень удобно
Для того чтобы решить эту проблему, в панели есть механизм для создания API ключа:
Как создать API ключ?
После создания ключа вы можете использовать его с помощью заголовка к любому API запросу
- 'x-api-key': 'ваш апи ключ'
При отправке запроса с API ключем - запрос выполняется с правами администратора (то есть с полным доступом ко всем данным)
Полной документации со всеми методами нет, но я расскажу как узнать какие запросы отправляет панель при любых взаимодействиях с сайтом
В каждом браузере есть инструмент - консоль разработчика, чтобы ее открыть обычно нужно нажать F12, либо щелкнуть по странице правой кнопкой мыши и выбрать пункт "Посмотреть код" или "Исследовать элемент" (обычно это последний пункт в контекстном меню)
На экране появится окно, как на скриншоте. Для удобства рекомендую поменять его расположение на нижнее. А после перейти во кладку network (сеть)
Теперь нужно определить действие, которое вы хотите сделать программно. Я буду разбирать на примере запроса на список предметов (на странице пороги)
- Переходим во вкладку network (сеть)
- Обновляем список, чтобы отправился запрос
- Нажимаем на отправленный запрос, чтобы посмотреть его адрес и в каком формате требуется отправить данные
- Видим какой URL имеет запрос, в данном случае http://11.222.33.444:4321/api/Items/GetAccountsItemsFiltered/?appid=
- Видим какой тип запроса, в данном случае POST
- Так как тип запроса POST, скорее всего сервер ждет от нас дополнительных данных в JSON формате. По этому переходим во вкладку Payload и смотрим в какие данные нужно отправить
- Видим что сервер ждет от нас несколько полей в виде JSON
{
"startRow":0,
"endRow":500,
"rowGroupCols":[],
"valueCols":[],
"pivotCols":[],
"pivotMode":false,
"groupKeys":[],
"filterModel":{},
"sortModel":[]
}
- Переходим во вкладку Response, чтобы увидеть что пришло в ответ
Видим, что получили в ответ список предметов в формате JSON
{
"success":true,
"msg":null,
"data":
{
"items":
[
{
"color":"blue",
"account_reminder":"Colt",
"appid":"730",
"assestid":"34046119632",
"market_hash_name":"★ Gut Knife | Black Laminate (Minimal Wear)",
"img":"https://community.cloudflare.steamstatic.com/economy/image/-9**...",
"classid":"1818846862",
"instanceid":"188530139",
"tradable":true,
"hold_days":"-",
"float_value":0.101885,
"phase":null,
"additional_inf":null,
"market_prices":
{
"market_hash_name":"★ Gut Knife | Black Laminate (Minimal Wear)",
"price_steam":173.91,
"price_tm_min":135.34,
"price_tm_order":116.663,
"price_tm":0.0,
"price_buff":107.21,
"price_buff_min":103.89,
"price_waxpeer_min":135.397,
"price_waxpeer":0.0,
"price_shadowpay":135.39,
"price_skinport":136.16,
"price_dmarket":113.17,
"last_change_time":"2023-10-25T15:23:41.665951Z"
},
"market_prices_market_hash_name":"★ Gut Knife | Black Laminate (Minimal Wear)",
"inspect_in_game":"steam://rungame/730/76561....",
"tm_price":135.4,
"waxpeer_price":135.4,
"shadow_price":135.4,
"max_price":135.4,
"min_price":135.4,
"stickers":[],
"added_time":"2023-10-24T07:42:18.312612Z",
"unique_item":false,
"account_username":"username_acc_random"
},
{ ..... },
{ ..... }
],
"lastRowIndex":321,
"remainder_steam":2871.13,
"remainder_tm_min":2269.92,
"remainder_tm_order":1608.32,
"remainder_min_price":2271.05
}
}
Так можно получить информацию любого действия, которое вы можете сделать вручную на сайте, чтобы программно его автоматизировать
Вы можете автоматически добавлять аккаунты, получать список ваших предметов, автоматизировать выставление минимальных и максимальных порогов, получать историю продаж, автоматически переводить балансы и все что только захочется!