统一GMT接入文档[旧GM文档]

接入说明[必读]

  • 该部分接口需要统一GMT平台和研发同学共同按照接口规范实现,用以满足统一GMT平台的各项GM功能,其中游戏服提供接口部分需要研发同学实现,由统一GMT平台调用,平台提供接口部分由统一GMT平台实现,开放给研发同学进行调用。

    gameServerGMTUrl

    gameServerGMTUrl 研发提供统一的GM地址,由运营人员配置到平台GSC的游戏服管理中,如:http://gmt.demo.cn:8080/gmt 该地址由研发自定义,确保端口通畅即可; 为了便于研发同学根据不同的GMT服务或不同的游戏服进行请求转发,平台在请求改地址时会追加serverId和service两个固定参数,比如:http://gmt.demo.cn:8080/gmt?service=roleInfo.query&serverId=1001
    注意:平台为了兼容个别产品不支持问号后参数的问题,请求URL同时支持把参数放到URL前面的路径中,此时GSC上应配置:http://gmt.demo.cn:8080/{service} 平台请求时会直接替换,如: http://gmt.demo.cn:8080/gmt/roleInfo.query?serverId=1001

    platformGMTUrl

    platformGMTUrl 由平台提供,研发同学联调时通过运营同学获取。

    serverId

    serverId:标识游戏服ID,需要提前录入到GSC平台的游戏服管理中。

    service

    service: 标识不同的GMT服务。

    校验码规则

    校验码规则:接口中涉及到的校验码规则是一种数据信任及防篡改的合法性校验规则,具体参考 校验码规则介绍

    transactionId

    transactionId:每个请求必传参数,不能为空(需要研发同学增加判断),游戏服在收到平台的任何GMT接口调用时,通过调用平台提供的平台transactionId校验接口验证transactionId的合法性,如果平台返回不合法,应拒绝继续执行直接返回失败即可。

    请求头及编码规则

    请求数据以JSON格式通过POST进行提交,请注意Header头中Content-Type的值为application/json。返回数据为标准JSON格式,返回的Header头中Content-Type的值也必须为application/json。 字符编码均采用 UTF-8

修订历史

修订时间 修订内容
20190814 新建文档
20191120 调整 1.2 角色信息修改接口,支持修改值的增加和减少;
新增 1.10 游戏服排行榜获取接口;
新增 1.11 获取游戏服当前信息接口;
新增 1.12 修改游戏信息接口
20191125 新增 2.3 获取游戏服白名单数据信息接口;
调整 1.11和1.12 白名单开关含义调整为白名单可见,补充serverAvailable(服务器运行状态)
调整 1.10 游戏服排行榜获取接口,修改返回数据roleId为dataId、roleName为dataName兼容联盟或工会排行;添加排行榜附加值;
接入说明调整:支持service或serverId直接在URL路径中,采用 http://gameServerGMTUrl/{service} 配置请求时会直接把{service}替换为具体的service,同理也支持把serverId加到URL路径中;
20191230 1.4、1.5、1.6 发送游戏内邮件接口增加 author支持发件人信息

1. 游戏服提供接口

1.1 角色-详细信息查询接口

基本信息

Path: /gameServerGMTUrl?service=roleInfo.query&serverId=serverId

Method: POST

接口描述:

该接口主要是满足统一GMT平台提供角色详细信息查询,包括但不限于角色名、等级、钻石、金币,具体可提供哪些属性信息查询展示需要运营同学在接入之初根据 GMT角色道具定义模板 该文档进行录入,并导入至GSC平台,后续平台也会提供在线增删部分属性的功能界面。注意:以下属性由GMT平台定义,研发需按照规则定义标识和名称,不可修改;其他可以由研发自定义标识和名称:

属性名称 属性标识
角色ID role_id
角色名称 role_name
游戏服ID role_server_id
角色等级 role_level
VIP等级 role_vip_level
平台用户ID platform_user_id

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表查询角色信息;固定为:roleInfo.query
serverIdstring必须[验签参数]平台配置的游戏服Id;如:10001
roleIdstring必须[验签参数]角色Id;
propertyTypestring必须[验签参数]平台属性类型 [0 平台统一属性] [1 游戏自定义属性];
categorystring必须[验签参数]分类标识;
getsstring必须[验签参数]获取指定的角色信息,获取多种信息时用英文逗号隔开;具体支持哪些信息获取,GMT接入时按平台提供的表格进行录入,然后导入到平台上;
transactionIdstring必须[验签参数]请求ID,每次请求都不一样;如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述
dataobject[]非必须属性列表

item类型:object

├─keystring必须属性key
├─valuestring必须属性值
├─namestring必须属性名称,平台用来辅助显示

1.2 角色-信息修改接口

基本信息

Path: /gameServerGMTUrl?service=roleInfo.modify&serverId=serverId

Method: POST

接口描述:

该接口主要提供部分角色属性修改功能,具体哪些属性可以修改,平台按照导入的GMT角色属性定义模板进行设置。参数中的type解释如下:

1:改变成; 标识由一个值改为另一个值; 若不支持返回修改失败

2:增加; 标识在原有值上增加指定的数量; 若不支持返回修改失败

3:减少 标识在原有值上减少指定的数量 若不支持返回修改失败

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表修改角色信息;固定为:roleInfo.modify
serverIdstring必须[验签参数]平台配置的游戏服Id
roleIdstring必须[验签参数]角色Id
propertyTypestring必须[验签参数]平台属性类型 [0 平台统一属性] [1 游戏自定义属性];
categorystring必须[验签参数]分类标识;
keystring必须[验签参数]修改的属性key
valuestring必须[验签参数] 本次修改值,具体处理参见type定义
typestring必须[验签参数]1:改变成;2:增加;3:减少
timestamplong必须[验签参数]发起修改操作的时间戳;精确到毫秒;1521452724853
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.3 角色-封禁踢人接口

基本信息

Path: /gameServerGMTUrl?service=roleInfo.ban&serverId=serverId

Method: POST

接口描述:

该接口主要提供GMT对指定角色进行封停、禁言、解封、解禁、以及主动踢人下线等功能; 注意:针对封停,如果当前玩家在线,需要实现同时踢下线的功能;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来操作角色的封停、禁言、解封、解禁;固定为:roleInfo.ban
serverIdstring必须[验签参数]平台配置的游戏服Id
roleIdstring必须[验签参数]角色Id
actionstring必须[验签参数]类型:1:封停;-1:解封;2:禁言;-2:解禁;3:踢人下线
timelong必须[验签参数]当action为封停或禁言时,标识封停到或禁言到什么时间;精确到毫秒的时间戳;-1标识永久封停或永久禁言;注意:action是解封、解禁、踢人下线时需要实时生效,无需关心该字段;
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.4 邮件-普通邮件通知接口-按角色Id

基本信息

Path: /gameServerGMTUrl?service=mail.notify.roleIds&serverId=serverId

Method: POST

接口描述:
该接口主要实现按角色ID列表进行推送普通邮件的功能。

  1. 对于发送超时或因网络原因出现发送失败时,平台提供自动重发机制,自动重发机制为在失败后,延后指定时间进行重发(第一次失败后延后30秒进行第二次重发, 第二次失败后延后10分钟, 第三次失败后延后2小时, 第四次失败后延后12小时),超过四次失败,将不再自动重发;但是可以通过GSC上邮件推送记录进行手动重发;
  2. 1 若非连接超时或网络问题,平台不会进行重发;此时需要研发同学配合定位问题,问题解决后由GSC平台进行手动重发;
  3. 2 为了防止因网络问题导致出现:游戏服正常接收该mailId,但是平台因网络问题未收到返回,当平台再次重发(自动或手动)时游戏服需要根据mailId进行重复性判断,防止邮件重发至用户手中; mailId可以用来做唯一性判断;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表按角色Id进行推送邮件;固定为:mail.notify.roleIds
serverIdstring必须[验签参数]平台配置的游戏服Id
sourcestring必须[验签参数]邮件产生的来源gsc:标识GSC后台配置发送的邮件,默认是gsc;gsc:由GSC操作人员创建邮件;activity-p_re_deliver:由GSC补单产生的通知邮件;activity-xxxxx活动触发的邮件发送(其中xxxx为具体的活动编码)
roleIdsstring必须[验签参数]角色Id列表,多个roleIds时用英文逗号隔开;如:100,101,102,103
mailIdstring必须[验签参数]邮件唯一标识;用来区分每一个邮件发送任务;如:20190917145655776
subjectstring必须[验签参数]邮件主题信息
authorstring必须[验签参数]作者
contentstring必须[验签参数]邮件详细内容
contentTypestring必须[验签参数]text:文本;html:富文本
startTimelong必须[验签参数]邮件开始发送时间;精确到毫秒的时间戳;如:1521452724853;
endTimelong必须[验签参数]邮件停止发送时间;精确到毫秒的时间戳;如:1521452724853;
attachmentInvalidTypestring选填[验签参数]邮件附件失效类型;1:邮件附件失效时间类型(邮件附件失效时间不为空) 2:邮件附件失效周期类型(邮件附件失效周期不为空)
attachmentInvalidPeriodnumber选填[验签参数]邮件附件失效周期;单位:天;如:7;表示周期为7天
attachmentInvalidTimelong选填[验签参数]邮件附件失效时间;精确到毫秒的时间戳;如:1521452724853;长期有效为-1
attachmentsstring选填[验签参数]道具附件;多个道具由英文逗号隔开,格式:propId=number,propId=number如:1001=2,1002=10标识1001道具发放2个,1002道具发放10个
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.5 邮件-普通邮件通知接口-按游戏服通知

基本信息

Path: /gameServerGMTUrl?service=mail.notify.server&serverId=serverId

Method: POST

接口描述:
该接口主要实现推送全服邮件,或按照限定的角色等级、VIP等级进行邮件推送。

  1. 对于发送超时或因网络原因出现发送失败时,平台提供自动重发机制,自动重发机制为在失败后,延后指定时间进行重发(第一次失败后延后30秒进行第二次重发, 第二次失败后延后10分钟, 第三次失败后延后2小时, 第四次失败后延后12小时),超过四次失败,将不再自动重发;但是可以通过GSC上邮件推送记录进行手动重发;
  2. 1 若非连接超时或网络问题,平台不会进行重发;此时需要研发同学配合定位问题,问题解决后由GSC平台进行手动重发;
  3. 2 为了防止因网络问题导致出现:游戏服正常接收该mailId,但是平台因网络问题未收到返回,当平台再次重发(自动或手动)时游戏服需要根据mailId进行重复性判断,防止邮件重发至用户手中; mailId可以用来做唯一性判断;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表按游戏服进行推送邮件;固定为:mail.notify.server
serverIdstring必须[验签参数]平台配置的游戏服Id
serviceIdsstring必须[验签参数]联运产品ID,支持多个;若无此限制则为空字符串;格式如:联运产品ID1,联运产品ID2,联运产品ID3…
sourcestring必须[验签参数]邮件产生的来源gsc:GSC后台配置发送的邮件;activity-xxxx:活动触发的邮件发送(其中xxxx为具体活动Id)
roleLevelstring必须[验签参数]角色等级范围;符合该等级范围的角色发送该邮件;若无此限制则为空字符串;格式如:0-50标识从0级到50级,包含0级也包含50级
roleVipLevelstring必须[验签参数]角色VIP等级范围;符合该VIP等级范围的角色发送该邮件;若无此限制则为空字符串;格式如:10-100标识从10级到100级,包含10级也包含100级
roleRegStartTimestring必须[验签参数]角色注册时间开始时间;精确到毫秒的时间戳;如:1521452724853;用来限制只有在角色注册时间开始-角色注册时间结束时间段内注册的角色才可以接收到邮件;
roleRegEndTimestring必须[验签参数]角色注册时间结束时间;精确到毫秒的时间戳;如:1521452724853;
mailIdstring必须[验签参数]邮件唯一标识;用来区分每一个邮件发送任务;
subjectstring必须[验签参数]邮件主题信息
authorstring必须[验签参数]作者
contentstring必须[验签参数]邮件详细内容
contentTypestring必须[验签参数]text:文本;html:富文本
startTimelong必须[验签参数]邮件开始发送时间;精确到毫秒的时间戳;如:1521452724853;
endTimelong必须[验签参数]邮件停止发送时间;精确到毫秒的时间戳;如:1521452724853;
attachmentInvalidTypestring选填[验签参数]邮件附件失效类型;1:邮件附件失效时间类型(邮件附件失效时间不为空) 2:邮件附件失效周期类型(邮件附件失效周期不为空)
attachmentInvalidPeriodnumber选填[验签参数]邮件附件失效周期;单位:天;如:7;表示周期为7天
attachmentInvalidTimelong选填[验签参数]邮件附件失效时间;精确到毫秒的时间戳;如:1521452724853;长期有效为-1
attachmentsstring选填[验签参数]道具附件;多个道具由英文逗号隔开,格式:propId=number,propId=number如:1001=2,1002=10标识1001道具发放2个,1002道具发放10个
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.6 邮件-事件邮件通知接口

基本信息

Path: /gameServerGMTUrl?service=mail.notify.event&serverId=serverId

Method: POST

接口描述:
该接口主要提供创建用户事件邮件,主要满足当角色发生某些事件时由游戏服自动推送提前配置好的邮件给用户;目前仅支持角色注册事件。

  1. 对于发送超时或因网络原因出现发送失败时,平台提供自动重发机制,自动重发机制为在失败后,延后指定时间进行重发(第一次失败后延后30秒进行第二次重发, 第二次失败后延后10分钟, 第三次失败后延后2小时, 第四次失败后延后12小时),超过四次失败,将不再自动重发;但是可以通过GSC上邮件推送记录进行手动重发;
  2. 1 若非连接超时或网络问题,平台不会进行重发;此时需要研发同学配合定位问题,问题解决后由GSC平台进行手动重发;
  3. 2 为了防止因网络问题导致出现:游戏服正常接收该mailId,但是平台因网络问题未收到返回,当平台再次重发(自动或手动)时游戏服需要根据mailId进行重复性判断,防止邮件重发至用户手中; mailId可以用来做唯一性判断;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表按指定事件推送邮件;固定为:mail.notify.event
serverIdstring必须[验签参数]平台配置的游戏服Id
eventstring必须[验签参数]事件类型;register:注册事件
mailIdstring必须[验签参数]邮件唯一标识;用来区分每一个邮件发送任务;
subjectstring必须[验签参数]邮件主题信息
authorstring必须[验签参数]作者
contentstring必须[验签参数]邮件详细内容
contentTypestring必须[验签参数]text:文本;html:富文本
startTimelong必须[验签参数]邮件开始发送时间;精确到毫秒的时间戳;如:1521452724853;
endTimelong必须[验签参数]邮件停止发送时间;精确到毫秒的时间戳;如:1521452724853;
attachmentInvalidTypestring选填[验签参数]邮件附件失效类型;1:邮件附件失效时间类型(邮件附件失效时间不为空) 2:邮件附件失效周期类型(邮件附件失效周期不为空)
attachmentInvalidPeriodnumber选填[验签参数]邮件附件失效周期;单位:天;如:7;表示周期为7天
attachmentInvalidTimelong选填[验签参数]邮件附件失效时间;精确到毫秒的时间戳;如:1521452724853;长期有效为-1
attachmentsstring选填[验签参数]道具附件;多个道具由英文逗号隔开,格式:propId=number,propId=number如:1001=2,1002=10标识1001道具发放2个,1002道具发放10个
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.7 邮件-邮件取消接口

基本信息

Path: /gameServerGMTUrl?service=mail.cancel&serverId=serverId

Method: POST

接口描述:
该接口主要实现取消已创建的邮件,注意:cancelRoleBox为0时,只需要保证不再给未收到的角色继续推送了;cancelRoleBox为1时,保证不再给未收到的角色继续推送时,还需要清理角色已经收到的该邮件;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表取消指定的邮件;固定为:mail.cancel
serverIdstring必须[验签参数]平台配置的游戏服Id
mailIdstring必须[验签参数]邮件唯一标识;用来区分每一个邮件发送任务;
mailTypestring必须[验签参数]common:普通邮件;event:事件邮件
cancelRoleBoxstring必须[验签参数]是否清除用户已经收到的该邮件;1:是;0:否
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.8 公告-滚动公告通知接口

基本信息

Path: /gameServerGMTUrl?service=notice.notify.rolling&serverId=serverId

Method: POST

接口描述:
该接口用来通知游戏服滚动公告的创建;

  1. 对于发送超时或因网络原因出现发送失败时,平台提供自动重发机制,自动重发机制为在失败后,延后指定时间进行重发(第一次失败后延后30秒进行第二次重发, 第二次失败后延后10分钟, 第三次失败后延后2小时, 第四次失败后延后12小时),超过四次失败,将不再自动重发;但是可以通过GSC上邮件推送记录进行手动重发;
  2. 1 若非连接超时或网络问题,平台不会进行重发;此时需要研发同学配合定位问题,问题解决后由GSC平台进行手动重发;
  3. 2 为了防止因网络问题导致出现:游戏服正常接收该 noticeId,但是平台因网络问题未收到返回,当平台再次重发(自动或手动)时游戏服需要根据 noticeId 进行重复性判断,防止邮件重发至用户手中; noticeId 可以用来做唯一性判断;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表滚动公告;固定为:notice.notify.rolling
serverIdstring必须[验签参数]平台配置的游戏服Id
serviceIdsstring必须[验签参数]联运产品ID,支持多个;若无此限制则为空字符串;格式如:联运产品ID1,联运产品ID2,联运产品ID3…
noticeIdstring必须[验签参数]公告唯一标识;用来区分每一个公告的发送任务;
startTimelong必须[验签参数]生效开始时间;精确到毫秒时间戳;立即生效为-1
endTimelong必须[验签参数]生效结束时间;精确到毫秒时间戳
intervalint必须[验签参数]间隔时间;单位:秒;如20标识20秒播放一次
contentstring必须[验签参数]邮件详细内容;文本类型
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.9 公告-滚动公告取消接口

基本信息

Path: /gameServerGMTUrl?service=notice.cancel&serverId=serverId

Method: POST

接口描述:
该接口主要实现GMT主动取消已发送的滚动公告,包括已经开始在用户终端展示的滚动公告。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表取消指定的公告;固定为:notice.cancel
serverIdstring必须[验签参数]平台配置的游戏服Id
noticeIdstring必须[验签参数]公告唯一标识;用来区分每一个公告;
noticeTypestring必须[验签参数]rolling:滚动公告;
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.10 游戏服-游戏服排行获取榜接口

基本信息

Path: /gameServerGMTUrl?service=server.rank.list

Method: POST

接口描述:

该接口需要返回指定排行榜的榜单数据, 其中rankCode接入前需要运营人员提前和研发沟通,每一个rankCode对应一个榜单,rankCode可以在平台GSC平台进行添加,添加时需要为每个榜单指定榜单最大数量,建议不要超过200,如果有必要的话可以为排行榜指定多个附加值,指定附加值时需要提前录入附加值的key和名称;附加值主要是为了排行主要指标相同时该榜单以另外哪些值作为参考条件;

该接口返回的榜单中的行数由参数count决定,如果目前总数少于count值,可以返回所有的数据; 不可返回比count还多的数据,如果返回也会被忽略;

平台每天23点左右会抓取每个服的每个榜单数据,并存储下来,便于后续查询历史榜单用;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表查询指定游戏服的指定排行榜;固定为:server.rank.list
serverIdstring必须[验签参数]区服Id
rankCodestring必须[验签参数]排行榜标识,由运营人员提前在GSC上设定,不同的榜单对应不同的rankCode;若不支持该rankCode则返回110517错误码即可
countint必须[验签参数]获取指定rankCode排行榜的前多少名;
transactionIdstring必须[验签参数]请求ID,每次请求都不一样;如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述
dataobject[]必须排行榜数据

item类型:object

├─dataIdstring必须排行数据ID,若是基于角色的排行榜,则是角色ID,若是基于联盟或工会的排行榜则是联盟ID或工会ID;
├─dataNamestring必须排行数据名称;若是基于角色的排行榜,则是角色名称,若是基于联盟或工会的排行榜则是联盟名称或工会名称;
├─rankIndexstring必须榜单名次,从1开始
├─rankValuenumber必须值;比如:等级排行榜中的等级
├─additionalDataListobject[]非必须排行其他数据;其中key需要在GMT平台配置后,才可以在GMT平台上的排行榜中回显该部分数据

item类型:object

├─keystring必须数据key;比如等级排行榜中的经验值,需要显示此值是因为进行排行榜计算时若等级相同则经验值高的靠前;该key需要在GMT的排行榜配置中提前配置,否则排行榜内无法显示
├─valuestring必须值;

1.11 游戏服-获取游戏服当前信息

基本信息

Path: /gameServerGMTUrl?service=server.information.query&serverId=serverId

Method: POST

接口描述:

该接口主要用来获取游戏服当前的部分配置信息,包括:注册总人数、在线人数、是否推荐服、用户可见状态、是否开启白名单、是否关闭注册
userStatus :标志用户看见游戏服的显示状态,存在维护、正常、下线;
维护:普通用户无法进入,白名单除外;
正常:可以进入;
下线:不需要展示该服务器;

whiteListStatus :开启后表示只有白名单才可以看见该游戏服;白名单数据的用户定义参见接口【获取游戏服白名单数据信息接口】;开启对应GSC平台上“不可见”状态,不开启对应GSC平台上可见状态;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表查询区服当前注册和在线人数;固定为:server.information.query
serverIdstring必须[验签参数]区服Id
transactionIdstring必须[验签参数]请求ID,每次请求都不一样如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述
dataobject必须属性列表
├─serverIdstring必须区服Id
├─serverNamestring必须区服名称
├─enrolmentstring必须区服当前注册总人数;不支持返回(-)中杠
├─onlineNumberstring必须区服当前在线人数;不支持返回(-)中杠
├─recommendstring必须1:是推荐服;0:不是推荐服;;不支持返回(-)中杠
├─userStatusstring必须该游戏服显示状态;0:维护;1:正常;2:下线;;不支持返回(-)中杠
├─whiteListStatusstring必须是否开启 【白名单可见】;0:不开启;1:开启;;不支持返回(-)中杠
├─closeRegisterstring必须是否关闭注册;0:未关闭;1:已关闭;;不支持返回(-)中杠
├─serverAvailablestring必须游戏服运行状态,用以描述游戏服进程或服务器是否已经启动;该信息建议返回运营人员可理解的描述信息,平台不做转移,直接展示;建议不要超过10个中文字符;该信息GMT平台只做展示不提供修改;可返回空

1.12 游戏服-修改游戏服信息

基本信息

Path: /gameServerGMTUrl?service=server.information.update&serverId=serverId

Method: POST

接口描述:

该接口主要用来修改游戏服当前的部分配置信息,包括:是否推荐服、用户可见状态、白名单可见、是否关闭注册;
whiteListStatus :标志该服务器只有处于白名单数据中的用户才可以看见该游戏服;不开启时表示所有用户可以看见;白名单数据的用户定义参见接口【获取游戏服白名单数据信息接口】若不支持请返回 110516
userStatus :标志用户所见该游戏服的显示状态;若不支持请返回 110516
维护:普通用户无法进入,白名单除外;
正常:可以进入;
下线:不需要展示该服务器;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表查询区服当前注册和在线人数;固定为:server.information.update
serverIdstring必须[验签参数]区服Id
recommendstring选填[验签参数]1:是推荐服;0:不是推荐服;空表示本次不修改该字段;
userStatusstring选填[验签参数]该游戏服用户可见状态;0:维护;1:正常;2:下线;空表示本次不修改该字段;
whiteListStatusstring选填[验签参数]是否开启白名单可见;0:不开启;1:开启;空表示本次不修改该字段;对应GSC上是否可见操作,当GSC上选择不可见时,表示开启此属性, GSC上选择可见时,表示不开启该属性
closeRegisterstring选填[验签参数]是否关闭注册;0:未关闭;1:已关闭;空表示本次不修改该字段;
transactionIdstring必须[验签参数]请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.13 图片审核结果异步通知接口

基本信息

Path: callbackUrl?service=picture.audit.result&serverId=serverId

Method: POST

接口描述:

注意:该接口的受理地址 [callbackUrl] 需要在[接口:图片审核接口]中提交图片审核时传递过来;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数] GMT服务标识,用来代表图片审核结果异步通知; 固定为:picture.audit.result
serverIdstring必须[验签参数] 平台配置的游戏服Id
urlstring必须[验签参数] 提交审核请求时的图片url;
codestring必须[验签参数] 审查结果状态;0:审核中; 1:审核通过; -1:审核不通过;2:可疑

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.14 角色-用户角色查询接口

基本信息

Path: /gameServerGMTUrl?service=userRoleInfo.query&serverId=serverId

Method: POST

接口描述:

该接口主要是满足统一GMT平台提供用户的角色列表查询。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数]GMT服务标识,用来代表查询角色信息;固定为:userRoleInfo.query
serverIdstring必须[验签参数]平台配置的游戏服Id;如:10001
userIdstring必须[验签参数]用户Id;
transactionIdstring必须[验签参数]请求ID,每次请求都不一样;如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述
dataobject[]非必须角色列表

item类型:object

├─roleIdstring必须角色id
├─roleNamestring必须角色名称
├─serverIdstring必须游戏服id
├─serverNamestring必须游戏服名称
├─roleLevelstring选填角色等级
├─roleVipLevelstring选填角色vip等级
├─registerTimelong 选填角色注册时间
├─lastLoginTimelong选填角色最后登陆时间

1.15 平台消息审查-异步通知接口

基本信息

Path: /callbackUrl?service=message.audit.result&serverId=serverId

Method: POST

接口描述:

注意:该接口的受理地址callbackUrl 需要在[2.4 平台信息审查接口]中提交审核时传递过来,若未传递将以后台配置GM地址进行回调;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须GMT服务标识,用来代表图片审核结果异步通知; 固定为:message.audit.result
serverIdstring必须平台配置的游戏服Id
messageIdstring必须消息ID
messageStatusstring必须本条消息状态:0:不可送出,标识该消息包含敏感信息不建议送出1:可送出;
messageUpdatestring必须 消息是否被修改,当消息中包含已知敏感词时,该消息中的敏感信息会被*替换,替换后的消息在message中返回;当messageStatus为0(不可送出)时,不管是否修改过消息都不允许把消息送出去;0:未修改;此时message为空1:已修改
messagestring必须 被修改后的消息

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.16 游戏服指令通知接口

基本信息

Path: /gameServerGMTUrl?service=command.notify.server&serverId=serverId

Method: POST

接口描述:

注意:该接口主要实现按在指定游戏服上执行GM指令。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数] GMT服务标识,用来代表按游戏服进行推送邮件; 固定为:command.notify.server
serverIdstring必须[验签参数] 平台配置的游戏服Id
commandIdstring必须[验签参数] 指令唯一标识;用来区分每一个指令发送任务;
commandstring必须[验签参数] 指令;如:.fixsignintimes 5;
transactionId string必须[验签参数] 请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.17 角色指令通知接口

基本信息

Path: /gameServerGMTUrl?service=command.notify.roleIds&serverId=serverId

Method: POST

接口描述:

注意:该接口主要实现按在指定角色ID上执行GM指令。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数] GMT服务标识,用来代表按角色Id进行推送邮件; 固定为:command.notify.roleIds
serverIdstring必须[验签参数] 平台配置的游戏服Id
roleIdstring必须[验签参数] 角色Id
commandIdstring必须[验签参数] 指令唯一标识;用来区分每一个指令发送任务;
commandstring必须[验签参数] 指令;如:.fixsignintimes 5;
transactionId string必须[验签参数] 请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.18 游戏内入口开关通知接口

基本信息

Path: /gameServerGMTUrl?service=server.function.notify&serverId=serverId

Method: POST

接口描述:

注意:该接口主要实现推送游戏内入口开关配置的功能。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数] GMT服务标识,用来代表游戏内入口开关配置; 固定为:server.function.notify
serviceIdsstring必须[验签参数] 联运产品ID,支持多个;若无此限制则为-1;格式如:联运产品ID1,联运产品ID2,联运产品ID3…
versionsstring必须[验签参数] 版本号,支持多个;若无此限制则为-1;格式如:版本号1,版本号2,版本号3…
serverIdstring必须[验签参数] 平台配置的游戏服Id
namestring必须[验签参数] 功能名称
codestring必须[验签参数] 功能code
statusstring必须[验签参数] 功能状态;0:未开启;1:已开启
infostring必须[验签参数] 自定义配置
transactionId string必须[验签参数] 请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.19 维护公告通知接口

基本信息

Path: /gameServerGMTUrl?service=server.notice.notify&serverId=serverId

Method: POST

接口描述:

注意:该接口主要实现推送游戏维护公告内容的功能。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须[验签参数] GMT服务标识,用来代表游戏内入口开关配置; 固定为:server.function.notify
serverIdstring必须[验签参数] 平台配置的游戏服Id
serverNoticeIdstring必须[验签参数] 维护公告唯一标识;用来区分每一个维护公告的发送任务
contentstring必须[验签参数] 维护公告内容
transactionId string必须[验签参数] 请求ID,每次请求都不一样,如:0dbaff98a230282da164b12b122c4cc4

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

1.20 平台消息-删除接口

基本信息

Path: /callbackUrl?service=message.del&serverId=serverId

Method: POST

接口描述:

注意:该接口的受理地址callbackUrl 需要在[2.4 平台信息审查接口]中提交审核时传递过来,若未传递将以后台配置GM地址进行回调;

具体哪些消息可以删除,需要每个产品的研发、运营沟通后,把可以消息的频道ID通知平台技术支持人员即可;

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

名称类型是否必须默认值备注其他信息
servicestring必须 GMT服务标识,用来代表图片审核结果异步通知; 固定为:message.del
serverIdstring必须平台配置的游戏服Id
messageIdsstring []必须消息ID数组

item 类型:string

├─非必须消息ID;取自聊天数据接收或平台消息审查接口中的chatId和messageId

返回数据

名称类型是否必须默认值备注其他信息
statusstring必须状态码;0:成功;1:失败
resetstring必须详细返回码;具体参见详细返回码定义
descstring必须状态描述

2. 平台提供接口

2.1 平台transactionId校验接口

基本信息

Path: https://{平台GMT域名}/api/gmt/outer/transaction/check.htm
平台GMT域名:参见附录6

Method: POST

接口描述:


  • 该接口主要作用是提供给GMT接口交互中的transactionId合法性校验问题。

  • 请求参数

    Headers

    参数名称 参数值 是否必须 示例 备注
    Content-Type application/json

    Body

    名称类型是否必须默认值备注其他信息
    productIdstring必须[验签参数]平台分配的8位产品ID,接入时通过GSC获取对应的产品ID
    localeIdstring必须[验签参数]平台定义的地域Id,参考【地域编码定义 localeId】
    transactionIdstring必须[验签参数]transactionId

    返回数据

    名称类型是否必须默认值备注其他信息
    statusstring非必须0:成功;1:失败
    resetstring非必须详细返回码;具体参见附件
    descstring非必须

    2.2 获取游戏服白名单数据信息接口

    基本信息

    Path: https://{平台GMT域名}/api/gmt/outer/server/whiteList.htm
    平台GMT域名:参见附录6
    Method: POST

    接口描述:
    该接口主要用来获取已配置的白名单数据列表,如:IP、平台用户ID、游戏版本号、设备MAC、设备IDFA,只要当前玩家的任何一项信息匹配上,就算作白名单用户;
    白名单用户具备以下两个特殊权限:
    1:白名单用户可以看见在平台设置为不可见的游戏服(注意:若游戏服处于下线状态,则白名单也不能看到);
    2:白名单用户可以进入维护状态的游戏服

    • 注意:该接口的数据要求游戏服做本地缓存,每隔1分钟通过该接口更新一次,若获取白名单数据失败,则沿用上一次的缓存的白名单数据;若首次获取数据失败,则按白名单数据为空处理;

    请求参数

    Headers

    参数名称 参数值 是否必须 示例 备注
    Content-Type application/json

    返回数据

    名称类型是否必须默认值备注其他信息
    statusstring必须状态码;0:成功;1:失败
    resetstring必须详细返回码;具体参见附件
    descstring必须状态描述
    dataobject[]必须属性列表

    item类型:object

    ├─typestring必须1:IP;2:平台用户ID;3:游戏版本;4:MAC(主要用于安卓系统);5:IDFA(主要用于IOS系统)
    ├─datastring必须具体数据;当type为1时表示具体IP,当type为2时表示具体用户ID,当type为3时表示具体游戏版本号

    2.3 图片审核接口

    基本信息

    Path: https://{平台GMT域名}/api/gmt/outer/picture/audit.htm
    平台GMT域名:参见附录6

    Method: POST

    接口描述:

    审核机制

    实时返回必定是0(审核中);后续1-2分钟左右会通过异步回调通知审核结果, 第一次异步回调通知是必存在的; 后续7天内可能还会出现2次异步回调通知结果(由人工抽检和历史数据回检触发);
    注意:异步回调需要实现,异步回调通知接口:图片审核结果异步通知接口

    请求参数

    Headers

    参数名称 参数值 是否必须 示例 备注
    Content-Type application/json

    Body

    名称类型是否必须默认值备注其他信息
    productIdstring必须[验签参数] 平台分配的8位产品ID,接入时通过GSC获取对应的产品ID
    localeIdstring必须[验签参数] 平台定义的地域Id,接入时通过GSC获取对应的地域ID
    serverIdstring必须[验签参数] 平台配置的游戏服Id; 如:10001
    urlstring必须[验签参数] 图片的http访问地址;支持外网访问;不超过128位英文字符;审核期间图片地址内容不要变更
    callbackUrlstring必须[验签参数] 图片审核结果异步回调地址;不超过90位英文字符

    返回数据

    名称类型是否必须默认值备注其他信息
    statusstring必须状态码;0:成功;1:失败; 失败时表示平台接口出现异常或请求参数非法,并非图片不合法
    resetstring必须详细返回码;具体参见附件
    descstring必须状态描述
    dataobject必须实时审查结果
    ├─ codestring必须实时审查结果状态;0:审核中; 1:审核通过; -1:审核不通过;

    2.4 平台信息审查接口

    基本信息

    Path: https://{平台GMT域名}/api/audit/outer/message/audit.htm

    Method: POST

    接口描述:

    该接口用来审查角色上报的信息是否允许发送,因为需要对接第三方该接口,该接口支持同步和异步两种方式返回审核结果,具体采用哪种方式由接入的第三方和当前平台服务器负荷情况动态决定,所以要求游戏必须支持同步和异步两种返回结果;

    考虑接入过程中两种消息返回模式都要进行调试,所以需要指定测试消息返回模式(同步和异步),可在Http Header头中增加LongTu-Chat-Audit-Mode头信息来控制走同步还是异步(sync:同步; async:异步),产品OB后将完全忽略该消息头,所以不要期望用设置消息头的方式来完全控制同步和异步模式;

    校验码规则参考【详见校验码 V3规则介绍】;


    旧版聊天信息接入接口

    请求参数

    Headers

    参数名称 参数值 是否必须 示例 备注
    Content-Type application/json

    Body

    名称类型是否必须默认值备注其他信息
    messageIdstring必须消息ID 至少在游戏服内唯一(50个字符以内)
    typestring必须类型,chat:聊天消息; roleName:角色名称; teamName:团队名称;other:其他;
    messageTypestring必须消息内容类型,text:文本; voice:语音; image:图片;目前仅支持text
    messageContextstring必须消息内容; 若非text类型,则该值为语音或图片的base64编码后的字符串
    userIdstring必须平台用户ID
    serverIdstring必须游戏服ID
    roleIdstring必须角色ID
    roleNamestring必须角色名称
    levelstring非必须角色等级
    vipLevelstring非必须角色VIP等级
    messageChannelstring非必须消息频道;聊天消息填写具体聊天频道;非聊天消息可为空
    receiveServerIdstring非必须群发消息传空即可;主要用于两个跨服玩家之间的聊天信息时,标识消息接收角色的游戏服ID
    receiveRoleIdstring非必须群发消息传空即可;主要用于两个玩家之间的聊天信息时,标识消息接收角色ID
    receiveRoleNamestring非必须群发消息传空即可;主要用于两个玩家之间的聊天信息时,标识消息接收角色名称
    callbackUrlstring必须异步回调接口;是否触发异步回调由该接口实时返回的结果中的resultCode决定;需要游戏必须兼容实时返回和异步回调两种情况;所以该参数是必传参数
    serviceCodestring必须来自龙图SDK的API”11.14 获取Servicecode”

    返回数据

    名称类型是否必须默认值备注其他信息
    statusstring必须状态码;0:成功;1:失败
    resetstring必须详细返回码;具体参见附件
    descstring必须状态描述
    dataobject必须返回具体信息
    ├─ resultCodestring必须审核结果; 0:待审核,审核结果通过1.15异步返回;此时resultInfo为空,无需关注;1:审核完成;具体结果参见resultInfo
    ├─ resultInfoobject非必须
    ├─ messageStatusstring必须本条消息状态:0:不可送出,标识该消息包含敏感信息不建议送出1:可送出;
    ├─ messageUpdatestring必须消息是否被修改,当消息中包含已知敏感词时,该消息中的敏感信息会被*替换,替换后的消息在message中返回;当messageStatus为0(不可送出)时,不管是否修改过消息都不允许把消息送出去;0:未修改;此时message为空1:已修改
    ├─ messagestring非必须被修改后的消息

    2.5 获取游戏服状态及白名单状态接口

    基本信息

    Path: /api/gmt/outer/config/pull.htm

    Method: POST

    2.5.1 接口描述

    • 功能介绍:获取游戏服状态以及是否白名单可见状态配置,支持同时获取多个游戏服的数据;
    • 提供方:平台统一GMT
    • 调用方:游戏服务端
    • 使用场景:开新服时或游戏服重启;
    • 注意:该接口对单个IP有访问频率控制,默认访问控制策略: 单IP每分钟最多2次访问、 单IP每小时最多60次; 两者达到任一访问上限都会返回失败
    • 2.5.2 请求参数

      Headers

      参数名称 参数值 是否必须 示例 备注
      Content-Type application/json

      Body

      名称类型是否必须默认值备注其他信息
      servicestring必须固定传:server.information.query
      serverIdsstring []必须游戏服ID数组,
      可一次获取多个游戏服ID

      item 类型:string

      ├─非必须游戏服ID

      2.5.3 返回数据

      名称类型是否必须默认值备注其他信息
      statusstring必须状态码;0:成功;1:失败
      resetstring必须详细返回码;
      descstring必须状态描述
      dataobject []必须配置数据数组;
      不管获取单个还是多个游戏服,均以数组返回,
      数组中每一项标识一个游戏服的配置

      item 类型:object

      ├─serverIdstring必须游戏服ID
      ├─recommendstring必须1:是推荐服;0:不是推荐服;默认为0
      ├─userStatus string必须该游戏服显示状态;0:维护;1:正常;2:下线;默认为1
      ├─whiteListStatus string必须是否开启 【仅白名单可见】;0:不开启;1:开启;
      ├─closeRegister string必须是否关闭注册;0:未关闭;1:已关闭;
      • 返回示例
        1. {
        2. "status": "0",
        3. "reset": "1000",
        4. "desc": "",
        5. "data": [
        6. {
        7. "serverId": "1001",
        8. "serverName": "测试游戏服",
        9. "recommend": "1",
        10. "userStatus": "1",
        11. "whiteListStatus": "0",
        12. "closeRegister": "0"
        13. },
        14. {
        15. "serverId": "1002",
        16. "serverName": "测试游戏服2",
        17. "recommend": "1",
        18. "userStatus": "1",
        19. "whiteListStatus": "0",
        20. "closeRegister": "0"
        21. }
        22. ]
        23. }

        2.6 获取游戏内入口开关接口

        基本信息

      Path: /api/gmt/outer/config/pull.htm

      Method: POST

      2.5.1 接口描述

      • 功能介绍:获取游戏内功能开关接口,支持同时获取多个游戏服的数据;
      • 提供方:平台统一GMT
      • 调用方:游戏服务端
      • 使用场景:开新服时或游戏服重启;
      • 注意:该接口对单个IP有访问频率控制,默认访问控制策略: 单IP每分钟最多2次访问、 单IP每小时最多60次; 两者达到任一访问上限都会返回失败
      • 2.5.2 请求参数

        Headers

        参数名称 参数值 是否必须 示例 备注
        Content-Type application/json

        Body

        名称类型是否必须默认值备注其他信息
        servicestring必须固定传:server.function.query
        serverIdsstring []必须游戏服ID数组,
        可一次获取多个游戏服ID

        item 类型:string

        ├─非必须游戏服ID

        2.5.3 返回数据

        名称类型是否必须默认值备注其他信息
        statusstring必须状态码;0:成功;1:失败
        resetstring必须详细返回码;
        descstring必须状态描述
        dataobject []必须平台配置数据数组;不管获取单个配置服务的配置还是多个配置服务的配置,均以数组返回,数组中每一项标识一种服务的配置数据

        item 类型:object

        ├─ serverIdstring必须游戏服ID
        ├─ functionsobject []必须功能数组,数组中每一项标识一个功能

        item 类型:object

        ├─serviceIdsstring必须联运产品ID,支持多个;若无此限制则为-1;格式如:联运产品ID1,联运产品ID2,联运产品ID3…
        ├─versionsstring必须版本号,支持多个;若无此限制则为-1;格式如:版本号1,版本号2,版本号3…
        ├─ namestring必须功能名称
        ├─ codestring必须功能code
        ├─ statusstring必须功能状态;0:未开启;1:已开启
        ├─ infostring必须自定义配置
        • 返回示例
          1. {
          2. "status": "0",
          3. "reset": "1000",
          4. "desc": "",
          5. "data": [
          6. {
          7. "serverId": "1001",
          8. "functions": [
          9. {
          10. "code": "rebate",
          11. "name": "返利活动",
          12. "status": "1",
          13. "info": ""
          14. },
          15. {
          16. "code": "rebate1",
          17. "name": "返利活动1",
          18. "status": "0",
          19. "info": ""
          20. }
          21. ]
          22. },
          23. {
          24. "serverId": "1002",
          25. "functions": [
          26. {
          27. "code": "rebate",
          28. "name": "返利活动",
          29. "status": "1",
          30. "info": ""
          31. }
          32. ]
          33. }
          34. ]
          35. }

          3. 详细返回码定义

        reset 描述
        000000 成功
        110400 service非法,暂不支持该服务
        110401 游戏服不存在
        110402 角色ID格式错误
        110403 存在不支持的角色属性获取
        110404 checkSum校验失败
        110405 时间戳校验失败
        110406 不支持封停
        110407 不支持解封
        110408 不支持禁言
        110409 不支持解禁
        110410 不支持踢人
        110412 时间解析失败
        110413 邮件产生来源不支持
        110414 mailId重复
        110415 邮件主题非法
        110416 邮件内容非法
        110417 邮件内容格式不支持
        110418 不支持邮件发送时间
        110419 不支持邮件附件失效时间
        110420 不支持邮件结束时间
        110421 不支持附件
        110422 不支持等级区间邮件发送
        110423 不支持VIP等级区间邮件发送
        110424 不支持全服邮件
        110425 不支持该事件邮件
        110426 邮件mailId不存在
        110427 不支持删除用户邮箱内邮件
        110428 公告Id重复
        110429 公告Id不存在
        110430 公告内容不支持
        110431 公告开始结束事件非法
        110432 公告间隔时间不支持
        110501 角色信息查询失败
        110502 修改角色属性失败
        110503 封停失败
        110504 解封失败
        110505 禁言失败
        110506 解禁失败
        110507 踢人失败
        110508 封停成功踢人失败,需要返回失败roleId列表
        110509 邮件发送失败
        110510 邮件取消失败
        110511 滚动公告发送失败
        110512 公告取消失败
        110513 transactionId不能为空
        110514 transactionId无效
        110515 频道不存在
        110516 不支持当前操作
        110517 排行榜不存在
        110518 角色不在线
        110519 拒绝修改角色属性
        110999 其他错误

        4 校验码规则介绍(V3 版本)

        新产品接入 直接使用V3版本校验码规则,目前在接入的产品和已经上线的产品,平台将会继续支持原有校验码规则;原有校验码规则详见 校验码V1

        校验码 V3版主要更新点

        • 在Header头中增加协商秘钥的key,旨在解决在线更换秘钥的问题
        • 校验码计算规则改成body体中所有数据加上秘钥进行MD5Hash,解决接口协议参数变更带来的秘钥验证问题

        Header介绍

        1. platform-auth-version:固定写死 v3
        2. platform-auth-timestamp:服务器时间戳,毫秒数
        3. platform-auth-key-id:秘钥keyId,第三方平台由GSC平台统一进行分配; 产品接入以平台的productId+localeId进行替代(如GMT接入);
        4. platform-auth-checksum:请求数据计算后的校验码

        校验码原理及作用

        校验码即 checkSum 是为了防止双方通信过程中交换的数据被篡改的一种通用校验方式。 由交换数据双方按照某种规则组装生成请求明文数据, 然后追加上当前时间戳和双方协商好的秘钥[需要线下获取] ,生成校验码明文, 再通过对明文进行散列值计算获取到数据指纹即校验码, 请求方把时间戳、校验码版本号、秘钥ID以及校验码放到Header头中发送给服务方,服务方获取后再次按照相同进行计算数据指纹, 通过比较自己生成和请求方传递过来得数据指纹是否一致来确定数据是否合法。

        校验码明文

        本次请求body体中的数据

        • 散列值计算
          校验码散列值算法:MD5, 注意取32位md5,并转小写。
        • 示例
          请求body中的json如下
        1. {"yyyymm":"202008","localeId":"01"}

        假设平台分配的秘钥key-id(秘钥ID)为1001, 当前的毫秒时间戳为:1600422195516, key(秘钥)为:eea2e42511c3294d47b4d2deaf4ea33c
        组装后的校验码明文串如下(注意原始数据和时间戳以及密码key之间通过&符号连接):

        1. {"yyyymm":"202008","localeId":"01"}&1600422195516&eea2e42511c3294d47b4d2deaf4ea33c

        校验码密文

        生成校验码如下

        1. be6f17515783ae719710fd195461f377

        Header示例

        注意:此时该请求的header头的四个校验码相关的header值如下

        1. platform-auth-version:v3
        2. platform-auth-timestamp:1600422195516
        3. platform-auth-key-id:1001
        4. platform-auth-checksum:be6f17515783ae719710fd195461f377

        5 地域编码定义 localeId

        地域编码说明文档

        6 统一GMT服务域名及IP

        国内

        1. 域名:gmt.longtugame.cn
        2. 118.31.122.65
        3. 118.31.121.222

        港澳台

        1. 域名:gmt-tw.longtugame.net
        2. 47.75.169.144
        3. 47.75.252.15

        日本

        1. 域名:gmt-jp.longtugame.net
        2. 124.156.227.235
        3. 150.109.205.117