Возвращает информацию, необходимую для показа класса ресурса пользователю. Этот метод вызывается как минимум однажды для каждого ресурса, который появляется в инвентаре пользователя. Данные кэшируются, так что его можно вызывать реже, чем один раз на каждый просмотр ресурса. Если вам по какой-то причине нужно аннулировать кэш, вы можете поменять версию класса ресурса на вкладке «Экономика» страницы настроек приложения.
Обычно идентификаторы класса полностью заданы игрой, в которой существует ресурс. Валюта в то же время является исключением. Сервер экономики Steam может вызвать GetAssetClassInfo с единственным идентификатором, currencyid, со значением равным номеру валюты, которая ему нужна. В этом случае сервер ресурсов должен вернуть информацию о валюте, а не о ресурсе.
Вызывается: интерфейсом инвентаря
Метод HTTP: GET
Параметры:
Название | Тип | Обязательно? | Описание |
key | string | ✔ | Это ключ сервера ресурсов, который вы предоставили в настройках раздела экономики своего приложения в Steam на партнёрском сайте. |
appid | uint32 | ✔ | 32-битный номер приложения, к которому относятся ресурсы. |
class_count | uint32 | ✔ | Число указанных идентификаторов класса. |
class_name# | string | ✔ | Название идентификатора. Для каждого числа между 0 и class_count – 1 будет возвращён свой параметр (к примеру, class_name0, class_name1, class_name2) |
class_value# | string | ✔ | Значение идентификатора. Для каждого числа между 0 и class_count – 1 будет возвращён свой параметр. (к примеру, class_value0, class_value1, class_value2) |
language | string | ✔ | Языковой код ISO639-1 плюс код страны ISO 3166-1 alpha-2 для языка, на котором возвращать строки. К примеру: en_US, de_DE, zh_CN, ko_KR. По умолчанию: en_US |
Возвращаемые значения
Результат этого метода кодируется в .json.
Ответ: -
result
-
success
— true, если метод успешен. Если сервер ресурсов возвращает false, будет также возвращено поле error
с объяснением.
-
error
— объяснение сбоя. Это сообщение будет записано в журнал ошибок, который увидеть во вкладке «Экономика» раздела «Сообщество» настроек приложения.
-
asset
— объект, содержащий информацию для отображения для указанных идентификаторов класса ресурса.
Информация для отображения:
-
background_color
— шестнадцатеричный RGB-код цвета в виде строки.
-
icon_url
— иконка для данного ресурса. Изображение должно быть в формате jpeg, gif или png.
Предпочтительно gif или png, поскольку они поддерживают прозрачность. С помощью этого поля можно отправить иконку одного размера, а Steam переведёт их в подходящий для интерфейса размер. Размер иконки здесь — 200 на 200 пикселей. Steam предоставит сеть доставки контента (CDN) для отправки пользователям этих изображений, так что нагрузка на эти ссылки будет сравнительно невелика.
-
icon_url_large
(необязательно) — большая иконка для описаний. Требования к формату файлов те же, что и у icon_url.
Размер иконки здесь — 330 на 192 пикселя. Если параметр icon_url_large не отправлен, вместо него используется icon_url
.
Steam предоставит сеть доставки контента (CDN) для отправки пользователям этих изображений, так что нагрузка на эти ссылки будет сравнительно невелика.
-
descriptions
— массив описаний, который будет показан для ресурса. Они будут показаны среди подсказок и подробных описаний предметов
в том порядке, в котором отправлены.
-
type
(необязательно) — поле type
задаёт, как будет отображаться поле value
.
Это могут быть любые из следующих значений:
-
text
— поле value будет интерпретироваться как необработанный переведённый текст на указанном языке. Некоторые символы (знаки «больше», «меньше» и проч.) будут переведены в html-код, так что они не будут интерпретироваться как тэги. Все символы перехода на новую строку будут переведены в <br>
.
Этот тип следует использовать для данных, введённых пользователем. Если тип не указан, по умолчанию он приравнивается к text
.
-
html
— поле value будет выведено на страницу как html с нетронутыми тегами.
-
image
— ссылка на изображение для этого описания. Steam предоставит сеть доставки контента (CDN) для этого изображения, так что нагрузка на эти ссылки будет сравнительно невелика.
-
value
— переведённое текстовое описание.
-
color
(не обязательно) — шестнадцатеричный RGB-цвет, используемый для отображения текста параметра value. Используйте тот же цвет, на котором эта информация появляется во внутриигровом интерфейсе. Это поле применимо только к значениям типа text
.
-
label
(необязательно) — если данное поле заполнено, эта пометка будет показана перед описанием.
-
tags
(не обязательно) — массив меток, относящихся к ресурсу. Они показываются пользователям в качестве фильтров в разных местах интерфейса, в том числе на Торговой площадке и в пользовательском инвентаре.
-
internal_name
— внутреннее название для метки. Пользователям оно не показывается. Не используйте пробелы, символы, не используемые в ASCII, или непечатаемые символы в internal_name
.
-
name
— локализованное название метки. Показывается пользователям.
-
category
— категория, к которой относится эта метка. Используется только для внутренней группировки и не показывается пользователю. Не используйте пробелы, символы, не используемые в ASCII, или непечатаемые символы в category
.
-
category_name
— локализованное название категории. Показывается пользователям.
-
color
(не обязательно) — шестнадцатеричный RGB-цвет, используемый для отображения названия метки.
-
tradable
(необязательно) — если true, предмет появится в интерфейсе обмена. (По умолчанию: false)
-
marketable
(необязательно) — если true, предмет можно продать на торговой площадке Steam. (По умолчанию: false).
Обратите внимание: лоты на Торговой площадке нельзя протестировать. Если выставить предмет на Торговую площадку, он будет немедленно виден всем пользователям, даже если экономика игры отмечена как частная.
-
market_name
(требуется, если marketable = true) — если предмет выставлен на Торговой площадке, это название, которое будет использовано для группировки предметов и будет отображаться на Торговой площадке. Этот параметр должен быть локализован, где возможно.
-
market_hash_name
(требуется, если marketable = true) — этот параметр должен быть английским значением market_name
. Он используется для соотнесения различных версий и показа истории цен и другой информации.
-
market_fee
(необязательно) — если marketable = true, процент от объема сделки (по умолчанию 10%), который будет взят игрой в качестве комиссии. Эти комиссионные оплачиваются покупателем предмета во время транзакции и передаются издателю как часть ежемесячного платежа. Выражается как число между 0 и 0.95 (впрочем, рекомендуется выставлять разумную комиссию). (По умолчанию: 0.10)
-
commodity
(необязательно) — обозначает, что каждый предмет с тем же market_hash_name
, что и данный предмет, абсолютно такой же, как и данный предмет. С пользовательской точки зрения разницы быть не должно. Это меняет интерфейс Торговой площадки для такого рода предметов и позволяет пользователям размещать заказы на покупку. У пользователя не будет возможности выбрать, у кого купить, или какой именно из лотов, поэтому крайне важно, чтобы предметы с одним и тем же market_hash_name
были идентичными, если commodity
= true. (По умолчанию: false)
-
market_tradable_restriction
(необязательно) — число дней после покупки, в течение которого предмет невозможно обменять. Вы можете ввести ограничение на обмен купленных предметов, чтобы снизить возможности пользователей совершить мошенничество с кредитными картами. В играх Valve используется значение 7. (По умолчанию: 0)
Обратите внимание: это значение не является принудительным. Steam не устанавливает ограничение за игру: данное значение используется только для того, чтобы информировать пользователей о том, что ограничение существует. После того, как предмет приобретён, сервер ресурсов должен самостоятельно наложить ограничение на обмен на новый предмет. Сервер ресурсов может сделать это в тот момент, когда вызывается TradeSetOwned/v0001, при этом значение параметра is_market
равно 1
, а значение audit_action
— 101
.
-
market_marketable_restriction
(необязательно) — работает как и market_tradable_restriction
, но показывает число дней, в течение которых предмет нельзя продать на Торговой площадке. В играх Valve используется значение 7. (По умолчанию: 0)
Обратите внимание: это значение не является принудительным. Steam не устанавливает ограничение за игру: данное значение используется только для того, чтобы информировать пользователей о том, что ограничение существует. После того, как предмет приобретён, сервер ресурсов должен самостоятельно наложить ограничение на обмен на новый предмет. Сервер ресурсов может сделать это в тот момент, когда вызывается TradeSetOwned/v0001, при этом значение параметра is_market
равно 1
, а значение audit_action
— 101
.
-
actions
— массив действий (ссылок), как правило необходимых для того, чтобы показать больше информации о ресурсе. Они отображаются в виде кнопок под описанием на странице инвентаря. Эти ссылки откроются в браузере пользователя, используемом по умолчанию.
-
link
— URL, по которой переходим при нажатии на кнопку. Токены %assetid%, %contextid% и %appid% будут заменены соответствующими номерами.
-
name
— пометка, которая будет показана на кнопке.
-
owner_descriptions
— массив описаний, которые показываются только владельцу ресурса. Содержимое массива совпадает с descriptions
. Единственное отличие между двумя списками состоит в том, кто может видеть эти описания.
-
owner_actions
— массив действий, которые показываются только владельцу ресурса. Формат совпадает с форматом actions
. Они представляют собой специальные действия, которые доступны только владельцу ресурса, к примеру, активация или изменение ресурса.
-
fraudwarnings
— массив предупреждений о возможном мошенничестве, который добавляется, если предмет добавлен в обмен.
Они показываются красным цветом.
-
name
— отображается в первой строке как название предмета.
-
name_color
— шестнадцатеричный RGB-цвет, используемый для отображения названия. Должно совпадать с цветовой кодировкой редкости или качества предметов в игре.
-
type
— отображается во второй строке.
-
contained_item
(необязательно) — этот параметр должен содержать полный блок ресурсов для предмета, содержащегося внутри ресурса. Игры на движке Source используют этот параметр для обёрнутых подарков, но это может быть неприменимо к вашей игре.
-
cache_expiration
(необязательно) — время в формате RFC 3339 UTC, когда необходимо аннулировать кэш ответа, хранящийся в Steam. Используйте это поле только в том случае, если какая-либо часть ответа GetAssetClassInfo позднее изменится, хотя набор свойств классов ресурсов и не изменился. Это может пригодиться, если предмет станет доступным для обмена позже. Мы рекомендуем округлять время в свойствах классов ресурсов (и, как следствие, в этом поле тоже) до дней или часов, чтобы упростить для Steam кэширование описаний классов ресурсов.
-
item_expiration
(необязательно) — время в формате RFC 3339 UTC, когда предмет больше невозможно использовать. После этого все активные лоты подвергнутся автоматической отмене, и их невозможно будет купить.Пример вывода
{
"result": {
"asset": {
"descriptions": [
{
"name": "attribute",
"value": "+50% fire damage resistance on wearer",
"color": "99ccff"
},
{
"name": "attribute",
"value": "+40% explosive damage resistance on wearer",
"color": "99ccff"
},
{
"name": "attribute",
"value": "Alt-Fire: Gain increased attack power by\ncharging toward your enemies."
}
]
,
"fraudwarnings": [
"This item has been renamed.\nOriginal name: \"Chargin' Targe\""
]
,
"tradable": true,
"background_color": "3C352E",
"icon_url": "http://media.steampowered.com/apps/440/icons/c_targe_large.b7d8c75ecfc9b04cc49d2c61ddc77996d7ec2f3a.png",
"name": "''Awesome Targe''",
"type": "Level 10 Shield",
"name_color": "7D6D00",
"actions": [
{
"name": "Item Wiki Page...",
"link": "http://wiki.teamfortress.com/scripts/itemredirect.php?id=131&lang=en_US"
}
]
},
"success": true
}
}