背景:
- 获取CP的角色信息,用于红包系统数据对接。
目的:
需要实现的活动类型: 1、创建角色/开服后,限定时间内达到某个等级; 2、创建角色/开服后,限定时间内达到某个充值;
请求域名和请求方式:
- http://xxx.com 由代理方提供 (请求方式:POST)
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
role_id | 是 | string | 角色ID |
server_no | 是 | int | 服务器ID |
activity | 是 | string | 活动列表 json字符串 |
sign | 是 | string | 签名值(见下文) |
activity字段详情
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
type | 是 | int | 【活动类型】 1001:创角XX秒最后等级;1002:创角XX秒累充金额; 2001:开服XX秒最后等级;2002:开服XX秒累充金额 |
second | 是 | int | 时间范围(秒数) |
task_value | 是 | string | 目标值(接口返回值需回传该字段) |
id | 是 | int | 活动ID(接口返回值需回传该字段) |
返回格式(json)以下是返回的相关参数:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
code | 是 | int | 返回码,0代表成功,其余状态代理方自定义 |
msg | 是 | string | 接口调用后的返回说明 |
data | 是 | json | 返回的数据信息,见下文 |
data字段详情
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
ln_uid | 是 | string | 乐牛UID |
create_time | 是 | string | 角色创建时间 |
activity | 是 | list | 活动列表 |
activity字段详情
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
currency_value | 是 | string | 当前值,例如时间内达到的等级数值、时间内达到的充值金额(单位:分)) |
type | 是 | string | 活动类型(原样返回) |
task_value | 是 | string | 目标值(原样返回) |
id | 是 | string | 活动ID(原样返回) |
请求示例:
{
"role_id": "3008079130003179",
"server_no": "700373",
"activity": "[{\"type\":2002,\"second\":259200,\"task_value\":5000,\"id\":23},{\"type\":2001,\"second\":180,\"task_value\":5,\"id\":25}]",
"sign": "ff6594ee76ed7e6384f8723a284c2110"
}
返回示例:
正确时返回:
{
"code": 0,
"msg": "",
"data": {
"ln_uid": "",
"create_time": "",
"activity": [
{
"type": 2001,
"currency_value": 97,
"task_value": 95,
"id": 25
},
{
"type": 2002,
"currency_value": 97,
"task_value": 95,
"id": 23
}
]
}
}
错误时返回:
{
"code": 1,
"msg": "sign error"
}
备注:
- 签名算法 key即为服务端交互的密钥
public function makeSign( $data, $paykey )
{
$my_sign = '';
unset($data['sign']);
ksort($data);
foreach ( $data as $key => $value )
{
$my_sign .= $key . '='. $value . '&';
}
$my_sign = rtrim( $my_sign, '&' ) . '|' . $paykey;
$my_sign = strtolower( md5( $my_sign ) );
return $my_sign;
}
```