Я пытаюсь создать пользовательский скрипт, который проверяет мой инвентарь Steam на наличие принадлежащих мне карт и определяет цену, по которой он будет сразу же покупать все недостающие карты из набора на рынке Steam, а также доход, который он получает.сгенерирует, если я продам все карты, которые у меня есть, из этого набора немедленно.
На следующем шаге будет отсортирована результирующие наборы карт от самой низкой до самой высокой цены для завершения набора со вторым порядком сортировки с наименьшим доходом до самого высокогогенерируется продажей всех принадлежащих карт из этого набора.
В нижней части этого списка находятся наборы карт, которые являются наиболее дорогими в комплектации и приносят наибольший доход в случае продажи.
В этом обсуждении указывается, как извлечь мои карты, в результате чего получается следующая конечная точка:
https://steamcommunity.com/inventory/<STEAMID>/753/6?l=english&count=5000
Вывод для одной карты выглядит следующим образом:
{
"assets":[
{
"appid":753,
"contextid":"6",
"assetid":"10919349016",
"classid":"3080705498",
"instanceid":"0",
"amount":"1"
}
],
"descriptions":[
{
"appid":753,
"classid":"3080705498",
"instanceid":"0",
"currency":0,
"background_color":"",
"icon_url":"IzMF03bk9WpSBq-S-ekoE33L-iLqGFHVaU25ZzQNQcXdA3g5gMEPvUZZEaiHLrVJRsl8vGuCUY7Cjc9ehDNVzDMBeXethSQrcex4NM6b6ATps_vGWSahIx3RIyjYWldlHOQLOGyI_TL3seSRQzDKQLkoEFxRdfQAoTYYP5jfNhU5h4dY-TK-zh17SBVmYstBNg202HAWI4IsxSAVIJYAmnL2cMXc0VlhOkVjDLDkBL-QatTzxHolCxoxHKQfZtmRuy25-5OndLfYeu5xafDCIoLh6Q",
"icon_url_large":"IzMF03bk9WpSBq-S-ekoE33L-iLqGFHVaU25ZzQNQcXdA3g5gMEPvUZZEaiHLrVJRsl8vGuCUY7Cjc9ehDNVzDMBeXethSQrcex4NM6b6ATps_vGWSahIx3RIyjYWldlHOQLOGyI_TL3seSRQzDKQLkoEFxRdfQAoTYYP5jfNhU5h4dY-TK-zh17SBVmYstBNg202HAWI4IsxSAVIJYAmnL2cMXc0VlhOkVjDLDkBL-QatTzxHolCxoxHKQfZtmRuy25-5OndLfYeu5xafDCIoLh6Q",
"descriptions":[
{
"value":""
}
],
"tradable":1,
"owner_actions":[
{
"link":"https://steamcommunity.com/my/gamecards/735580/",
"name":"View badge progress"
},
{
"link":"javascript:GetGooValue( '%contextid%', '%assetid%', 735580, 11, 0 )",
"name":"Turn into Gems..."
}
],
"name":"Harry & Julia",
"type":"11-11 Memories Retold Trading Card",
"market_name":"Harry & Julia",
"market_hash_name":"735580-Harry & Julia",
"market_fee_app":735580,
"commodity":1,
"market_tradable_restriction":7,
"market_marketable_restriction":7,
"marketable":1,
"tags":[
{
"category":"droprate",
"internal_name":"droprate_0",
"localized_category_name":"Rarity",
"localized_tag_name":"Common"
},
{
"category":"Game",
"internal_name":"app_735580",
"localized_category_name":"Game",
"localized_tag_name":"11-11 Memories Retold"
},
{
"category":"cardborder",
"internal_name":"cardborder_0",
"localized_category_name":"Card Border",
"localized_tag_name":"Normal"
},
{
"category":"item_class",
"internal_name":"item_class_2",
"localized_category_name":"Item Type",
"localized_tag_name":"Trading Card"
}
]
}
],
"more_items":1,
"last_assetid":"10919349016",
"total_inventory_count":1335,
"success":1,
"rwgrsn":-2
}
Это подводит меня к моему первому вопросу: Как получить полный список карт из набора?
Из этого обсуждения я нашел конечную точку, которую я могу запросить для определенных карт:
https://steamcommunity.com/market/search/render/?search_descriptions=0&sort_column=default&sort_dir=desc&appid=753&norender=1&count=100&l=english&query=735580-Harry%20%26%20Julia
Ответ:
{
"success":true,
"start":0,
"pagesize":100,
"total_count":2,
"searchdata":{
"query":"735580-Harry & Julia",
"search_descriptions":false,
"total_count":2,
"pagesize":100,
"prefix":"searchResults",
"class_prefix":"market"
},
"results":[
{
"name":"Harry & Julia",
"hash_name":"735580-Harry & Julia",
"sell_listings":62,
"sell_price":4,
"sell_price_text":"0,04\u20ac",
"app_icon":"https:\/\/steamcdn-a.akamaihd.net\/steamcommunity\/public\/images\/apps\/753\/135dc1ac1cd9763dfc8ad52f4e880d2ac058a36c.jpg",
"app_name":"Steam",
"asset_description":{
"appid":753,
"classid":"3080705498",
"instanceid":"0",
"background_color":"",
"icon_url":"IzMF03bk9WpSBq-S-ekoE33L-iLqGFHVaU25ZzQNQcXdA3g5gMEPvUZZEaiHLrVJRsl8vGuCUY7Cjc9ehDNVzDMBeXethSQrcex4NM6b6ATps_vGWSahIx3RIyjYWldlHOQLOGyI_TL3seSRQzDKQLkoEFxRdfQAoTYYP5jfNhU5h4dY-TK-zh17SBVmYstBNg202HAWI4IsxSAVIJYAmnL2cMXc0VlhOkVjDLDkBL-QatTzxHolCxoxHKQfZtmRuy25-5OndLfYeu5xafDCIoLh6Q",
"tradable":1,
"name":"Harry & Julia",
"name_color":"",
"type":"11-11 Memories Retold Trading Card",
"market_name":"Harry & Julia",
"market_hash_name":"735580-Harry & Julia"
},
"sale_price_text":"0,03\u20ac"
},
{
"name":"Harry & Julia (Foil)",
"hash_name":"735580-Harry & Julia (Foil)",
"sell_listings":3,
"sell_price":304,
"sell_price_text":"3,04\u20ac",
"app_icon":"https:\/\/steamcdn-a.akamaihd.net\/steamcommunity\/public\/images\/apps\/753\/135dc1ac1cd9763dfc8ad52f4e880d2ac058a36c.jpg",
"app_name":"Steam",
"asset_description":{
"appid":753,
"classid":"3080735529",
"instanceid":"0",
"background_color":"",
"icon_url":"IzMF03bk9WpSBq-S-ekoE33L-iLqGFHVaU25ZzQNQcXdA3g5gMEPvUZZEaiHLrVJRsl8vGuCUY7Cjc9ehDNVzDMBeXethSQrcex4NM6b6ATps_vGWSahIx3RIyjYWldlHOQLOGyI_TL3seSRQzDKQLkoEFxRdfQAoTYYP5jfNhU5h4dY-TK-zh17SBVmYstBNg202HAWI4IsxSAVIJYAynD5L5XZh1ZnOxdvC7yzUrzCPdekwyZyWhw1HqASbIiWvnbl-cXxdLfYeu5xafCiondOxQ",
"tradable":1,
"name":"Harry & Julia (Foil)",
"name_color":"",
"type":"11-11 Memories Retold Foil Trading Card",
"market_name":"Harry & Julia (Foil)",
"market_hash_name":"735580-Harry & Julia (Foil)"
},
"sale_price_text":"2,91\u20ac"
}
]
}
Могу ли я сделать запрос, чтобы он возвращал все позиции на рынке, начиная с "APPID-" в их хэш-имени, "735580-" в приведенном выше примере?
Вышеуказанная конечная точка обеспечивает наименьшую продажупредложение на рынке, но не самый низкий доступный ордер на покупку (если есть), это мой второй вопрос:
Существует ли аналогичный способ получения доступных ордеров на покупку предмета на рынке Steam?
Из того же обсуждения Я нашел другую конечную точку для получения рыночных данных, однако она также возвращает только самое низкое предложение на продажу вместе со средней ценой и объемом рынка:
https://steamcommunity.com/market/priceoverview/?appid=753¤cy=3&market_hash_name=735580-Harry%20%26%20Julia
Ответ:
{"success":true,"lowest_price":"0,04\u20ac","volume":"4","median_price":"0,05\u20ac"}
Спасибо за любую помощь!