首页
BOT中心
定制需求 NEW
推广返利
帮助中心
联系我们

Steam饰品机器人对接协议

2020-12-29 作者:海盗海

饰品机器人对接协议

此协议解释权归属海盗海科技所有

联系我们

邮箱:Business@haidaoteam.com

QQ :800181501

公共参数说明

饰品机器人对接使用标准的HTTP协议(正式环境使用HTTPS),请求和响应数据包都使用json格式;

返回的响应包基础格式为:

{

"code": 0, // 错误码,0表示成功,非0表示异常

"body": {}, // 具体返回数据

"message": "Succeed" // 错误描述

}

机器人状态查询

GET http://bot.5uskin.com/api/steambot/list/

接口返回数据结构

{

"code": 0,

"body": {

"bots": [

{

"steamid": "705xxxxxxxxxx", // 机器人steamid

"state": 2, // 机器人状态,1 为待登录,2为已登录,3为已离线

}

]

},

"message": "Succeed"

}

发起交易接口

POST http://bot.5uskin.com/api/steambot/trade/

接口参数包体:

{

"steamid": "705xxxxx", // 发起交易的机器人steamid

"my_items": [

// 要交易的我方饰品列表,如果交易我方,则留空数组

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680233392" // 饰品的assetid

}

],

"their_items": [

// 要交易的对方饰品列表,如果不请求对方饰品,则留空数组

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680235255" // 饰品的assetid

}

],

"tradeurl": "https://steamcommunity.com/tradeoffer/new/?partner=81xxxxxx&token=tOxxxxxx", // 对方的steam报价链接

"cancel_time": 600000, // 订单取消时长,单位毫秒;报价发起后超过该时长后,机器人自动取消报价

"message": "my trade offer", // steam报价单附带的报价描述信息,

"uid": "xxxxxxxxxxxxx", // 该笔报价的唯一uuid,报价发起成功后,可以用该uuid查询报价状态

}

接口响应

{

"code": 0,

"body": {

"uid": "xxxxxxx"

},

"message": "succeed"

}

查询交易状态

GET http://bot.5uskin.com/api/steambot/trade/

接口参数:

机器人报价单状态

报价单在Steam平台状态

接口响应

{

"code": 0,

"body": {

"uid": "xxxxxxxxxxxxx",

"their_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680235255", // 饰品的assetid

"new_assetid": "15680235256" // 交易成功后,该饰品的新assetid

}

],

"my_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680233392" // 饰品的assetid

}

],

"updatedAt": "2019-04-15T10:02:38.495Z",

"createdAt": "2019-04-15T10:02:07.693Z",

"trade_no": "3538xxxxxx", // 机器人报价发起成功后得到的steam报价单号

"exchanged": true,

"state": 1, // 机器人报价单状态;0表示机器人正在排队处理中,1表示报价交易成功,2表示报价已失败(取消报价也是报价失败),11表示机器人提交报价中,12表示报价发起成功,已经从steam获取到steam报价单号,13表示机器人报价发起完毕,报价单激活中,等待客户接收报价;

"offer_state": 3, // 报价单在steam平台状态,状态信息参加上面的报价单Steam平台状态表格

"cancel_time": 600000,

"tradeurl": "https://steamcommunity.com/tradeoffer/new/?partner=81xxxxxx&token=tOxxxxxx",

"message": "my trade offer",

"steamid": "765xxxxxxxxxx"

},

"message": "succeed"

}

取消交易

POST http://bot.5uskin.com/api/steambot/canceltrade/

接口请求参数包体

{

"uid": "xxxxxxx" // 要取消的报价单uuid

}

接口响应

{

"code": 0,

"body": {

"uid": "xxxxxx",

"trade_no": "2342343255"

},

"message": "xxxxx"

}

报价状态回调

POST http://www.yoursite.com/api/tradeoffer/callback/

报价状态回调由机器人发起,向类似上面这样的你方回调地址回调订单状态变化信息

回调包体

{

"type": "tradeoffer", // 回调类型,默认 tradeoffer,指代报价单

"action": "update", // 消息类型,默认 update,指代报价单状态更新

"body": {

"uid": "xxxxxxxxxxxxx",

"their_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680235255", // 饰品的assetid

"new_assetid": "15680235256" // 交易成功后,该饰品的新assetid

}

],

"my_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680233392" // 饰品的assetid

}

],

"updatedAt": "2019-04-15T10:02:38.495Z",

"createdAt": "2019-04-15T10:02:07.693Z",

"trade_no": "3538xxxxxx", // 机器人报价发起成功后得到的steam报价单号

"exchanged": true,

"state": 1, // 报价单状态;0表示机器人正在排队处理中,1表示报价交易成功,2表示报价已失败(取消报价也是报价失败),11表示机器人提交报价中,12表示报价发起成功,已经从steam获取到steam报价单号,13表示机器人报价发起完毕,报价单激活中,等待客户接收报价;

"offer_state": 3, // 报价单在steam平台状态,状态信息参加上面的报价单Steam平台状态表格

"cancel_time": 600000,

"tradeurl": "https://steamcommunity.com/tradeoffer/new/?partner=81xxxxxx&token=tOxxxxxx",

"message": "my trade offer",

"steamid": "765xxxxxxxxxx"

}

}

回调响应格式

{

"code": 0, // code为0 表示接收回调正常,非0表示接受异常

"body": {},

"message": "ok"

}

每次报价单status变化时,机器人就会向以上地址发送一次回调;

你方收到回调后,应该返回如上格式响应包,code为0 表示接收回调正常,非0表示接受异常;

如果回调响应异常,则机器人会再间隔1分钟、10分钟、1小时分别重发一次;

如果1小时后仍然返回异常,则机器人不再继续重发;

相关产品

Steam饰品机器人-淘宝版

适用于淘宝平台steam饰品/钥匙交易店铺,帮助商家实现24小时自动发货。

推荐客户案例

50shou电竞饰品交易平台

淘宝1568电玩

浩瀚数码专营店

君傲数码专营店(天猫)

相关阅读

12-29 2020
Steam饰品机器人对接协议

饰品机器人对接协议

此协议解释权归属海盗海科技所有

联系我们

邮箱:Business@haidaoteam.com

QQ :800181501

公共参数说明

饰品机器人对接使用标准的HTTP协议(正式环境使用HTTPS),请求和响应数据包都使用json格式;

返回的响应包基础格式为:

{

"code": 0, // 错误码,0表示成功,非0表示异常

"body": {}, // 具体返回数据

"message": "Succeed" // 错误描述

}

机器人状态查询

GET http://bot.5uskin.com/api/steambot/list/

接口返回数据结构

{

"code": 0,

"body": {

"bots": [

{

"steamid": "705xxxxxxxxxx", // 机器人steamid

"state": 2, // 机器人状态,1 为待登录,2为已登录,3为已离线

}

]

},

"message": "Succeed"

}

发起交易接口

POST http://bot.5uskin.com/api/steambot/trade/

接口参数包体:

{

"steamid": "705xxxxx", // 发起交易的机器人steamid

"my_items": [

// 要交易的我方饰品列表,如果交易我方,则留空数组

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680233392" // 饰品的assetid

}

],

"their_items": [

// 要交易的对方饰品列表,如果不请求对方饰品,则留空数组

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680235255" // 饰品的assetid

}

],

"tradeurl": "https://steamcommunity.com/tradeoffer/new/?partner=81xxxxxx&token=tOxxxxxx", // 对方的steam报价链接

"cancel_time": 600000, // 订单取消时长,单位毫秒;报价发起后超过该时长后,机器人自动取消报价

"message": "my trade offer", // steam报价单附带的报价描述信息,

"uid": "xxxxxxxxxxxxx", // 该笔报价的唯一uuid,报价发起成功后,可以用该uuid查询报价状态

}

接口响应

{

"code": 0,

"body": {

"uid": "xxxxxxx"

},

"message": "succeed"

}

查询交易状态

GET http://bot.5uskin.com/api/steambot/trade/

接口参数:

机器人报价单状态

报价单在Steam平台状态

接口响应

{

"code": 0,

"body": {

"uid": "xxxxxxxxxxxxx",

"their_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680235255", // 饰品的assetid

"new_assetid": "15680235256" // 交易成功后,该饰品的新assetid

}

],

"my_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680233392" // 饰品的assetid

}

],

"updatedAt": "2019-04-15T10:02:38.495Z",

"createdAt": "2019-04-15T10:02:07.693Z",

"trade_no": "3538xxxxxx", // 机器人报价发起成功后得到的steam报价单号

"exchanged": true,

"state": 1, // 机器人报价单状态;0表示机器人正在排队处理中,1表示报价交易成功,2表示报价已失败(取消报价也是报价失败),11表示机器人提交报价中,12表示报价发起成功,已经从steam获取到steam报价单号,13表示机器人报价发起完毕,报价单激活中,等待客户接收报价;

"offer_state": 3, // 报价单在steam平台状态,状态信息参加上面的报价单Steam平台状态表格

"cancel_time": 600000,

"tradeurl": "https://steamcommunity.com/tradeoffer/new/?partner=81xxxxxx&token=tOxxxxxx",

"message": "my trade offer",

"steamid": "765xxxxxxxxxx"

},

"message": "succeed"

}

取消交易

POST http://bot.5uskin.com/api/steambot/canceltrade/

接口请求参数包体

{

"uid": "xxxxxxx" // 要取消的报价单uuid

}

接口响应

{

"code": 0,

"body": {

"uid": "xxxxxx",

"trade_no": "2342343255"

},

"message": "xxxxx"

}

报价状态回调

POST http://www.yoursite.com/api/tradeoffer/callback/

报价状态回调由机器人发起,向类似上面这样的你方回调地址回调订单状态变化信息

回调包体

{

"type": "tradeoffer", // 回调类型,默认 tradeoffer,指代报价单

"action": "update", // 消息类型,默认 update,指代报价单状态更新

"body": {

"uid": "xxxxxxxxxxxxx",

"their_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680235255", // 饰品的assetid

"new_assetid": "15680235256" // 交易成功后,该饰品的新assetid

}

],

"my_items": [

{

"appid": 570, // 饰品的appid

"contextid": "2", // 饰品的contextid

"assetid": "15680233392" // 饰品的assetid

}

],

"updatedAt": "2019-04-15T10:02:38.495Z",

"createdAt": "2019-04-15T10:02:07.693Z",

"trade_no": "3538xxxxxx", // 机器人报价发起成功后得到的steam报价单号

"exchanged": true,

"state": 1, // 报价单状态;0表示机器人正在排队处理中,1表示报价交易成功,2表示报价已失败(取消报价也是报价失败),11表示机器人提交报价中,12表示报价发起成功,已经从steam获取到steam报价单号,13表示机器人报价发起完毕,报价单激活中,等待客户接收报价;

"offer_state": 3, // 报价单在steam平台状态,状态信息参加上面的报价单Steam平台状态表格

"cancel_time": 600000,

"tradeurl": "https://steamcommunity.com/tradeoffer/new/?partner=81xxxxxx&token=tOxxxxxx",

"message": "my trade offer",

"steamid": "765xxxxxxxxxx"

}

}

回调响应格式

{

"code": 0, // code为0 表示接收回调正常,非0表示接受异常

"body": {},

"message": "ok"

}

每次报价单status变化时,机器人就会向以上地址发送一次回调;

你方收到回调后,应该返回如上格式响应包,code为0 表示接收回调正常,非0表示接受异常;

如果回调响应异常,则机器人会再间隔1分钟、10分钟、1小时分别重发一次;

如果1小时后仍然返回异常,则机器人不再继续重发;

12-29 2020
你的账号被盗了?Steam饰品交易防骗指南

盗号骗饰品这种现象已有一段时间,最近感觉有愈演愈烈的趋势,而且骗子也越来越精。我时常听到自己客户抱怨,自己兢兢业业的做生意,却被别人误以为是骗子,而实际情况明明是对方自己不小心被盗了账号及API key,以至于被骗子骗走了饰品。


首先我们来说下这种骗局常见的情况:

  • 玩家A与商家B协商出售自己的库存。
  • 商家B向玩家A发起报价,索要A库存里的XX饰品。
  • A确认了报价。A向B索要货款。
  • B一脸懵逼的表示,A明明拒绝了B的报价要求,怎么还来索要货款?
  • A气愤不已,认为B一定是在骗自己饰品,于是上截图摆证据。然而一开交易列表,猛然发现刚刚竟然有2笔报价交易记录:一笔是B索要A的库存,已被拒绝;另一笔是另一个和B同名的账号向A发起同样的报价,A确认了交易。

这种情况,并不定是B伙同骗子骗取A的库存,而是玩家A的API密钥被盗了。


实际流程如下:

  • 骗子通过各种渠道让A访问自己的钓鱼网站(例如登录即送饰品送游戏、参加优惠活动、国服预约、骗子发送的其他链接等),登录页面伪装成了Steam官方接口登陆;
  • 玩家A没看出区别,尝试登陆,输入了自己的Steam账号密码和手机令牌;
  • 骗子用A的账号信息,给A的Steam帐号创建一个API key;
  • 骗子有了A的账号信息及API key,就可以同步获取A的交易报价信息,也可以拒绝交易报价。
  • A正常与B交易时,骗子利用API key拒绝掉B发送的报价,并发起一个相同的报价给A,A没有多想就确认交易,以至饰品被骗。


要知道骗子一旦有了你的账号密码以及API key,你的报价信息骗子是看的一清二楚的。和你交易的对象的用户名、头像、交易内容、留言、安全码等等,骗子都可以一一复制。


被设置过的API密钥如下图:

没被设置过的如下图:


所以不想被骗的话:

  1. 交易报价时,点开对方个人资料页,检查交易方Steam64位ID是否是对方本人。早些时候骗子还经常不写留言不改安全码,现在都进化了。检查64位ID虽然繁琐但是最保险。
  2. 登陆Steam官方API密钥设置页面https://steamcommunity.com/dev/apikey检查自己的API key有没有被骗子设置过。如果在你不知情的情况下被设置了,点击【注销我的Steam网页API密钥】注销,并且修改你的密码。