# 其他接口

# 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 成功或失败的讯息