====== 全局禁言 ====== 更新时间:2021-12-31 该文档已不再维护,请看新版 3.X 文档。 新版文档地址:[[https://docs-im.easemob.com/ccim/rest/accountsystem#用户全局禁言|用户全局禁言]] ===== 功能概述 ===== 全局禁言:包括单聊消息全局禁言、群组消息全局禁言和聊天室全局禁言。 * 帐号默认未设置单聊消息全局禁言。如果帐号被设置单聊消息全局禁言,在单聊消息禁言时间未到期时间内所有的单聊消息发送失败,到期后IM后台自动解除单聊消息禁言,解除后所有单聊消息就能发送正常;对于永久全局单聊禁言,全局单聊消息禁言时间一直不过期。 * 帐号默认未设置群组消息全局禁言。如果帐号被设置群组消息全局禁言,在群组消息禁言时间未到期时间内所有的群组消息发送失败,到期后IM后台自动解除群组消息禁言,解除后所有群组消息就能发送正常;对于永久全局群组禁言,全局群组消息禁言时间一直不过期。 * 帐号默认未设置聊天室消息全局禁言。如果帐号被设置聊天室消息全局禁言,在聊天室消息禁言时间未到期时间内所有的聊天室消息发送失败,到期后IM后台自动解除聊天室消息禁言,解除后所有聊天室消息就能发送正常;对于永久全局聊天室禁言,全局聊天室消息禁言时间一直不过期。 注:全局禁言期间,该帐户包含 SDK 端和服务器端调接口发消息都是会发送失败 ==== 功能典型场景说明 ==== 随着监管机制对应用监管的逐渐加强,安全合规成了应用的生命线。环信 IM 提供全局禁言功能,帮助应用实现用户账号级别的禁言管理功能,在发现违规用户后,可通过该功能对需要禁言的用户进行全局禁言操作,维护应用内良好的内容生态环境。 * 发现某用户,频繁往多个聊天室发送违规广告,对该用户全局聊天室禁言 15 天; * 发现某用户,发表触犯红线的政治言论,先全局永久禁言,等用户申诉通过再解禁; ==== 功能范围说明 ==== * 支持设置帐号的单聊、群聊、聊天室消息全局禁言; * 支持查询(单个)帐号的单聊、群聊、聊天室消息全局禁言; * 支持查询 App Key 下所有账号的单聊、群聊、聊天室消息全局禁言。 ===== 接口功能说明 ===== ==== 设置用户全局禁言 ==== === 接口描述 === 设置单个帐号的单聊、群组、聊天室消息全局禁言。 === 基本信息 === 请求方法:POST 接入点: /{orgName}/{appName}/mutes === 路径参数 === | 参数 | 类型 | 是否必需 | 描述 | | orgName | String | 必需 | 您在环信管理后台创建的的公司或组织名称。 | | appName | String | 必需 | 您在环信管理后台创建的 APP 名称。 | === 请求参数说明 === |**字段**|**类型**|**是否必需**|**字段说明**| | username | string | 必需 |设置禁言配置的 username。| | chat | integer | 非必需 |单聊消息禁言时间,单位为秒,非负整数,最大值为 2147483647,`0` 表示取消该帐号的单聊消息禁言,`-1` 表示该帐号被设置永久禁言,其它值表示该帐号的具体禁言时间,负值为非法值。| | groupchat | integer | 非必需 |群组消息禁言时间,单位为秒,规则同上。| | chatroom | integer | 非必需 |聊天室消息禁言时间,单位为秒,规则同上。| === 请求头 === | 参数 | 类型 | 是否必需 | 描述 | | Authorization | String | 必需 | 鉴权 token,管理员 TOKEN(含)以上权限。 | === 响应体 === | 参数 | 类型 | 描述 | | result | String | `ok` 表示设置成功。 | === 请求示例 === curl -L -X POST 'https://a1.easemob.com/easemob-demo/testappkey/mutes' \ -H 'Authorization: Bearer {{token}}' \ -H 'Content-Type: application/json' \ --data-raw '{ "username": "zs1", "chat": 100, "groupchat": 100, "chatroom": 100 }' === 响应示例 === { "path": "/mutes", "uri": "https://a1.easemob.com/easemob-demo/testappkey/mutes", "timestamp": 1631609754727, "organization": "easemob-demo", "application": "357169f0-492a-11e9-9b3a-f1af649cc48d", "action": "post", "data": { "result": "ok" }, "duration": 74, "applicationName": "testappkey" } ==== 查询单个帐号全局禁言 ==== === 接口描述 === 查询单个用户的单聊/群聊/聊天室消息禁言 === 基本信息=== 方法:GET 接入点: /{orgName}/{appName}/mutes/username === 路径参数 === | 参数 | 类型 | 是否必需 | 描述 | | orgName | String | 必需 | 您在环信管理后台创建的的公司或组织名称。 | | appName | String | 必需 | 您在环信管理后台创建的 APP 名称。 | | username | String | 必需 | 查询禁言信息的用户名。 | === 请求头 === | 参数 | 类型 | 是否必需 | 描述 | | Content-Type | String | 必需 | `application/json` 内容类型。 | | Authorization | String | 必需 | 鉴权 Token,管理员 TOKEN (含)以上权限。 | === 响应体 === | 参数 | 类型 | 描述 | | userid | String | 设置禁言的账号 | | chat | Int | 单聊消息剩余禁言时长,单位为秒,非负整数。最大值为 2147483647,0表示取消该帐号的单聊消息禁言,-1 表示该帐号被设置永久禁言,其它值表示该帐号的具体禁言时间,负值为非法值。 | | groupchat | Int | 群组消息剩余禁言时长,单位为秒,规则同上。 | | chatroom | Int | 聊天室消息剩余禁言时长,单位为秒,规则同上。 | | unixtime | Int | 当前操作的 Unix 时间戳。 | === 请求示例 === curl -L -X GET 'https://a1.easemob.com/easemob-demo/testappkey/mutes/zs1' \ -H 'Authorization: Bearer {{token}}' \ -H 'Content-Type: application/json' === 响应示例 === { "path": "/mutes", "uri": "https://a1.easemob.com/easemob-demo/testappkey/mutes", "timestamp": 1631609831800, "organization": "easemob-demo", "application": "357169f0-492a-11e9-9b3a-f1af649cc48d", "action": "get", "data": { "userid": "easemob-demo#restys_zs1", "chat": 96, "groupchat": 96, "chatroom": 96, "unixtime": 1631609831 }, "duration": 13, "applicationName": "testappkey" } ==== 查询 APP KEY 的用户禁言 ==== === 接口描述 === 查询 App Key下的用户禁言剩余时间的集合。 === 基本信息 === 方法:GET 接入点: /{orgName}/{appName}/mutes === 路径参数 === | 参数 | 类型 | 是否必需 | 描述 | | orgName | String | 必需 | 您在环信管理后台创建的的公司或组织名称| | appName | String | 必需 | 您在环信管理后台创建的APP名称 | ### 请求头 | 参数 | 类型 | 是否必需 | 描述 | | Authorization | String | 必需 | 鉴权token,管理员TOKEN(含)以上权限 | === 请求体 === | 参数 | 类型 | 是否必需 | 说明描述 | | pageNum | Int | 必需 |请求查询第几页 | | pageSize | Int | 必需 | 请求查询分页查询的数量 | === 响应体 === | 参数 | 类型 | 描述 | | username | String | 设置禁言的用户名 | | chat | Int | 单聊消息剩余禁言时长,单位为秒,非负整数。最大值为2147483647,0表示取消该帐号的单聊消息禁言,-1表示该帐号被设置永久禁言,其它值表示该帐号的具体禁言时间,负值为非法值 | | groupchat | Int | 群组消息剩余禁言时长,单位为秒,规则同上 | | chatroom | Int | 聊天室消息剩余禁言时长,单位为秒,规则同上 | | unixtime | Int | 当前操作的unixtime时间戳 | === 请求示例 === curl -L -X GET 'https://a1.easemob.com/easemob-demo/testappkey/mutes?pageNum=1&pageSize=10' \ -H 'Authorization: Bearer {{token}}' \ -H 'Content-Type: application/json' === 响应示例 === { "path": "/mutes", "uri": "https://a1.easemob.com/easemob-demo/testappkey/mutes", "timestamp": 1631609858771, "organization": "easemob-demo", "application": "357169f0-492a-11e9-9b3a-f1af649cc48d", "action": "get", "data": { "data": [ { "username": "zs2", "chatroom": 0 }, { "username": "zs1", "groupchat": 69 }, { "username": "zs1", "chat": 69 }, { "username": "zs1", "chatroom": 69 }, { "username": "h2", "chatroom": 0 }, { "username": "h2", "groupchat": 0 }, { "username": "h2", "chat": 0 } ], "unixtime": 1631609858 }, "duration": 17, "applicationName": "testappkey" } === 响应码 === | 状态码 | 描述 | | 200 | 请求成功。 | | 400 | 请求参数错误,请根据返回提示检查。 | | 401 | 用户权限错误。 | | 403 | 服务未开通或权限不足。 | | 429 | 单位时间内请求过多。 | | 500 | 服务器内部错误。 |