如何使用Steam API发送TradeOffer?

时间:2017-07-11 08:24:45

标签: steam

Steam为我们提供了与交易相关的API,但没有提供地址的具体示例:https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#Input,首先尝试,我不知道如何发送报价交易请求。

1 个答案:

答案 0 :(得分:1)

Steam API官方不支持发送交易优惠。

你基本上需要使用一些参数调用url https://steamcommunity.com/tradeoffer/new/send(它是一个POST请求)。

你需要知道两件事:SteamId(例如我的是:68364320)和伙伴的代币(例如我的是:CzTCv8JM)。

<强>接头

表单参数

  • 'sessionid':steamcommunity会话的会话ID
  • 'serverid':我真的不知道这意味着什么,只需将其设置为1
  • 'partner':SteamId
  • 'tradeoffermessage':附加到交易要约的消息
  • 'json_tradeoffer':优惠的JSON(链接)
  • '验证码':留空
  • 'trade_offer_create_params':如果朋友列表中没有合作伙伴,则需要参数,请参阅tradeofferparams.json
  • 'tradeofferid_countered':留空我想你

现在是必要的JSON:

<强> tradeofferparams.json

{  
  "trade_offer_access_token":"{{tradeToken}}"
}

itemAsset.json (需要json_tradeoffer.json

您可以通过请求用户广告资源+您的广告资源来获取这些ID。

{  
  "appid":"appid",
  "contextid":"contextid",
  "amount":"1",
  "assetid":"assetid"
}

<强> json_tradeoffer.json

{  
  "newversion":true,
  "version":4,
  "me":{  
    "assets":[  

    ],
    "currency":[  

    ],
    "ready":false
  },
  "them":{  
    "assets":[  

    ],
    "currency":[  

    ],
    "ready":false
  }
}

将货币留空。我想它永远不会被使用,资产是itemAsset.json的数组。

用于参考实现查找steam-awesome,其中列出了具有参考实现的多个存储库。最受欢迎的可能是node-steam-tradeoffer-manager,您可以在this piece of code找到发送功能。