Как получить доступные заказы на покупку карт на Steam market и список карт из набора карт? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь создать пользовательский скрипт, который проверяет мой инвентарь 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&currency=3&market_hash_name=735580-Harry%20%26%20Julia

Ответ:

{"success":true,"lowest_price":"0,04\u20ac","volume":"4","median_price":"0,05\u20ac"}

Спасибо за любую помощь!

...