Steamworks 文献库
GetContextContents/v0001
此 API 向用户返回特定上下文中的所有资产与货币。

调用方: 交易 UI、库存 UI

HTTP 方法: GET

参数:

名称类型是否必需描述
keystring这是在合作伙伴网站上,您在自己应用的 Steam 经济体设置中提供的“资产服务器密钥”。
appiduint32与资产相关联的应用程序的 32 位 App ID。
steamiduint64要为其返回资产的用户的 64 位 Steam ID。
contextiduint64要为其返回资产的上下文的 64 位 ID。

返回

此方法的输出应为 JSON 格式。

响应:
  • result
    • success - 如果方法成功,为 true。 如果资产服务器返回 false,应将 error 设置为解释原因的字符串 。
    • error - 描述为何此调用失败的字符串。 这条消息将记录入错误日志,可在 Steamworks 站点的“经济体”选项卡下查看。
    • assets - 为指定上下文的子项的一组资产。
      • id - 资产的 64 位 ID。
      • class - 一组游戏定义的资产类标识符。 由游戏定义这些标识符是什么0>。 只需提供足以在类标识符传回 GetAssetClassInfo/v0001
        时重现资产信息的信息(比如,描述物品是什么)。 各标识符应该包含以下字段:
        • name - 类标识符中此部分的名称。
        • value - 类标识符中的此部分作为字符串的值。
        • instance - 若为 true,类标识符被视为“实例数据”,意为通常
          不在交易中与物品一起转移,因此在物品的交易值中不予考虑。
          (默认为 false。)
          注意:GetAssetClassInfo/v0001 响应中最终对物品的 market_hash_name 有影响的资产类属性绝不能作为实例数据。 社区市场的运行取决于对 market_hash_name 无任何影响的实例属性。
        为了使 Steam 能尽量多地缓存描述信息,类标识符应尽可能通用并可重复使用。 例如,要避免使用只有一个名称为“itemid”,值为资产的 64 位 ID 的属性的类。 您应该对物品详加形容,以提供足够信息生成描述。 例如,"type" = "sword" 与 "rarity" = "common"的资产类能提供足够的信息,生成物品描述,而您不必知道物品的具体实例是哪一个。
      • amount(可选)- 此资产的堆栈数量。 用户能在此堆栈中最多交易此单位数量。 (默认为 1。)
    • currency (可选) - 此上下文包含的一组货币类型。 如果一个用户没有任何特别的币种,则只有在游戏内 UI 中可见时才将其包含在此。 货币显示与资产显示非常类似,因此,除了 classid 字段外,前述资产的字段也适用于货币。 除了其他资产字段外,货币还使用以下两个字段:
      • id - 分配给此种货币的无符号的 32 位 ID。 此 ID 必须在游戏中具有全局唯一性。
      • 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 } }