该文档主要包含聊天信息接收接口定义、游戏角色封停禁言接口定义;
该接口由掌趣技术平台提供,负责接收游戏服传递的聊天信息;
需要游戏服务端进行调用,定时推送聊天信息;
该接口支持每次推送多条聊天数据;建议游戏服每分钟做一次批量推送;
| 参数父节点 | 参数名称 | 类型 | 限制策略 | 说明 |
|---|---|---|---|---|
| - | 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 | 字符串 | 可空 | 扩展参数 |
| 参数名称 | 类型 | 说明 |
|---|---|---|
| errorCode | 字符串 | 响应码;00000:接收成功;其他详见附录聊天数据接收接口响应编码表 |
| errorDesc | 字符串 | 描述 |
{"data": [{"IDFA": "7a0c8114-52ff-4529-955b-3d16e6ffffff","MAC": "ac:cf:85:a6:36:20","chatChannel": "1","chatType": "1","chatInfo": "先货","chatVoiceFileCode": "","chatTime": "2015-10-01 14:29:13","roleId": "109990000021490003","roleName": "沉思的君王","userId": "0102440000000000000000010086000021275232","roleLevel":"1","vipLevel":"vip1","receiveRoleId":"109990000021490004","receiveRoleName":"测试接收角色"},{"IDFA": "7a0c8114-52ff-4529-955b-3d16e6ffffff","MAC": "ac:cf:85:a6:36:20","chatChannel": "1","chatType": "1","chatInfo": "低价代充","chatVoiceFileCode": "","chatTime": "2015-10-02 14:29:13","roleId": "109990000021490003","roleName": "沉思的君王","userId": "0102440000000000000000010086000021275232""roleLevel":"18","vipLevel":"vip20","receiveRoleId":"109990000021490004","receiveRoleName":"测试接收角色"},{"IDFA": "7a0c8114-52ff-4529-955b-3d16e6ffffff","MAC": "ac:cf:85:a6:36:20","chatChannel": "1","chatType": "2","chatInfo": "您好","chatVoiceFileCode": "198764","chatTime": "2015-10-03 14:29:13","roleId": "109990000021490003","roleName": "沉思的君王","userId": "0102440000000000000000010086000021275232""roleLevel":"7","vipLevel":"vip10","receiveRoleId":"","receiveRoleName":""}],"language": "01","productId": "10000941","serverId": "ios999","serviceCode": "MTAwMDEwNzMzMTAxNDMwMDAwMDMxMDE0MzAwMzEwMTQzMDAwMDAwMDElN0MzMTAzMzMwMCU3Q3F3ZXF3ZXF3ZSU3QzEyJTdDcXdlcWU=","service": "palm.platfom.productServer.chatLog"}
{"errorCode":"00000","errorDesc":"成功"}
该接口由游戏按规范提供,掌趣平台通过该接口实现角色禁言或封停功能;
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注意:解封或解禁时,结束时间等于开始时间 |
| 参数名称 | 类型 | 说明 |
|---|---|---|
| errorCode | 字符串 | 响应码;00000:接收成功;00001:处理失败; 00002:部分失败;其他详见附录封停禁言接口响应编码表 |
| errorDesc | 字符串 | 描述 |
| expandData | 字符串 | 可空;当errorCode为00002时,表示失败的角色Id数组转化后的json串;如 [{"roleId":"10085009"},{"roleId":"10085008"}] 注意是数组转化后的json串; |
{"service":"palm.platfom.productServer.shutUp","serverId":"1001","type":"BANSPEAKING","data":[{"userId":"0100010000000000000000000000000029560655","roleId":"10085009","beginTime":"2015-07-06 20:09:10","endTime":"2016-10-07 10:10:50"},{"userId":"0100010000000000000000000000000029560455","roleId":"10085009","beginTime":"2015-07-06 20:09:10","endTime":"2016-10-07 10:10:50"}]}
部分失败
{"errorCode":"00000","errorDesc":"成功"}
{"errorCode":"00002","errorDesc":"部分失败","expandData":[{"roleId":"10085009"},{"roleId":"10085008"}]}
| 响应码 | 描述 |
|---|---|
| 00000 | 成功 |
| 10001 | ip签权失败 |
| 10002 | 游戏服在平台没有启用 |
| 10003 | 查询角色失败 |
| 99999 | 其他错误 |
| 响应码 | 描述 |
|---|---|
| 00000 | 接收成功 |
| 00001 | 处理失败 |
| 00002 | 部分失败 |