Возвращает все ресурсы и валюту конкретного контекста для того или иного пользователя.
Вызывается: интерфейсом обмена, интерфейсом инвентаря
Метод HTTP: GET
Параметры:
Название | Тип | Обязательно? | Описание |
key | string | ✔ | Это ключ сервера ресурсов, который вы предоставили в настройках раздела экономики своего приложения в Steam на партнёрском сайте. |
appid | uint32 | ✔ | 32-битный номер приложения, к которому относятся ресурсы. |
steamid | uint64 | ✔ | 64-битный SteamID пользователя, для которого возвращаются ресурсы. |
contextid | uint64 | ✔ | 64-битный номер контекста, для которого возвращаются ресурсы. |
Возвращаемые значения
Результат этого метода кодируется в .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
}
}