====== 全局禁言 ======
更新时间: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 | 服务器内部错误。 |