Документация Steamworks
Интерфейс IGameInventory
Основной интерфейс для взаимодействия с системой экономики Steam.
См. также: ISteamEconomy.

Дополнительная информация об использовании веб-API Steamworks доступна в разделе Обзор веб-API.

GetHistoryCommandDetails

GET https://partner.steam-api.com/IGameInventory/GetHistoryCommandDetails/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
appiduint32AppID игры
steamiduint64SteamID используемого аккаунта
commandstringКоманда, выполняемая по отношению к предмету
contextiduint64Контекст, историю которого необходимо получить
argumentsstringАргументы, изначально предоставленные вместе с командой



ВНИМАНИЕ: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

GetUserHistory

GET https://partner.steam-api.com/IGameInventory/GetUserHistory/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
appiduint32AppID игры
steamiduint64SteamID, историю которого необходимо получить
contextiduint64Контекст, историю которого необходимо получить
starttimeuint32Время начала диапазона
endtimeuint32Время окончания диапазона



ВНИМАНИЕ: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

HistoryExecuteCommands

POST https://partner.steam-api.com/IGameInventory/HistoryExecuteCommands/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
appiduint32AppID игры
steamiduint64ID ресурса используемого предмета
contextiduint64Контекст, историю которого необходимо получить
actoriduint32Уникальный 32-битный ID сотрудника службы поддержки, выполняющего команду



ВНИМАНИЕ: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

SupportGetAssetHistory

GET https://partner.steam-api.com/IGameInventory/SupportGetAssetHistory/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
appiduint32AppID игры
assetiduint64ID ресурса используемого предмета
contextiduint64Контекст, историю которого необходимо получить



ВНИМАНИЕ: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

UpdateItemDefs

POST https://partner.steam-api.com/IGameInventory/UpdateItemDefs/v0001
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
appiduint32AppID игры
itemdefsмассив JSONОдно или несколько определений предметов в виде массива JSON, которые нужно создать или обновить.

Ответ:
результатом этого метода будет объект JSON.
  • ответ
    • success — true, если метод успешен. Если сервер ресурсов возвращает false, будет также возвращено поле error с объяснением.
    • error — объяснение сбоя. Это сообщение будет записано в журнал ошибок, который можно увидеть во вкладке «Экономика» раздела «Сообщество» настроек приложения.
    • failed - массив номеров определений предметов, обновлённых посредством этого вызова.

Пример кода
curl --request POST \ --header "Content-Type: application/x-www-form-urlencoded" \ --form appid=30400 \ --form 'itemdefs=[{"appid":"30400","itemdefid":"418","type":"item","display_type":"bag","name":"Bag of Stuff","description":"This bag contains stuff.","background_color":"993300","tradable": true,"marketable": true,"commodity": true,"tags":"class:human;type:bag"}, {"appid": "30400","itemdefid":"403","type":"item","display_type":"cat","name":"Cat of Bags","description":"This cat contains multitudes."}]' "https://api.steampowered.com/IGameInventory/UpdateItemDefs/v0001?key=xxxxxx"

Пример вывода
{ "result": { "updated": [ "418", "403" ], "failed": [], "success": true } }
После завершения всех обновлений определений предметов в случае изменения флагов продажи или обмена вызовите FlushAssetAppearanceCache, чтобы немедленно обновить статус связанных предметов на Торговой площадке. Этот вызов совершает ресурсоёмкую серверную операцию, поэтому его необходимо сделать только после завершения всех обновлений и лишь тогда, когда все эти флаги были изменены.