Steamworks 文獻庫
GetContextContents/v0001
為使用者傳回特定脈絡之下所有的資產與貨幣。

呼叫方: 交易 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 - 由遊戲定義的一組資產類別識別碼陣列。 識別碼是由遊戲定義的。
        將類別識別碼送回 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 (可選用)- 此脈絡內含的一組貨幣種類陣列。 如果使用者並無特定種類的貨幣,那麼應只有在遊戲內介面出現的情況下才會被放入此處。 貨幣的顯示方式與資產相當類似,所以上方列出的資產欄位,除了 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 } }