聊天信息接入说明文档

1. 接入必读

该文档主要包含聊天信息接收接口定义、游戏角色封停禁言接口定义;

2. 准备工作

  1. 在掌趣MIS平台上创建需要接入的产品和游戏服;
  2. 在掌趣GSC平台上添加聊天频道编码和频道名称;

    3. 接口说明

  • 接口协议:HTTP POST; content-type设为application/json;
  • 交互数据格式:JSON格式(以UTF-8进行编码); 数据直接通过HTTP消息体传输(非KEY-VALUE模式); 注意单次消息体大小不能大于512K;

4. 接口

4.1 聊天信息接收接口

该接口由掌趣技术平台提供,负责接收游戏服传递的聊天信息;
需要游戏服务端进行调用,定时推送聊天信息;
该接口支持每次推送多条聊天数据;建议游戏服每分钟做一次批量推送;

参数父节点 参数名称 类型 限制策略 说明
- service 字符串 必填 接口标识,固定为:palm.platfom.productServer.chatLog
- language 字符串 必填 语言标识。详见附录附录1-语言地域编码表
- productId 字符串 必填 掌趣平台产品ID
- serverId 字符串 必填 游戏服ID
- data 数组 必填 聊天数据
data[i] userId 字符串 必填 用户ID;
data[i] roleId 字符串 必填 角色ID
data[i] roleName 字符串 必填 角色名称
data[i] chatChannel 字符串 必填 聊天频道;必须提前在GSC平台录入
data[i] chatTime 字符串 必填 聊天时间;格式 yyyy-MM-dd HH:mm:ss
data[i] chatType 字符串 必填 1:文本;2:语音;
data[i] chatInfo 字符串 必填 聊天内容;(注:若聊天内容为语音时,传递语音翻译后的文本内容,此时翻译后的文本内容同样会触发屏蔽词自动过滤策略;若未翻译则传空字符串即可)
data[i] chatVoiceFileCode 字符串 必填 语音聊天内容时,传递语音文件标识;非语音内容传空字符串
data[i] MAC 字符串 必填 mac地址;android必填
data[i] IDFA 字符串 必填 苹果设备的唯一标识; ios必填
data[i] deviceUniqueId 字符串 必填 Windows手机设备唯一标识;windows必填
data[i] roleLevel 字符串 必填 角色等级;如果没有则可以传: “0”
data[i] vipLevel 字符串 必填 角色VIP等级;如果没有则可以传: “0”
data[i] serviceCode 字符串 必填 SDK获取的ServiceCode。详见Android网游SDK接入iOS国内SDK接入
data[i] receiveRoleId 字符串 可空 接收聊天信息的角色ID;如果没有则传空字符串
data[i] receiveRoleName 字符串 可空 接收聊天信息的角色名称;如果没有则传空字符串
data[i] extendsFields 字符串 可空 扩展参数
  • 4.1.3 返回参数
参数名称 类型 说明
errorCode 字符串 响应码;00000:接收成功;其他详见附录聊天数据接收接口响应编码表
errorDesc 字符串 描述
  • 4.1.4 请求示例
    1. {
    2. "data": [
    3. {
    4. "IDFA": "7a0c8114-52ff-4529-955b-3d16e6ffffff",
    5. "MAC": "ac:cf:85:a6:36:20",
    6. "chatChannel": "1",
    7. "chatType": "1",
    8. "chatInfo": "先货",
    9. "chatVoiceFileCode": "",
    10. "chatTime": "2015-10-01 14:29:13",
    11. "roleId": "109990000021490003",
    12. "roleName": "沉思的君王",
    13. "userId": "0102440000000000000000010086000021275232",
    14. "roleLevel":"1",
    15. "vipLevel":"vip1",
    16. "receiveRoleId":"109990000021490004",
    17. "receiveRoleName":"测试接收角色"
    18. },
    19. {
    20. "IDFA": "7a0c8114-52ff-4529-955b-3d16e6ffffff",
    21. "MAC": "ac:cf:85:a6:36:20",
    22. "chatChannel": "1",
    23. "chatType": "1",
    24. "chatInfo": "低价代充",
    25. "chatVoiceFileCode": "",
    26. "chatTime": "2015-10-02 14:29:13",
    27. "roleId": "109990000021490003",
    28. "roleName": "沉思的君王",
    29. "userId": "0102440000000000000000010086000021275232"
    30. "roleLevel":"18",
    31. "vipLevel":"vip20",
    32. "receiveRoleId":"109990000021490004",
    33. "receiveRoleName":"测试接收角色"
    34. },
    35. {
    36. "IDFA": "7a0c8114-52ff-4529-955b-3d16e6ffffff",
    37. "MAC": "ac:cf:85:a6:36:20",
    38. "chatChannel": "1",
    39. "chatType": "2",
    40. "chatInfo": "您好",
    41. "chatVoiceFileCode": "198764",
    42. "chatTime": "2015-10-03 14:29:13",
    43. "roleId": "109990000021490003",
    44. "roleName": "沉思的君王",
    45. "userId": "0102440000000000000000010086000021275232"
    46. "roleLevel":"7",
    47. "vipLevel":"vip10",
    48. "receiveRoleId":"",
    49. "receiveRoleName":""
    50. }
    51. ],
    52. "language": "01",
    53. "productId": "10000941",
    54. "serverId": "ios999",
    55. "serviceCode": "MTAwMDEwNzMzMTAxNDMwMDAwMDMxMDE0MzAwMzEwMTQzMDAwMDAwMDElN0MzMTAzMzMwMCU3Q3F3ZXF3ZXF3ZSU3QzEyJTdDcXdlcWU=",
    56. "service": "palm.platfom.productServer.chatLog"
    57. }
  • 4.1.5 返回示例
    1. {
    2. "errorCode":"00000",
    3. "errorDesc":"成功"
    4. }

4.2 角色封停禁言接口

该接口由游戏按规范提供,掌趣平台通过该接口实现角色禁言或封停功能;

  • 4.2.1 接口地址
    接口地址预先提交给运营负责人在平台进行配置;建议采用统一的封停禁言地址;

  • 4.2.2 网络安全
    为了保证数据安全性,建议游戏服务器对掌趣的请求IP地址做鉴权处理,需要认证的IP如下:
    国内:120.132.83.43、120.132.83.42 、120.92.127.12、123.59.201.50 (2022-09-16移除) 120.132.83.61 (2022-09-16新增)
    香港: 129.227.148.197 , 129.227.148.203
    欧美: 47.89.178.122、47.89.179.174、 34.85.206.52 、34.86.41.134 ( 2022-02-21新增)、
    43.131.38.144、43.131.27.32 ( 2022-11-21新增)
    韩国:103.6.100.134、103.6.100.142、 121.78.51.70
    日本:150.109.204.58、124.156.208.120

  • 4.2.3 请求参数

参数父节点 参数名称 类型 限制策略 说明
- service 字符串 必填 接口标识,固定为:palm.platfom.productServer.shutUp
- type 字符串 必填 操作标识
BANROLE:角色封停;
BANSPEAKING:角色禁言
- serverId 字符串 必填 游戏服ID
- data 数组 必填 封停的角色信息;需要支持多个角色封停、禁言
data[i] userId 字符串 必填 用户ID
data[i] roleId 字符串 必填 角色ID
data[i] reason 字符串 必填 操作原因
data[i] beginTime 字符串 必填 开始时间,格式为yyyy-MM-dd HH:mm:ss
data[i] endTime 字符串 必填 结束时间;格式为yyyy-MM-dd HH:mm:ss
注意:解封或解禁时,结束时间等于开始时间
  • 4.2.4 返回参数
参数名称 类型 说明
errorCode 字符串 响应码;00000:接收成功;00001:处理失败; 00002:部分失败;其他详见附录封停禁言接口响应编码表
errorDesc 字符串 描述
expandData 字符串 可空;当errorCode为00002时,表示失败的角色Id数组转化后的json串;如 [{"roleId":"10085009"},{"roleId":"10085008"}] 注意是数组转化后的json串;
  • 4.2.5 请求示例
    1. {
    2. "service":"palm.platfom.productServer.shutUp",
    3. "serverId":"1001",
    4. "type":"BANSPEAKING",
    5. "data":[
    6. {
    7. "userId":"0100010000000000000000000000000029560655",
    8. "roleId":"10085009",
    9. "beginTime":"2015-07-06 20:09:10",
    10. "endTime":"2016-10-07 10:10:50"
    11. },
    12. {
    13. "userId":"0100010000000000000000000000000029560455",
    14. "roleId":"10085009",
    15. "beginTime":"2015-07-06 20:09:10",
    16. "endTime":"2016-10-07 10:10:50"
    17. }
    18. ]
    19. }
  • 4.2.6 返回示例
    成功
    1. {
    2. "errorCode":"00000",
    3. "errorDesc":"成功"
    4. }
    部分失败
    1. {
    2. "errorCode":"00002",
    3. "errorDesc":"部分失败",
    4. "expandData":[{"roleId":"10085009"},{"roleId":"10085008"}]
    5. }

附录

聊天数据接收接口响应编码表

响应码 描述
00000 成功
10001 ip签权失败
10002 游戏服在平台没有启用
10003 查询角色失败
99999 其他错误

封停禁言接口响应编码表

响应码 描述
00000 接收成功
00001 处理失败
00002 部分失败