文档中心
hybrid_hierarchical_delivery_system 超低延迟直播
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 超低延迟直播
  • 服务端 API
  • 房间信令接口
  • 用户封禁规则

服务端 API 版块于4月16日至5月15日升级维护,期间暂停信息更新,如有任何疑问,请联系ZEGO技术支持。

用户封禁规则

更新时间:2025-04-15 17:17

1 描述

ZEGO 服务端提供了一套 用户封禁规则 接口,当开发者需要从业务后台直接管理用户的登录、推流等权限时,可以通过设置相关的封禁规则(例如通过用户的 IP 地址、UserId 等信息),直接封禁对应的用户,从而实现违规用户不能登录某些房间、或登录房间后不能开麦等功能。

开发者还可以查询已存在的封禁规则、删除过期或不适用的封禁规则,更好地维护业务秩序,保护用户权益,提升产品体验。

如需使用该功能,请联系 ZEGO 技术支持开启相关权限。

2 接口原型

方法名 请求方法 传输协议 调用频率限制(同一个 AppID 下所有房间) 请求地址
设置用户封禁规则
GET
HTTPS
10 次/秒
https://rtc-api.zego.im/?Action=SetForbidUserRule
查询用户封禁规则
1 次/秒
https://rtc-api.zego.im/?Action=DescribeForbidUserRules
删除用户封禁规则
10 次/秒
https://rtc-api.zego.im/?Action=DelForbidUserRule

3 使用步骤

下文详细介绍 用户封禁规则 接口的请求参数配置、响应参数说明。

3.1 设置用户封禁规则

当开发者需要封禁某些用户时,需要先通过 SetForbidUserRule 设置对应的用户封禁规则。

3.1.1 请求参数及请求示例

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。

参数 类型 是否必选 描述
RuleType
Int32
是
封禁规则类型:

  • 1:通过 IP 地址封禁用户,最多可设置 100 条。
  • 2:通过 RoomId 封禁用户,最多可设置 200 条。
  • 3:通过 UserId 封禁用户,最多可设置 200 条。
  • 4:通过 RoomId 和 UserId 封禁用户,最多可设置 200 条。

其中,最多可设置的规则条数,指同时在有效期内的规则条数,不包含已失效的规则。

如果您不需要某些规则,请及时调用 删除用户封禁规则 接口进行清理。

IP
String
RuleType 取值为 1 时,该参数必填。
IP 地址。
RoomId
String
RuleType 取值为 2、4 时,该参数必填。
房间 ID。
UserId
String
RuleType 取值为 3、4 时,该参数必填。
用户 ID。
DisabledPrivilege[]
Array of Int32
是
封禁用户所能使用的功能:

  • 1:登录。
  • 2:推流。
EffectiveTime
Int64
是
封禁规则有效时长,单位:秒,取值范围 1 ~ 86400(1 天)。

参数配置举例:

  • 假设需要封禁的用户是 user1,未登录房间 room1:

    • RuleType 取值为 1、DisabledPrivilege[] 取值为 1 时,表示该 IP 地址对应的用户无法登录任何房间。
    • RuleType 取值为 2、DisabledPrivilege[] 取值为 1 时,表示任何用户都无法登录 room1。
    • RuleType 取值为 3、DisabledPrivilege[] 取值为 2 时,表示 user1 可以正常登录到任何房间,但无法在任何房间内推流。
    • RuleType 取值为 4、DisabledPrivilege[] 取值为 2 时,表示 user1 可以正常登录到 room1,但无法在 room1 内推流。
  • 假设需要封禁的用户是 user1,且已登录房间 room1,无论 RuleType 取值如何:

    • DisabledPrivilege[] 取值为 1 或 1&2 时,user1 仍在 room1 内、但无法正常推流,需要调用 踢出房间用户 接口踢出用户。
    • DisabledPrivilege[] 取值为 2 时,user1 无法在 room1 内推流。
https://rtc-api.zego.im/?Action=SetForbidUserRule
&RuleType=2
&RoomId=room1
&DisabledPrivilege[]=1&DisabledPrivilege[]=2
&EffectiveTime=1800
&<公共请求参数>

3.1.2 响应参数及响应示例

参数 类型 描述
Code
Int32
返回码。
Message
String
操作结果描述。
RequestId
String
请求 ID。
Data
Object
响应数据。
ExpireTime
Int64
封禁规则的过期时间,Unix 时间戳,单位:秒。
{
    "Code": 0,
    "Message": "success",
    "RequestId": "TestRequestId1675674022729915000",
    "Data": {
        "ExpireTime": 1704282648
    }
}
  • 响应结果中,Code 为 0 表示设置成功,不为 0 表示设置失败,请参考 4 返回码 进行处理。
  • 设置成功后,您可以 查询用户封禁规则 或 删除用户封禁规则。

3.2 查询用户封禁规则

设置规则成功后,通过 DescribeForbidUserRules 了解当前已存在的用户封禁规则。

调用 DescribeForbidUserRules 接口,可以查询到当前处于有效期内的规则,也可以查询到已失效的规则。请注意,ZEGO 会不定期清理数据库中的已失效的封禁规则,调用本接口查询得到的失效规则列表可能不完整。

3.2.1 请求参数及请求示例

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。

参数 类型 是否必选 描述
RuleType
Int32
是
需要查询的封禁规则类型:

  • 1:通过 IP 地址封禁用户。
  • 2:通过 RoomId 封禁用户。
  • 3:通过 UserId 封禁用户。
  • 4:通过 RoomId 和 UserId 封禁用户。
https://rtc-api.zego.im/?Action=DescribeForbidUserRules
&RuleType=2
&<公共请求参数>

3.2.2 响应参数及响应示例

参数 类型 描述
Code
Int32
返回码。
Message
String
操作结果描述。
RequestId
String
请求 ID。
Data
Object
响应数据。
RuleList
Array of Object
用户封禁规则列表。
RuleType
Int32
封禁规则类型:

  • 1:通过 IP 地址封禁用户。
  • 2:通过 RoomId 封禁用户。
  • 3:通过 UserId 封禁用户。
  • 4:通过 RoomId 和 UserId 封禁用户。
IP
String
IP 地址。RuleType 为 1 时,该参数有值。
RoomId
String
房间 ID。RuleType 为 2、4 时,该参数有值。
UserId
String
用户 ID。RuleType 为 3、4 时,该参数有值。
DisabledPrivilegeList
Array of Int32
规则封禁用户所能使用的功能:

  • 1:登录
  • 2:推流
ExpireTime
Int64
用户封禁规则的过期时间,Unix 时间戳,单位:秒。
{
    "Code": 0,
    "Message": "success",
    "RequestId": "TestRequestId1675674022729915000",
    "Data": {
        "RuleList": [
            {
                "RuleType": 2,
                "IP": "",
                "RoomId": "room1",
                "UserId": "",
                "DisabledPrivilegeList": [
                    1,
                    2
                ],
                "ExpireTime": 1704282648
            },
            {
                "RuleType": 2,
                "IP": "",
                "RoomId": "room2",
                "UserId": "",
                "DisabledPrivilegeList": [
                    1
                ],
                "ExpireTime": 1704282648
            }
        ]
    }
}

响应结果中,Code 为 0 表示查询成功,不为 0 表示查询失败,请参考 4 返回码 进行处理。

3.3 删除用户封禁规则

当某些用户封禁规则失效、无用或规则总条数超过上限时,可以通过 DelForbidUserRule 删除用户封禁规则。

每个 RuleType 所支持设置的最大条数限制不同,如果您不需要某些规则,请及时调用本接口进行清理。此外,ZEGO 也会不定期清理数据库中的已失效的封禁规则。

3.3.1 请求参数及请求示例

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。

参数 类型 是否必选 描述
RuleType
Int32
是
所需删除的封禁规则类型:

  • 1:通过 IP 地址封禁用户。
  • 2:通过 RoomId 封禁用户。
  • 3:通过 UserId 封禁用户。
  • 4:通过 RoomId 和 UserId 封禁用户。
IP
String
RuleType 取值为 1 时,该参数必填。
IP 地址。
RoomId
String
RuleType 取值为 2、4 时,该参数必填。
房间 ID。
UserId
String
RuleType 取值为 3、4 时,该参数必填。
用户 ID。
https://rtc-api.zego.im/?Action=DelForbidUserRule
&RuleType=2
&RoomId=room1
&<公共请求参数>

3.3.2 响应参数及响应示例

参数 类型 描述
Code
Int32
返回码。
Message
String
操作结果描述。
RequestId
String
请求 ID。
{
    "Code": 0,
    "Message": "success",
    "RequestId": "TestRequestId1675674022729915000"
}
  • 响应结果中,Code 为 0 表示删除成功,不为 0 表示删除失败,请参考 4 返回码 进行处理。
  • 您也可以通过 查询用户封禁规则 查看对应的用户封禁规则是否删除成功。

4 返回码

以下仅列出了常见的接口业务逻辑相关的返回码,完整返回码请参考 全局返回码。

返回码 说明 处理建议
0 请求成功。 -
1 请求失败。 请联系 ZEGO 技术支持处理。
2 输入参数错误。 -
9 未开通当前接口的使用权限。 请联系 ZEGO 技术支持处理。
206 App 请求 QPS 过高被限制。 降低请求频率,或联系 ZEGO 技术支持提高 QPS 限制阈值。
50123 当前处于有效期内的封禁规则条数超过限制。 请减少规则条数。
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈