# 其他接口
# 1、言论接口
# 接口目的
该接口提供给游戏方将游戏内内容,包括但不限于(玩家发言 角色名 公会名 公会公告) 等内容,发往KUUKIGAME进行内容安全性过滤及验证。
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 参数类型 | 是否必须 | 参数说明 |
|---|---|---|---|
| gameId | int | 是 | 游戏ID |
| cid | String | 是 | 渠道标记,用户登录后下发的 cid |
| pcode | String | 是 | 用户登录后下发的 pcode |
| content | String | 是 | 用户提交的内容 |
| type | int | 是 | 内容类型 0:其他,1.玩家发言 2.角色名 3.公会名 4.公会公告 |
| openId | String | 是 | 用户标识,用户登录后下发的 openId |
| userIp | String | 是 | 用户 IP,用户客服端 IP,真实 IP |
| roleId | String | 是 | 角色 ID,游戏角色 |
| roleName | String | 是 | 角色名称,游戏角色 |
| serverId | String | 是 | 区服 ID,游戏区服 |
| serverName | String | 是 | 区服名称,游戏区服 |
| roleLevel | int | 是 | 角色等级,默认值 0 |
| roleVipLevel | int | 否 | 角色 VIP 等级,默认值 0 |
| channel | String | 否 | 发言频道,默认值 0 |
| fightValue | long | 否 | 战力值,默认值 0 |
| msgType | int | 是 | 发言必传,0:其它 1:私聊 2:喇叭 3:邮件 4:世界 5:国家 6:工会/帮会 7:队伍 8:附近 9:跨服 10:全服 |
| guildId | int | 否 | 公会 ID,公会公告必传 |
| guildName | String | 否 | 公会名称,公会公告必传 |
| ts | int | 是 | 时间戳(UNIX,秒) |
| osType | String | 是 | 系统类型: ANDROID/IOS |
| rechargeAmount | int | 是 | 总充值额 |
| signVer | String | 是 | 签名版本,当前默认1 |
| sign | String | 是 | 签名,key 为分配的参数{GameKey} md5("gameId={gameId}&openId={openId}&roleId={roleId}&serverId={serverId}&signVer={signVer}&ts={ts}&key={GameKey}") |
# 返回内容
{
"code": 200,
"msg": "服务正常",
"data": {
"status": 1,
"content": "一二三"
},
"flag": false
}
# 返回参数
| 参数名 | 参数名 | 参数类型 | 备注 |
|---|---|---|---|
| code | int | 状态码,成功 200,其他为异常状态 | |
| msg | String | 成功或失败的讯息 | |
| flag | boolean | 不用理会 | |
| data | Object | ||
| status | int | 0-不通过, 1-通过, 2-隐言(仅本人可见) | |
| content | String | 不通过该内容为“”,通过返回原样或过滤后内容 |
# 2、账号控制接口
# 接口目的
该接口由研发提供,用于控制用户的状态。
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 参数类型 | 是否必须 | 参数说明 |
|---|---|---|---|
| gameId | int | 是 | 游戏ID |
| actionType | int | 是 | 控制类型 1.角色下线 2.封禁(根据type处理) 3.解封(根据type处理) 4.禁言(根据type处理) 5.解除禁言(根据type处理) |
| type | int | 是 | 类型 1.账号 2.角色 |
| duration | int | 否 | 封号时长(单位秒) 不参与签名 actionType为 2 4必传,-1表示永久 |
| openId | String | 是 | 用户标识,用户登录后下发的 openId |
| serverId | String | 是 | 区服 ID,游戏区服(传0表示全服控制) |
| roleId | String | 是 | 角色 ID,游戏角色 |
| ts | int | 是 | 时间戳(UNIX,秒) |
| signVer | String | 是 | 签名版本,当前默认1 |
| sign | String | 是 | 签名,key 为分配的参数{GameKey} md5("actionType={actionType}&gameId={gameId}&openId={openId}&roleId={roleId}&serverId={serverId}&signVer={signVer}&ts={ts}&type={type}&key={GameKey}") |
# sign 生成规则
sign 加密方式
1. 剔除掉 sign 跟不需要签名的参数后,将参数数组按 key 升序排列,以 key=value 的方式用连接符"&"拼接成字符串 `param`
2. 将第一步的 `param` 拼接上我方提供的 &key={GameKey},示例:`preSign` = param+"&key={GameKey}"
3. 对第二步的 `preSign` 进行 md5 加密,示例:sign = md5(preSign)
后续可能对参数进行扩展,因此请不要将参与签名的参数写死。 计算签名时,请以每次请求接收到的参数为准,接收到的所有参数除 sign 跟不需要签名的参数都要参与签名。
# 返回内容
{
"code": 200,
"msg": "服务正常"
}
# 返回参数
| 参数名 | 参数名 | 参数类型 | 备注 |
|---|---|---|---|
| code | int | 状态码,成功 200,其他为异常状态 | |
| msg | String | 成功或失败的讯息 |
# 3、发放奖励
# 接口目的
该接口由研发提供,需要根据 giftId 去发放对应奖励,奖励内容由双方运营商议决定。
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 参数类型 | 是否必须 | 参数说明 |
|---|---|---|---|
| gameId | int | 是 | 游戏ID |
| openId | String | 是 | 用户标识,用户登录后下发的 openId |
| serverId | String | 是 | 区服 ID,游戏区服(拿不到的情况会传0) |
| roleId | String | 是 | 角色 ID,游戏角色 |
| isAll | int | 是 | 是否给全服玩家发送礼包 0.否 1.是 |
| giftId | String | 是 | 礼包id |
| title | String | 否 | 发奖邮件标题 |
| content | String | 否 | 发奖邮件内容 |
| serialNo | String | 是 | 发奖流水号,唯一 |
| ts | int | 是 | 时间戳(UNIX,秒) |
| signVer | String | 是 | 签名版本,当前默认1 |
| sign | String | 是 | 签名,key 为分配的参数{GameKey} md5("content={content}&gameId={gameId}&giftId={giftId}&isAll={isAll}&openId={openId}&roleId={roleId}&serialNo={serialNo}&serverId={serverId}&signVer={signVer}&title={title}&ts={ts}&key={GameKey}") |
# sign 生成规则
sign 加密方式
1. 剔除掉 sign 跟不需要签名的参数后,将参数数组按 key 升序排列,以 key=value 的方式用连接符"&"拼接成字符串 `param`
2. 将第一步的 `param` 拼接上我方提供的 &key={GameKey},示例:`preSign` = param+"&key={GameKey}"
3. 对第二步的 `preSign` 进行 md5 加密,示例:sign = md5(preSign)
后续可能对参数进行扩展,因此请不要将参与签名的参数写死。 计算签名时,请以每次请求接收到的参数为准,接收到的所有参数除 sign 跟不需要签名的参数都要参与签名。
# 返回内容
{
"code": 200,
"msg": "服务正常"
}
# 返回参数
| 参数名 | 参数名 | 参数类型 | 备注 |
|---|---|---|---|
| code | int | 状态码,成功 200,其他为异常状态 | |
| msg | String | 成功或失败的讯息 |
# 4、验证/消耗礼包码
# 接口目的
该接口提供给游戏方验证/消耗礼包码。
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 参数类型 | 是否必须 | 参数说明 |
|---|---|---|---|
| gameId | int | 是 | 游戏ID |
| cid | String | 是 | 渠道标记,用户登录后下发的 cid |
| pcode | String | 是 | 用户登录后下发的 pcode |
| openId | String | 是 | 用户标识,用户登录后下发的 openId |
| serverId | String | 是 | 区服 ID,游戏区服(拿不到的情况会传0) |
| roleId | String | 是 | 角色 ID,游戏角色 |
| userIp | String | 是 | 用户 IP,用户客服端 IP,真实 IP |
| giftCode | String | 是 | 礼包码 |
| type | int | 是 | 类型 1.验证 2.消耗 |
| ts | int | 是 | 时间戳(UNIX,秒) |
| signVer | String | 是 | 签名版本,当前默认1 |
| sign | String | 是 | 签名,key 为分配的参数{GameKey} md5("cid={cid}&gameId={gameId}&giftCode={giftCode}&openId={openId}&pcode={pcode}&roleId={roleId}&serverId={serverId}&signVer={signVer}&ts={ts}&type={type}&userIp={userIp}&key={GameKey}") |
# sign 生成规则
sign 加密方式
1. 剔除掉 sign 跟不需要签名的参数后,将参数数组按 key 升序排列,以 key=value 的方式用连接符"&"拼接成字符串 `param`
2. 将第一步的 `param` 拼接上我方提供的 &key={GameKey},示例:`preSign` = param+"&key={GameKey}"
3. 对第二步的 `preSign` 进行 md5 加密,示例:sign = md5(preSign)
后续可能对参数进行扩展,因此请不要将参与签名的参数写死。 计算签名时,请以每次请求接收到的参数为准,接收到的所有参数除 sign 跟不需要签名的参数都要参与签名。
# 返回内容
{
"code": 200,
"msg": "服务正常",
"data": {
"content": "礼包内容"
}
}
# 返回参数
| 参数名 | 参数名 | 参数类型 | 备注 |
|---|---|---|---|
| code | int | 状态码,成功 200,其他为异常状态 200.成功 510.验证不通过 511.礼包码不存在 512.领取上限 513.已被领取 514.类型错误 | |
| msg | String | 成功或失败的讯息 | |
| data | Object | ||
| content | String | type为1, 返回礼包内容 |
# 5、区服信息
# 接口说明
- 查询游戏区服列表
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|
| gameId | 是 | String | 游戏ID |
| pageNum | 是 | int | 第几页 |
| pageSize | 是 | int | 每页数量 |
| type | 是 | int | 类型 0.全部(开服+未开服) 1.未开服 2.开服 |
| startTime | 是 | String | 开始日期 示例:2022-05-14 00:00:00 |
| endTime | 是 | String | 结束日期 示例:2022-05-14 00:00:00 |
| ts | 是 | int | 时间戳(UNIX,秒) |
| signVer | 是 | String | 签名版本,当前默认1 |
| sign | 是 | String | 签名,参考下方签名规则 |
# 签名规则
sign 加密方式
1. 剔除掉 sign 跟不需要签名的参数后,将参数数组按 key 升序排列,以 key=value 的方式用连接符"&"拼接成字符串 `param`
2. 将第一步的 `param` 拼接上我方提供的 &key={GameKey},示例:`preSign` = param+"&key={GameKey}"
3. 对第二步的 `preSign` 进行 md5 加密,示例:sign = md5(preSign)
后续可能对参数进行扩展,因此请不要将参与签名的参数写死。 计算签名时,请以每次请求接收到的参数为准,接收到的所有参数除 sign 跟不需要签名的参数都要参与签名。
# 返回内容
{
"code": 200,
"msg": "服务正常",
"data": {
"serverList": [
{
"serverId": "1",
"serverName": "s1.五湖四海",
"serverCreatedAt": "2022-05-14 00:00:00",
"serverMergeCount": 0,
"serverMergeAt": "2022-05-14 00:00:00",
"type": 1
}
],
"totalPage": 1
}
}
# 返回参数
| 参数名 | 参数名 | 参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|---|---|
| code | 是 | int | 200-成功,非200失败 | ||
| msg | 是 | String | 成功或失败的讯息 | ||
| data | 是 | obj | 分页对象 | ||
| data.totalPage | 是 | int | 总页数 | ||
| data.serverList | 是 | array | 区服列表 | ||
| serverId | 是 | String | 区服ID | ||
| serverName | 是 | String | 区服名称 | ||
| serverCreatedAt | 是 | String | 开服时间,示例:2022-05-14 00:00:00 | ||
| serverMergeAt | 是 | String | 合服时间,示例:2022-05-14 00:00:00 | ||
| serverMergeCount | 是 | int | 合服次数 | ||
| type | 是 | int | 1-未开服 2-开服 3-维护 |
# 6、角色信息
# 接口说明
- 不传serverIds或空,传openId,返回当前传openId在不同服的所有角色
- 传serverIds,传openId,返回当前服的当前用户的所有角色
- 传serverIds,传openId,传roleId,返回当前服的当前用户的当前角色
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|
| gameId | 是 | String | 游戏ID |
| openId | 是 | String | 用户标识,用户登录后下发的 openId |
| serverIds | 否 | String | 区服id,多个区服以,分隔不参与签名 |
| roleId | 否 | String | 角色id 不参与签名 |
| ts | 是 | int | 时间戳(UNIX,秒) |
| signVer | 是 | String | 签名版本,当前默认1 |
| sign | 是 | String | 签名,参考下方签名规则 |
# 签名规则
sign 加密方式
1. 剔除掉 sign 跟不需要签名的参数后,将参数数组按 key 升序排列,以 key=value 的方式用连接符"&"拼接成字符串 `param`
2. 将第一步的 `param` 拼接上我方提供的 &key={GameKey},示例:`preSign` = param+"&key={GameKey}"
3. 对第二步的 `preSign` 进行 md5 加密,示例:sign = md5(preSign)
后续可能对参数进行扩展,因此请不要将参与签名的参数写死。 计算签名时,请以每次请求接收到的参数为准,接收到的所有参数除 sign 跟不需要签名的参数都要参与签名。
# 返回内容
{
"code": 200,
"msg": "服务正常",
"data": [
{
"openId": "1008611",
"serverId": "1",
"serverName": "s1.五湖四海",
"roleId": "2121",
"roleName": "长了胡须了",
"createTime": "2022-05-14 00:00:00",
"roleLevel": 201,
"serverCreatedAt": "2022-05-14 00:00:00",
"serverMergeCount": 0,
"serverMergeAt": "2022-05-14 00:00:00"
}
]
}
# 返回参数
| 参数名 | 参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|---|
| code | 是 | int | 200-成功,非200失败 | |
| msg | 是 | String | 成功或失败的讯息 | |
| data | 是 | array | 角色列表 | |
| openId | 是 | String | openid | |
| serverId | 是 | String | 区服ID | |
| serverName | 是 | String | 区服名称 | |
| roleId | 是 | String | 角色ID | |
| roleName | 是 | String | 角色名称 | |
| createTime | 是 | String | 创角时间,示例:2022-05-14 00:00:00 | |
| serverCreatedAt | 是 | String | 开服时间,示例:2022-05-14 00:00:00 | |
| serverMergeAt | 是 | String | 合服时间,示例:2022-05-14 00:00:00 | |
| serverMergeCount | 是 | int | 合服次数 | |
| roleLevel | 是 | int | 角色等级 | |
| fightValue | 是 | long | 战力值,默认值 0 | |
| roleVipLevel | 是 | int | 角色 VIP 等级,默认值 0 | |
| totalAmount | 是 | int | 游戏角色当前充值总额(分) |
# 7、VIP接口
# 接口目的
该接口提供给游戏方将角色信息传递过来,发往 KUUKIGAME 进行 VIP 控制校验。
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 参数类型 | 是否必须 | 参数说明 |
|---|---|---|---|
| pcode | String | 是 | 用户登录后下发的 pcode |
| openId | String | 是 | 用户标识,用户登录后下发的 openId |
| roleId | String | 是 | 角色 ID,游戏角色 |
| roleName | String | 是 | 角色名称,游戏角色 |
| serverId | String | 是 | 区服 ID,游戏区服 |
| serverName | String | 是 | 区服名称,游戏区服 |
| type | int | 是 | 接口类型, 1-VIP开关 |
| userIp | String | 否 | 用户 IP,用户客服端 IP,真实 IP |
| roleLevel | int | 否 | 角色等级,默认值 0 |
| roleVipLevel | int | 否 | 角色 VIP 等级,默认值 0 |
| fightValue | long | 否 | 战力值,默认值 0 |
| rechargeAmount | int | 是 | 总充值额(分) |
| ts | int | 是 | 时间戳(UNIX,秒) |
| signVer | String | 是 | 签名版本,当前默认1 |
| sign | String | 是 | 签名,参考下方签名规则 |
# 签名规则
sign 加密方式
1. 剔除掉 sign 跟不需要签名的参数后,将参数数组按 key 升序排列,以 key=value 的方式用连接符"&"拼接成字符串 `param`
2. 将第一步的 `param` 拼接上我方提供的 &key={GameKey},示例:`preSign` = param+"&key={GameKey}"
3. 对第二步的 `preSign` 进行 md5 加密,示例:sign = md5(preSign)
后续可能对参数进行扩展,因此请不要将参与签名的参数写死。 计算签名时,请以每次请求接收到的参数为准,接收到的所有参数除 sign 跟不需要签名的参数都要参与签名。
# 返回内容
{
"code": 200,
"msg": "服务正常",
"data": {
...
},
"flag": false
}
# 返回参数
| 参数名 | 参数名 | 参数类型 | 备注 |
|---|---|---|---|
| code | int | 状态码,成功 200,其他为异常状态 | |
| msg | String | 成功或失败的讯息 | |
| flag | boolean | 不用理会 | |
| data | Object | 根据接口类型返回 |
# 1-VIP开关
| 参数名 | 参数名 | 参数类型 | 备注 |
|---|---|---|---|
| data | VipVo | ||
| status | int | 0-不显示, 1-显示 | |
| content | String | 文本内容 | |
| pic | String | 图片地址 |
# 8、【小游戏】订阅消息接口
# 接口目的
该接口提供给游戏方使用,用于发送小游戏订阅消息。
# 接口
# 请求格式及方式
| 类型 | 内容 |
|---|---|
| Method | POST |
| Content-Type | application/json;charset=UTF-8 |
# 请求参数
| 参数名 | 参数名2 | 参数类型 | 是否必须 | 参数说明 |
|---|---|---|---|---|
| pcode | String | 是 | 用户登录后下发的 pcode | |
| templateId | String | 是 | 模板Id | |
| templateData | String | 否 | 对应微信订阅消息模板的字段,比如:{{thing1.DATA}字段名就是thing1此参数传入前需先经过json转换,参考示例此参数有值则取传过来的值去发送模板消息,无值则取我方后台配置的默认值 | |
| users | Array | 是 | ||
| openId | String | 是 | 用户标识,用户登录后下发的 openId | |
| roleId | String | 是 | 角色 ID,游戏角色 | |
| serverId | String | 是 | 区服 ID,游戏区服 | |
| ts | int | 是 | 时间戳(UNIX,秒) | |
| signVer | String | 是 | 签名版本,当前默认1 | |
| sign | String | 是 | 签名,key 为分配的参数{GameKey} md5("gameId={gameId}&signVer={signVer}&ts={ts}&key={GameKey}") |
# 返回内容
{
"code": 200,
"msg": "服务正常"
}
# 返回参数
| 参数名 | 参数类型 | 备注 |
|---|---|---|
| code | int | 状态码,成功 200,其他为异常状态 |
| msg | String | 成功或失败的讯息 |