guofei 4fe0162b34 | ||
---|---|---|
.. | ||
README.md |
README.md
一、 获取玩家信息数据 二、支付回调通知 三、 获取当前渠道是否开启玩家好友列表功能 四、获取玩家好友列表 五、多区多服游戏设置选服 六、数据上报
附录一:签名生成规则 附录二:游戏接入前需提供信息 附录三:游戏接入注意事项 附录四:状态码(code)对照表
注意
为安全考虑,此文档中的接口请求请在后端完成。
一、获取玩家信息数据
接口URL : http://api.egret-labs.org/v2/user/getInfo HTTP请求方式:POST 返回格式:JSON
参数说明:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
token | 登录凭证 | 58990fggggggjhdfjfjd3UIca86 | 用于获取用户信息 |
time | 时间戳 | 1420855806 | 请求的时间 |
appId | 应用id | 1001 | 由 Egret 分配 |
sign | 签名串 | jkgjhjkgjkjhfyuuhhb | 详情见签名生成规则 |
返回内容:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
code | 状态码 | 0 | 0为成功,其他为错误(查看code对应表) |
msg | code对应消息 | success | |
data | 数据 | 格式如下 | JSON |
返回数据格式:
{
"code":0,
"msg":"success",
"data":{
"id":"afdafvsavsavsavsav",
"name":"张三",
"pic":"http://www.egret-labs.org/avar.jpg"
}
}
data数据说明:
字段名 | 字段描述 | 值 |
---|---|---|
id | 用户id | afdafvsavsavsavsav |
name | 用户名 | 张三(值不一定有) |
pic | 用户头像 | (值不一定有) |
二、支付回调通知
根据游戏方提供的支付回调地址,把支付数据通知到游戏方 通知方式:POST 返回格式:JSON
参数说明:
字段名 | 字段描述 | 备注 |
---|---|---|
orderId | 订单号 | uyyf1000jhhkljlhjkhk |
id | 用户id | afdafvsavsavsavsav |
money | 人民币(元) | 10 |
time | 时间戳 | 通知的时间 |
serverId | 游戏区服id | 游戏调用支付sdk的时候传入的值 |
goodsId | 物品id | 游戏提供的充值档id |
goodsNumber | 物品数量 | 目前固定为1 |
ext | 开发者透传参数 | 原样返回游戏透传的数据 |
sign | 签名串 | 详情见签名生成规则 |
返回内容:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
code | 状态码 | 0 | 0为支付成功,其他为错误(查看code对应表) |
返回格式:
{
"code":0
}
code说明: 0:支付成功,1009:重复订单,1013:支付失败
注意:
有部分渠道玩家点击高档充值档,打开渠道充值页面后玩家还可以选择低挡充值档,这时候传给游戏的goodsId
还是玩家原来选择的高档的goodsId,这时候需要游戏根据money兑换成游戏币发放给玩家
三、获取当前渠道是否开启玩家好友列表功能
接口URL : http://api.egret-labs.org/v2/friend/isOpen HTTP请求方式:POST 返回格式:JSON
参数说明:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
id | 用户id | afdafvsavsavsavsav | |
time | 时间戳 | 1420855806 | 请求的时间 |
appId | 应用id | 1001 | 由 Egret 分配 |
sign | 签名串 | jkgjhjkgjkjhfyuuhhb | 详情见签名生成规则 |
返回内容:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
code | 状态码 | 0 | 0为成功,其他为错误(查看code对应表) |
msg | code对应消息 | success | |
data | 数据 | 格式如下 | JSON |
返回数据格式:
{
"code":0,
"msg":"success",
"data":{
"status":1
}
}
data数据说明: status 1为开启,0为未开启
四、获取玩家好友列表
接口URL : http://api.egret-labs.org/v2/friend/getList HTTP请求方式:POST 返回格式:JSON
参数说明:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
id | 用户id | afdafvsavsavsavsav | |
time | 时间戳 | 1420855806 | 请求的时间 |
appId | 应用id | 1001 | 由 Egret 分配 |
sign | 签名串 | jkgjhjkgjkjhfyuuhhb | 详情见签名生成规则 |
返回内容:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
code | 状态码 | 0 | 0为成功,其他为错误(查看code对应表) |
msg | code对应消息 | success | |
data | 数据 | 格式如下 | JSON |
返回数据格式:
{
"code":0,
"msg":"success",
"data":[
"jkjkgljhgytyfhfh",
"uiuoygyvhjjbhjnb",
"ihsdafgvdsnkjnks"
]
}
data数据说明: 好友id数组
五、多区多服游戏设置选服
(如果已经对接egret统计接口,不需要再对接该接口)
接口URL : http://api.egret-labs.org/v2/user/setServer HTTP请求方式:POST 返回格式:JSON
参数说明:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
id | 用户id | 58990fggggggjhdfjfjd3UIca86 | |
time | 时间戳 | 1420855806 | 请求的时间 |
appId | 应用id | 1001 | 由 Egret 分配 |
serverId | 用户选的区服 | 1 | |
sign | 签名串 | jkgjhjkgjkjhfyuuhhb | 详情见签名生成规则 |
返回内容:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
code | 状态码 | 0 | 0为成功,其他为错误(查看code对应表) |
msg | code对应消息 | success | |
data | 数据 | 格式如下 | JSON |
返回数据格式:
{
"code":0,
"msg":"success",
"data":[]
}
六、数据上报
接口URL : http://api.egret-labs.org/v2/user/setAchievement HTTP请求方式:POST 返回格式:JSON
参数说明:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
id | 用户id | 58990fggggggjhdfjfjd3UIca86 | |
time | 时间戳 | 1420855806 | 请求的时间 |
appId | 应用id | 1001 | 由 Egret 分配 |
serverId | 用户选的区服 | 1 | |
score | 用户积分 | 20 | 游戏里玩家的分数或等级等 |
sign | 签名串 | jkgjhjkgjkjhfyuuhhb | 详情见签名生成规则 |
返回内容:
字段名 | 字段描述 | 示例 | 备注 |
---|---|---|---|
code | 状态码 | 0 | 0为成功,其他为错误(查看code对应表) |
msg | code对应消息 | success | |
data | 数据 | 格式如下 | JSON |
返回数据格式:
{
"code":0,
"msg":"success",
"data":[]
}
附录一:签名生成规则
签名生成规则:
- 对参与签名的参数的键值进行
正序排列
- 生成待加密字符串
- 第一步:对排好序的参与签名加密的参数按照排序顺序以 key1=value1key2=value2...keyn=valuen 形式连接成字符串(sign不参与签名)
- 第二步:在已经连接好的字符串尾部连接appkey(appkey在开放平台获取) ,最终形成的待加密字符串格式为key1=value1key2=value2...keyn=valuenappkey
- 对待加密字符串进行md5加密
注:md5价值之后的值为 小写字母和数字组成的32位字符串; 参与加密的变量均采用小驼峰式命名法
生成签名方法php代码样例:
function createSign($params, $appkey){
isset($params["sign"]) && unset($params["sign"]);
ksort($params);
$str = "";
foreach($params as $key=>$value){
$str .= $key ."=". $value;
}
return md5($str.$appkey);
}
在线验证:
http://open.egret.com/checkSign
附录二:游戏接入前需提供信息
游戏接入前需提供信息:
- 游戏客户端访问地址
- 游戏接收支付成功通知地址
- 游戏充值档,充值档格式如下:
商品id | 金额(元) | 商品名称 |
---|---|---|
1 | 1 | 10钻石 |
2 | 2 | 20钻石 |
3 | 10 | 100钻石 |
4 | 30 | 月卡 |
附录三:游戏接入注意事项
1、调用api前需要先把游戏提交到http://open.egret.com
2、egret打开游戏地址后,egret会在游戏地址后面跟上一些参数供sdk里面调用,如果游戏有做页面跳转,
需要游戏在跳转页面上把egret的参数全部在新页面带上,否则在调用sdk的时候会报错
3、游戏充值档金额不能有相同金额的充值档,由于与游戏支付通知之间传递的唯一有效数据是实际充值金额,
如果有相同金额的充值档存在,将会出现充值物品冲突的情况出现
4、有部分渠道玩家点击高档充值档,打开渠道充值页面后玩家还可以选择低挡充值档,这时候传给游戏的goodsId
还是玩家原来选择的高档的goodsId,这时候需要游戏根据money兑换成游戏币发放给玩家
5、游戏接入腾讯系渠道(玩吧,qq浏览器)时,相关域名地址 http://api.egret-labs.org 需要更改为
http://api.gz.1251278653.clb.myqcloud.com
6、游戏接入台湾渠道时,相关域名地址 http://api.egret-labs.org 需要更改为http://tw.api.egret.com
附录四:状态码(code)对照表
code | 对应含义 |
---|---|
0 | 成功 |
1001 | 参数不全 |
1005 | token 错误 |
1006 | sign 错误,验证通不过 |
1007 | 该用户不存在 |
1009 | 重复订单 |
1010 | 当前渠道不提供该功能 |
1013 | 支付失败 |