Документация Steamworks
GetContextContents/v0001
Возвращает все ресурсы и валюту конкретного контекста для того или иного пользователя.

Вызывается: интерфейсом обмена, интерфейсом инвентаря

Метод HTTP: GET

Параметры:

НазваниеТипОбязательно?Описание
keystringЭто ключ сервера ресурсов, который вы предоставили в настройках раздела экономики своего приложения в Steam на партнёрском сайте.
appiduint3232-битный номер приложения, к которому относятся ресурсы.
steamiduint6464-битный SteamID пользователя, для которого возвращаются ресурсы.
contextiduint6464-битный номер контекста, для которого возвращаются ресурсы.

Возвращаемые значения

Результат этого метода кодируется в .json.

Ответ:
  • result
    • success — true, если метод успешен. Если сервер ресурсов возвращает false, будет также возвращено поле error с объяснением.
    • error — объяснение сбоя. Это сообщение будет записано в журнал ошибок, который увидеть во вкладке «Экономика» раздела «Сообщество» настроек приложения.
    • assets — массив ресурсов, дочерних для указанного родительского.
      • id — 64-битный номер ресурса.
      • class — массив идентификаторов классов ресурсов, заданных в игре. Разработчик самостоятельно решает, какими
        будут эти идентификаторы. Они просто должны предоставлять достаточно данных для воспроизведения информации о ресурсе
        (т. е. описывать, какого рода данный предмет), когда эти идентификаторы класса передаются назад GetAssetClassInfo/v0001. Каждый идентификатор должен содержать следующие поля:
        • name — название данной части идентификатора класса.
        • value — значение данной части идентификатора класса в виде строки.
        • instance -— если true, идентификатор класса считается «данными экземпляра» (instance data), что означает,
          что обычно он не передаётся с предметом при обмене, так что он не учитывается при определении ценности предмета.
          (По умолчанию: false)
          Обратите внимание: свойство «класс ресурса», которое будет влиять на свойство предмета market_hash_name в ответе GetAssetClassInfo/v0001 нельзя помечать как «данные экземпляра». Работа Торговой площадки опирается на то, что «данные экземпляра» не влияют на market_hash_name.
        Чтобы увеличить объём данных описаний, который может хранить Steam, идентификаторы класса должны быть максимально обобщёнными, чтобы обеспечить их повторное использование. К примеру, не следует создавать класс там, где у вас есть просто одно свойство с таким названием, как itemid, и значением в виде 64-битного номер ресурса. Вместо этого опишите, какого рода этот предмет таким образом, чтобы у вас было достаточно информации для построения описания. К примеру, класс ресурса с параметрами "type" = "sword" и "rarity" = "common" даёт достаточно информации для описания предмета без необходимости знать, какой это экземпляр предмета.
      • amount (необязательно) — число экземпляров ресурса в стеке. Пользователь сможет обменять столько предметов в стеке. (По умолчанию: 1)
    • currency (необязательно) — массив валют, содержащихся в данном контексте. Если у пользователя нет валюты, она должна быть включена сюда только в том случае, если её видно во внутриигровом интерфейсе. Показ валюты очень схож с отображением ресурса, поэтому перечисленные выше поля для ресурсов также применимы и к валютам, за исключением полей class и id. В дополнение к полям, используемым для ресурсов, для валют используются следующие два поля:
      • id — 32-битное число без знака, назначенное для данного вида валюты. Этот номер должен являться уникальным и глобальным внутри игры.
      • amount — 64-битное целое число: сколько валюты данного вида есть у пользователя.

Пример вывода

{ "result": { "assets": [ { "id": 131363189, "class": [ { "name": "def_index", "value": "128" }, { "name": "quality", "value": "3" } ] }, { "id": 131412933, "class": [ { "name": "def_index", "value": "155" }, { "name": "quality", "value": "3" } ] }, { "id": 556669733, "class": [ { "name": "def_index", "value": "583" }, { "name": "flags", "value": "1" }, { "name": "origin", "value": "1", "instance": true } ] }, ] , "success": true } }