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 | 支付失败 |
|
|||
|
|