323 lines
10 KiB
Markdown
323 lines
10 KiB
Markdown
[一、 获取玩家信息数据](#一、获取玩家信息数据)
|
||
[二、支付回调通知](#二、支付回调通知)
|
||
[三、 获取当前渠道是否开启玩家好友列表功能](#三、获取当前渠道是否开启玩家好友列表功能)
|
||
[四、获取玩家好友列表](#四、获取玩家好友列表)
|
||
[五、多区多服游戏设置选服](#五、多区多服游戏设置选服)
|
||
[六、数据上报](#六、数据上报)
|
||
|
||
[附录一:签名生成规则](#附录一:签名生成规则)
|
||
[附录二:游戏接入前需提供信息](#附录二:游戏接入前需提供信息)
|
||
[附录三:游戏接入注意事项](#附录三:游戏接入注意事项)
|
||
[附录四:状态码(code)对照表](#附录四:状态码(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对应表](#附录四:状态码(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)对照表)) |
|
||
|
||
返回格式:
|
||
|
||
```
|
||
{
|
||
"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对应表](#附录四:状态码(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对应表](#附录四:状态码(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对应表](#附录四:状态码(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对应表](#附录四:状态码(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](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 | 支付失败 |
|
||
|