道具接口
修订记录
测试环境
- 域名:http://openapi-test.hudong.qq.com/openapi/apollo_game_item_proxy
可以使用http协议调用,游戏创建后,不需要正式发布也可以调用
正式环境
域名:https://openapi.hudong.qq.com/openapi/apollo_game_item_proxy
只能使用https协议调用,并且必须在游戏上线申请通过,游戏正式发布后才可以调用
请求方式说明
无论测试或正式环境,都必须采用POST方法发起请求
- Content-Type头域需设置为application/x-www-form-urlencoded
- 提交数据放置于BODY,不允许放在URL
公共参数
参数名称 | 参数类型 | 参数中文描述 | 备注 |
---|---|---|---|
ts | 32位无符号整形 | 命令发起时间戳 | UNIX时间戳,放在签名中避免重放攻击 |
rnd | 32位无符号整形 | 随机数 | 32位整形随机数,放在签名中避免碰撞 |
sig | 字符串 | 签名 | 用于鉴权,签名算法参照签名算法章节 |
签名算法
- 签名sig的获取,可以参考签名算法
开发者可以通过签名检查工具,逐步检查运算结果
常见问题
接入过程中遇到问题,请参见常见问题
拉取用户道具
请求格式
appid=1&cmd=1&gameid=2017&mask=1&openid=222&openkey=1111&sig=xxxxxxxx&rnd=1512981097&ts=1512981097
请求参数
参数名称 | 参数类型 | 参数中文描述 | 备注 |
---|---|---|---|
appid | 32位无符号整形 | 用户在开放平台申请的id | |
cmd | 32位无符号整形 | 命令码:1 | 1:拉取道具 2:消耗道具 3:赠送道具 |
gameid | 32位无符号整形 | 游戏ID | 分配的游戏ID |
mask | 32位无符号整形 | 拉取道具的类型 | 1:用户剩余的道具,2:用户活动的道具;一般使用1即可 |
openkey | 字符串 | 用户openkey | 用于指定用户 |
openid | 字符串 | 用户openid | 用于指定用户 |
- 响应格式
mask=1:
{"code":0,"data":{"itemList":[{"id":1, "num":10, "name":"sssss", "consumed":1, "iconUrl":"http://xxx"},{...}]}}
mask=2:
{"code":0,"data":{"actItemList":[{"id":1, "actGetNum":10},{...}]}}
- 响应参数:
|参数名称|参数类型|参数中文描述|备注
|——-
|code|32位有符号整形数|返回码|0为成功,其他为失败
|data|JSON对象|返回参数内容|JSON对象,道具详情数据
消耗道具
请求格式
appid=1&cmd=1&gameid=2017&itemids=1_2&itemnums=1_1&itemseqs=1_1&openkey=1111&openid=222&rnd=1512981097&sig=xxxxxxxx&ts=1512981097
请求参数
参数名称 | 参数类型 | 参数中文描述 | 备注 |
---|---|---|---|
appid | 32位无符号整形 | 用户在开放平台申请的id | |
cmd | 32位无符号整形 | 命令码:2 | 1:拉取道具 2:消耗道具 3:赠送道具 |
gameid | 32位无符号整形 | 游戏ID | 分配的游戏ID |
itemids | 字符串 | 待消耗的itemid | 多个item使用下划线分割 例如:1_2_3 (备注: itemids, itemnums, itemseqs相对于) |
itemnums | 字符串 | 待消耗的数目 | 多个item使用下划线分割 例如:1_2_3 |
itemseqs | 字符串 | 待消耗的序列号 | 当前时间戳(UNIX时间戳)或32位无符号随机整数,多个道具时:随机数1随机数2随机数3 |
openkey | 字符串 | 用户openkey | 用于指定用户 |
openid | 字符串 | 用户openid | 用于指定用户 |
响应格式
{"code":0,"data":{"succList":[{"id":1, "seq":10},{…}], "failList":[{"id":1, "seq":10},{…}]}}
响应参数:
|参数名称|参数类型|参数中文描述|备注
|——-
|ret|32位有符号整形数|返回码|0为成功,其他为失败
|data|JSON对象|返回参数内容|JSON对象,道具详情数据
|succList|JSON对象|成功的列表|
|failList|JSON对象|失败的列表
赠送道具
请求格式
acttype=1&appid=1&cmd=1&gameid=2017&itemids=1_2&itemnums=1_1&openkey=1111&openid=222&rnd=1512981097&sig=xxxxxxxx&ts=1512981097
请求参数
参数名称 | 参数类型 | 参数中文描述 | 备注 |
---|---|---|---|
acttype | 32位无符号整形 | 活动类型 | |
appid | 32位无符号整形 | 用户在开放平台申请的id | |
cmd | 32位无符号整形 | 命令码:3 | 1:拉取道具 2:消耗道具 3:赠送道具 |
gameid | 32位无符号整形 | 游戏ID | 分配的游戏ID |
itemids | 字符串 | 待消耗的itemid | 多个item使用下划线分割 例如:1_2_3 (备注: itemids, itemnums, itemseqs相对于) |
itemnums | 字符串 | 待消耗的数目 | 多个item使用下划线分割 例如:1_2_3 (备注: itemids, itemnums, itemseqs相对于) |
openkey | 字符串 | 用户openkey | 用于指定用户 |
openid | 字符串 | 用户openid | 用于指定用户 |
响应格式
{"code":0,"data":{"itemList":[{"id":1, "num":10},{…}]}}
响应参数:
参数名称 | 参数类型 | 参数中文描述 | 备注 |
---|---|---|---|
code | 32位有符号整形数 | 返回码 | 0为成功,其他为失败 |
data | JSON对象 | 返回参数内容 | JSON对象,道具详情数据 |
itemList | JSON对象 | 返回用户道具的数目 | |
id | 32位有符号整形数 | 道具id | |
num | 32位有符号整形数 | 道具数目 | |
gameId | 32位有符号整形数 | 游戏id |
原文: https://hudong.qq.com/docs/engine/server/thrid/api_doc/api_item.html