Skip to content

Latest commit

 

History

History
executable file
·
322 lines (247 loc) · 10.3 KB

README.md

File metadata and controls

executable file
·
322 lines (247 loc) · 10.3 KB

一、 获取玩家信息数据 二、支付回调通知 三、 获取当前渠道是否开启玩家好友列表功能 四、获取玩家好友列表 五、多区多服游戏设置选服 六、数据上报

附录一:签名生成规则 附录二:游戏接入前需提供信息 附录三:游戏接入注意事项 附录四:状态码(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":[]
}

附录一:签名生成规则

签名生成规则:

  1. 对参与签名的参数的键值进行正序排列
  2. 生成待加密字符串
    • 第一步:对排好序的参与签名加密的参数按照排序顺序以 key1=value1key2=value2...keyn=valuen 形式连接成字符串(sign不参与签名)
    • 第二步:在已经连接好的字符串尾部连接appkey(appkey在开放平台获取) ,最终形成的待加密字符串格式为key1=value1key2=value2...keyn=valuenappkey
  3. 对待加密字符串进行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

附录二:游戏接入前需提供信息

游戏接入前需提供信息:

  1. 游戏客户端访问地址
  2. 游戏接收支付成功通知地址
  3. 游戏充值档,充值档格式如下:
商品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 支付失败