IM 即时通讯
服务端
更新日志
服务端集成新手指南
接口及业务限制
平台服务
第三方回调
第三方回调概述
消息相关回调
用户信息相关回调
高级群相关回调
超大群相关回调
聊天室相关回调
音视频1.0相关回调
IM 登录相关回调
圈组相关回调
消息抄送
消息抄送服务概述
开通消息抄送
IM会话相关抄送
IM 会话已读数据抄送
IM其他抄送
圈组相关抄送
音视频和白板相关抄送
安全通
安全通概述
开通 IM 安全通
最佳实践
聊天室重要消息投递
IM 平滑迁移方案
API 参考
API调用方式
API 概览与频控
状态码/错误码
云信 IM 账号管理
注册云信IM账号
刷新Token
封禁账号
账号全局禁言
账号功能模块禁言
设置移动端是否需要推送(桌面端在线时)
登录鉴权
消息功能
发送消息
批量发送单聊消息
发送单聊已读回执
发送群聊已读回执
消息撤回
发送广播消息
文件上传
删除单条消息
删除漫游消息
历史消息与记录
云端历史消息查询
广播消息查询
IM 登录/登出记录查询
自定义系统通知
发送自定义系统通知
批量发送自定义系统通知
用户名片
用户关系管理
好友关系管理
黑名单/静音管理
群组
高级群
创建高级群
拉人入群
发送群消息
添加管理员
移除管理员
转让群主
禁言群组
禁言指定群成员
踢人出群
主动退群
修改群昵称
修改群组信息
设置群消息提醒开关
解散群组
获取群组详细信息
获取群组禁言列表
获取群消息已读未读详情
获取用户已加入的群组信息
获取用户已加入的群组的所有群成员信息
获取群组的在线成员列表
批量获取群组信息与成员列表
批量获取群组的在线成员数量
超大群
创建超大群
拉人入群
发送超大群消息
发送超大群自定义系统通知
撤回超大群消息
添加管理员
移除管理员
转让群主
禁言超大群
禁言指定超大群成员
踢人出群
主动退群
修改超大群昵称
修改超大群信息
修改超大群成员信息
解散超大群
修改超大群人数级别
获取超大群信息
获取超大群成员信息
获取超大群禁言成员信息
获取已加入的超大群信息
查询超大群云端历史消息
聊天室
创建聊天室
获取聊天室地址
更新聊天室信息
查询聊天室信息
开放/关闭聊天室
查询开放状态的聊天室
设置聊天室定时关闭
开启/关闭进出聊天室事件通知
管理聊天室用户角色
获取聊天室成员列表
聊天室消息管理
发送聊天室消息
批量发送聊天室消息
撤回聊天室消息
发送聊天室定向消息
批量发送聊天室定向消息
发送聊天室全服广播消息
管理聊天室机器人
聊天室禁言
聊天室标签
管理聊天室队列
管理聊天室队列元素
圈组
圈组 API 概览
获取圈组连接地址
服务器相关
创建服务器
修改服务器信息
删除服务器
批量查询服务器信息
分页查询服务器列表
服务器成员相关
邀请服务器成员
接受邀请
拒绝邀请
申请加入服务器
接受申请
拒绝申请
生成邀请码
通过邀请码加入
踢出成员
主动退出服务器
修改自己的成员信息
修改他人的成员信息
分页查询服务器成员列表
批量查询服务器成员信息
查询服务器的申请和邀请记录
查询个人的申请和邀请记录
更新成员封禁状态
分页查询封禁成员列表
频道相关
创建频道
修改频道基础信息
修改频道分组相关信息
删除频道
分页查询频道列表
批量查询频道信息
分页查询频道成员列表
修改频道黑白名单成员
修改频道黑白名单身份组
分页查询频道黑白名单成员列表
分页查询频道黑白名单身份组列表
批量查询频道黑白名单成员
批量查询频道黑白名单身份组
频道分组相关
创建频道分组
修改频道分组信息
删除频道分组
批量查询频道分组信息
分页查询频道分组列表
分页查询频道分组下的频道列表
修改频道分组黑白名单身份组
修改频道分组黑白名单成员
分页查询频道分组的黑白名单身份组列表
分页查询频道分组的黑白名单成员列表
批量查询频道分组的黑白名单身份组
批量查询频道分组的黑白名单成员
身份组相关
服务器身份组
身份组成员管理
频道身份组
频道用户定制权限
频道分组身份组
频道分组用户定制权限
身份组自定义权限项
查询用户拥有的权限
圈组消息相关
发送消息
更新消息
查询云端历史消息
查询 Thread 聊天历史
批量查询Thread聊天meta 信息
更新快捷评论
查询快捷评论
查询@某人的未读消息
系统通知相关
圈组系统通知概述
发送自定义系统通知
更新自定义系统通知
搜索结果自定义排序
修改服务器自定义排序值
修改频道自定义排序值
在线状态订阅
文本翻译
推送payload配置

身份组自定义权限项

更新时间: 2023/02/10 16:04:00

云信本身已提供较为完善的原子化权限,可供开发者调用实现基础的权限管控诉求。但不同行业的产品或同一产品的不同场景,对于用户权限管控的业务需求各有差异。因此云信圈组提供了创建自定义权限项的接口,帮助开发者快速实现符合自身需求的权限管控能力。

使用场景

  • 自定义权限适用于如下业务场景:

    • 拓展圈组现有权限

      以消息相关权限为例。目前身份组虽然提供了发送消息的基础权限,但仍无法满足关于消息类型发送限制的能力。通过自定义权限,应用层可自定义如文字、图片、地理位置、语音消息、表情等消息体的发送权限。

    • 增加圈组权限类型

      针对类贴吧微博等非即时通讯频道,通过自定义权限,应用层可设置发帖、评论等行为权限,保持权限的一致性。

    • 减少开发者的维护成本

      云信提供新建、查询、计算等一系列的权限管理能力,应用层不需要独立维护权限,一个接口解决所有权限管控问题。

  • 典型使用案例:

    • 通过自定义权限接口新建发送文字消息的权限、发送图片消息权限等不同消息类型的发送权限。然后在不同身份组中开启相应的权限,实现根据不同的身份组给予不同用户发送不同消息类型的权限。例如身份组A 的成员只能发送文字消息,身份组B 的成员只能发送文本和图片消息,身份组B 的成员可发送文字、图片、语音、自定义表情包等所有消息类型。

    • 通过自定义权限接口创建“禁言成员”权限,在应用上层自行实现相应逻辑,使拥有该权限的用户可对频道内其他用户设置禁言时间与禁言效果。

前提条件

已登录圈组。

实现流程

客户端通过增加自定义权限项进行用户操作管控的具体实现流程,请参见:

API 参考

创建自定义权限

创建身份组自定义权限。

URL

POST  http://api.netease.im/nimserver/qchat/createCustomAuth.action  HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

请求参数

  • POST 请求中 Headers 的设置请参考API调用方式

  • POST 请求中 Body 的设置如下:

参数
类型
是否必填 说明
authBit Integer 自定义权限项,必须大于或等于 10000,示例:10005 authBit值不能重复使用。换而言之,相同的 authBit 值只能给一个自定义权限项使用(注:删除自定义权限项之后,其 authBit 值仍不能二次使用)。
authDesc String 自定义权限项的描述
authType Integer 自定义权限项的类型:0-服务器和频道都有的权限项,1-仅服务器有的权限项
defaultRight Integer 自定义权限的默认状态:-1-关闭(身份组成员无该权限),1-开启(身份组成员有该权限)

示例

cURL请求示例
curl -X POST -H "AppKey: go9dnk49**0803mgq3" -H "Nonce: 4tg**23t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'authBit=10000&authDesc=权限描述&authType=0&defaultRight=0' 'http://api.netease.im/nimserver/qchat/createCustomAuth.action'
请求成功返回示例
"Content-Type": "application/json; charset=utf-8"
{
    "code": 200,
}
请求失败返回示例
"Content-Type": "application/json; charset=utf-8"
{
"code": 414,
"desc": "invalid authBit"  //权限值不合法
}

状态码

该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。全量状态码说明,请参见状态码

状态码 说明 处理建议
414 权限值不合法 请确保 authBit 为大于或等于 10000 的整形数据
417 权限值被占用 替换 authBit 的值,重新调用 API authBit的值,只能被使用一次。即使将某个自定义权限删除,其用过的 authBit 值也不能被其他自定义权限使用。
419 权限数量超出上限 单个应用最多可创建 30 个自定义权限

删除自定义权限项

删除某个自定义权限项。

URL

POST  http://api.netease.im/nimserver/qchat/deleteCustomAuth.action  HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

请求参数

  • POST 请求中 Headers 的设置请参考API调用方式

  • POST 请求中 Body 的设置如下:

参数
类型
是否必填 说明
authBit Integer 自定义权限项

示例

cURL请求示例
curl -X POST -H "AppKey: go9dnk4**1kglw0803mgq3" -H "Nonce: 4tggg**23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'authBit:10000' 'http://api.netease.im/nimserver/qchat/deleteCustomAuth.action'
请求成功返回示例
"Content-Type": "application/json; charset=utf-8"
{
    "code": 200
}

该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。全量状态码说明,请参见状态码

状态码 说明 处理建议
414 参数错误 检查传入的 authBit 是否合法或者不存在

查询所有自定义权限

查询当前应用所有现存的身份组自定义权限项(本接口无请求参数)。

URL

POST  http://api.netease.im/nimserver/qchat/listAllCustomAuth.action  HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

示例

cURL请求示例
curl -X POST -H "AppKey: go9dnk**0803mgq3" -H "Nonce: 4tgggerg**t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded"  'http://api.netease.im/nimserver/qchat/listAllCustomAuth.action'
请求成功返回示例
"Content-Type": "application/json; charset=utf-8"
{
    "code": 200,
    "customAuthList": [
        {
            "authBit": 10000,
            "authType": 0,
            "authDesc": "",
            "defaultRight": "1",
            "createTime": 0,
            "updateTime": 0
        }
    ]
}

状态码

该接口在 HTTPS Body 中返回请求的状态码,状态码说明请参见状态码

查询自定义权限项列表

通过传入自定义权限项的 authBit 值的集合(JSON Array),查询这些权限项的信息,包括自定义权限项类型、自定义权限项描述、更新时间等。

URL

POST  http://api.netease.im/nimserver/qchat/listCustomAuthByAuthBits.action  HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

请求参数

参数
类型
是否必填 说明
authBits String 权限集合(JSON Array),示例:authBits=[10000, 10001, 10002, 10003]

返回参数

参数
类型
说明
authBit Integer 自定义权限项
authType Integer 自定义权限项的类型:0-服务器和频道都有的权限,1-仅服务器有的权限
authDesc String 自定义权限项的描述
defaultRight Integer 自定义权限项的默认状态:-1-关闭(身份组成员无该权限),1-开启(身份组成员有该权限)
updateTIme Long 自定义权限项的状态的更新时间

示例

cURL请求示例
curl -X POST -H "AppKey: go9dnk4**03mgq3" -H "Nonce: 4tggg**3t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'authBit=[10000, 10001, 10002, 10003]' 'http://api.netease.im/nimserver/qchat/listCustomAuthByAuthBits.action'
请求成功返回示例
"Content-Type": "application/json; charset=utf-8"
{
    "code": 200,
    "customAuthList": [
        {
            "authBit": 10001,
            "authType": 0,
            "authDesc": "自定义权限项的描述",
            "createTime": 0,
            "defaultRight": "1",
            "updateTime": 0
        }
    ]
}

状态码

该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。全量状态码说明,请参见状态码

状态码 说明 处理建议
414 参数错误 检查传入的 authBits 是否合法
此文档是否对你有帮助?
有帮助
我要吐槽
  • 使用场景
  • 前提条件
  • 实现流程
  • API 参考
  • 创建自定义权限
  • URL
  • 请求参数
  • 示例
  • 状态码
  • 删除自定义权限项
  • URL
  • 请求参数
  • 示例
  • 查询所有自定义权限
  • URL
  • 示例
  • 状态码
  • 查询自定义权限项列表
  • URL
  • 请求参数
  • 返回参数
  • 示例
  • 状态码