Steam Store非公开API一览 [#用户交互类]

最近做一些Steam项目的时候抓包或者查阅Steam网页的JS找到了些项目中需要的非公开的API接口,在使用这些API接口时注意需要模拟登陆。

Steam的模拟登陆可以通过递交:

steamCountry  browserid  sessionid 三个Cookie信息即可

在下文的API中的参数 sessionid 与上述cookie中的 sessionid 相同


SteamUserAction

SteamUserAction/UnpackGift(Accept Gift):

简介:用户接受礼物,需要登录。

请求地址: https://store.steampowered.com//gifts/{gidGift}/unpack

参数:

参数名称 类型 必填 简介 提交方式
gidGift string Steam礼物的GID 链接中提交
sessionid string 用户登录session的SessionID Post

返回格式:Json

 

SteamUserAction/ChangeRegion(AjaxUpdateCountry):

简介:用户更改账户所属区域,需要登录。

请求地址: https://store.steampowered.com/account/AjaxUpdateCountry

参数:

参数名称 类型 必填 简介 提交方式
first_name string 用户姓名的名字 Post
last_name string 用户姓名的姓氏 Post
address1 string 地址的首行 Post
address2 string 地址的第二行 Post
city string 所在地址的城市名 Post
state string 所在地址的州(美国区域使用州的缩写,例如:纽约州为 NY) Post
postal_code string 所在地址的邮编 Post
country string 所在地址的国家的缩写(例如:美国为US) Post
military string 默认值为0 Post
sessionid string 用户登录session的SessionID Post

返回格式:Json

 

SteamStore

SteamStore/EditCart:

简介:用户对购物车的操作。

请求地址: https://store.steampowered.com/cart/

参数:

参数名称 类型 必填 简介 提交方式
snr string 操作SNR【添加物品:’1_5_9__403’,移除物品:’1_8_4__cart-remove’】 Post
action string 操作类型【添加物品:’add_to_cart’,移除物品:’remove_line_item’】 Post
subid string × 当操作为添加物品时必填,物品的subid Post
lineitem_gid string × 当操作为移除物品时必填,删除物品在购物车的lineitem_gid Post
cart string × 当操作为移除物品时必填,为购物车ID Post
sessionid string 用户登录session的SessionID Post

返回格式:Html

使用方式:取Cookie中的 shoppingCartGID (购物车Gid)值,然后进行其他操作。

 

SteamStore/CheckoutInittransaction:

简介:用户确认购物车内容。

请求地址: https://store.steampowered.com/checkout/inittransaction/

参数:

【为自己购买时,仅演示用Steam钱包支付】

参数名称 类型 必填 简介 提交方式
gidShoppingCart string 进行结算操作的购物车GID Post
gidReplayOfTransID int gidReplayOfTransID,默认值:-1 Post
PaymentMethod string 支付方式【steam钱包:steamaccount】 Post
abortPendingTransactions int abortPendingTransactions,默认值:0 Post
bHasCardInfo int bHasCardInfo,默认值:0 Post
Country string 购买物品的区域(国家),例如:中国为:CN Post
ShippingCountry string 接受物品的区域(国家),例如:中国为:CN Post
bIsGift int 是否为礼物,默认值:0 Post
GifteeAccountID int 接收物品人的,默认值:0 Post
bSaveBillingAddress int bSaveBillingAddress,默认值:1 Post
bUseRemainingSteamAccount int bUseRemainingSteamAccount,默认值:1 Post
bPreAuthOnly int bPreAuthOnly,默认值:0 Post
ScheduledSendOnDate int 礼物发送时间,默认值:0 Post
sessionid string 用户登录session的SessionID Post

【作为礼物购买时,仅演示用Steam钱包支付】

参数名称 类型 必填 简介 提交方式
gidShoppingCart string 进行结算操作的购物车GID Post
gidReplayOfTransID int gidReplayOfTransID,默认值:-1 Post
PaymentMethod string 支付方式【steam钱包:steamaccount】 Post
abortPendingTransactions int abortPendingTransactions,默认值:0 Post
bHasCardInfo int bHasCardInfo,默认值:0 Post
Country string 购买物品的区域(国家),例如:中国为:CN Post
ShippingCountry string 接受物品的区域(国家),例如:中国为:CN Post
bIsGift int 是否为礼物,默认值:1 Post
GifteeAccountID int 接收人的AccountID(不是Steam64位ID) Post
GifteeName int 接收人的称呼 Post
Signature int 礼物中自己的签名(称呼) Post
Sentiment int 礼物中留言的注脚 Post
GiftMessage int 礼物中的留言内容 Post
bSaveBillingAddress int bSaveBillingAddress,默认值:1 Post
bUseRemainingSteamAccount int bUseRemainingSteamAccount,默认值:1 Post
bPreAuthOnly int bPreAuthOnly,默认值:0 Post
ScheduledSendOnDate int 礼物发送时间,默认值:0 Post
sessionid string 用户登录session的SessionID Post

返回格式:JSON

使用方式:取返回JSON中的 transid (订单transid)值,然后进行结算支付。

分享到:

6 条评论

昵称
  1. Quang1999

    In the “SteamStore/EditCart” you have to send the “Referer” in the header and the value of it is the link of the product

    1. 很懒的樱花

      I did check it after u reported this issue, but I found that I don’t need to send the Referer in SteamStore/EditCart. If u see this feedback, Could you plz send me more detail about this issue so that I can confirm it and update this page. Anyway, thanks for your issue. And you are the most welcome to report any issue to me to improve my SteamAPI List Page.

      1. Quang1999

        Sorry for my mistake, i try it with postman yesterday it don’t work, but today i write a java program and it work, maybe there is some mistake when i try with postman

      2. Quang1999

        And i have a question too, when i gift the game the “success” in json is 2, is that need any cookie?

  2. 晴和君

    api什么的不嫌多

    1. 很懒的樱花

      刚好项目里用到然后拿出来分享233