将用户或机器人拉入群聊
把指定的用户或机器人拉入指定群聊内。
前提条件
使用限制
- 外部租户不能被拉入内部群,但可以被拉入外部群。通过机器人拉外部租户的用户进群,需要先为机器人配置对外共享能力,详情参考机器人支持外部群和外部用户单聊。
- 操作内部群时,当前操作者必须与群组在同一租户内。
- 如果群组配置了 仅群主和群管理员可添加群成员,则仅有群主、群管理员,或者是创建群组且具有 更新应用所创建群的群信息(im:chat:operate_as_owner) 权限的机器人,可以拉用户或机器人进群。
- 如果群组没有配置 仅群主和群管理员可添加群成员,则所有群成员都可以拉用户或机器人进群。
- 操作同一个群组时,如果同时多次调用当前接口,可能会出现 232019 错误码,建议你串行调用,即等待当前调用完成后再进行下一次调用。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/im/v1/chats/:chat_id/members |
| HTTP Method | POST |
| 接口频率限制 | 1000 次/分钟、50 次/秒 |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | im:chat 获取与更新群组信息 im:chat.members:write_only 添加、移除群成员 |
| 字段权限要求 | > Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:user.employee_id:readonly 获取用户 user ID |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 或 user_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
路径参数
| 名称 | 类型 | 描述 |
|---|---|---|
chat_id | string | 群 ID。获取方式: - 创建群,从返回结果中获取该群的 chat_id。 - 调用获取用户或机器人所在的群列表接口,可以查询用户或机器人所在群的 chat_id。 - 调用搜索对用户或机器人可见的群列表,可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。 注意:仅支持群模式为 群组(group)、话题(topic) 的群组 ID。你可以调用获取群信息接口,在返回结果中查看 chat_mode 参数取值是否为 group、topic。示例值:"oc_a0553eda9014c201e6969b478895c230" |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
member_id_type | string | 否 | 用户 ID 类型 示例值:open_id 可选值有: - open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:如何获取 Open ID? - union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:如何获取 Union ID? - user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。了解更多:如何获取 User ID? - app_id: 飞书开放平台应用的唯一标识。在创建应用时,由系统自动生成,用户不能自行修改。了解更多:如何获取应用的 App ID?默认值: open_id当值为 user_id,字段权限要求: contact:user.employee_id:readonly 获取用户 user ID |
succeed_type | int | 否 | 出现不可用ID后的处理方式 0/1/2 默认值: 0示例值:0 可选值有: - 0: 不存在/不可见的 ID 会拉群失败,并返回错误响应。存在已离职 ID 时,会将其他可用 ID 拉入群聊,返回拉群成功的响应。 - 1: 将参数中可用的 ID 全部拉入群聊,返回拉群成功的响应,并展示剩余不可用的 ID 及原因。 - 2: 参数中只要存在任一不可用的 ID ,就会拉群失败,返回错误响应,并展示出不可用的 ID。 |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
id_list | string\[\] | 否 | 成员 ID 列表。 - 邀请用户进群时推荐使用 OpenID,获取方式可参考文档如何获取 Open ID? - 邀请机器人进群时需填写应用的 App ID,请参考如何获取应用的 App ID? 注意: - 成员列表不可为空 - 列表中填写的成员 ID 类型应与 ==member_id_type== 参数中选择的类型相对应 - 每次请求最多拉 50 个用户且不超过群人数上限。对于已认证企业的飞书的群人数默认上限:普通群 5000 人,会议群 3000 人,话题群 5000 人。若租户管理员配置了群人数上限,则群人数上限为该人数上限 - 最多同时邀请 5 个机器人,且邀请后群组中机器人数量不能超过 15 个 示例值:["4d7a3c6g"] |
请求体示例
json
{
"id_list": [
"4d7a3c6g"
]
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ invalid_id_list | string\[\] | 无效成员列表 注意: - 当 success_type 取值为 0时,invalid_id_list只包含已离职的用户ID - 当success_type 取值为 1时,invalid_id_list中包含已离职的、不可见的、应用未激活的 ID |
└ not_existed_id_list | string\[\] | ID 不存在的成员列表 |
└ pending_approval_id_list | string\[\] | 等待群主或管理员审批的成员 ID 列表 |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"invalid_id_list": [
"4d7a3c6g"
],
"not_existed_id_list": [
"4d7a3c6g"
],
"pending_approval_id_list": [
"4d7a3c6g"
]
}
}错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 232001 | Your request contains an invalid request parameter. | 参数错误,参考接口文档提供的参数描述,检查输入参数是否有误。 |
| 400 | 232004 | Such an app does NOT exist. | 作为操作者的 app_id 不存在,请联系技术支持。 |
| 400 | 232006 | Your request specifies a chat_id which is invalid. | 无效的 chat_id,请检查 chat_id 是否正确。获取方式: - 创建群,从返回结果中获取该群的 chat_id。 - 调用获取用户或机器人所在的群列表接口,可以查询用户或机器人所在群的 chat_id。 - 调用搜索对用户或机器人可见的群列表,可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。 |
| 400 | 232009 | Your request specifies a chat which has already been dissolved. | 群组已被解散,无法操作。 |
| 400 | 232010 | Operator and chat can NOT be in different tenants. | 调用接口的操作者和被操作的群组不在同一租户下,无法操作。需确保当前的操作者和被操作的群组在同一租户下。 |
| 400 | 232011 | Operator can NOT be out of the chat. | 调用接口的操作者不在群组内,无法操作。你需要将当前调用 API 的应用或用户加入待操作的群组后重试。 |
| 400 | 232013 | You have reached the limit of maximum number of members a chat can have. | 加入群组时,群成员数量已达到上限。对于已认证企业的飞书的群人数默认上限:普通群 5000 人,会议群 3000 人,话题群 5000 人。 |
| 400 | 232017 | No Permission: If the operator is NOT owner or creator with the scope, the operator can NOT complete the request. | 当前的操作者在群中不具备群主、群管理员、群创建者身份,无法完成本操作。解决方案: - 方案一:调用指定群管理员接口,将当前操作者置为群管理员,然后重试。 - 方案二:在 飞书客户端 > 群组 > 设置 > 群管理 中,将 谁可以添加群成员、分享群 设置为 所有群成员,然后重试。 |
| 400 | 232019 | The request has been rate limited. | 触发群限流,请控制请求的速度,详情参见频控策略。 说明:调用将用户或机器人拉入群聊和将用户或机器人移出群聊接口操作同一个群组时,如果同时多次调用接口,可能会出现当前报错,建议你串行调用,即等待当前调用完成后再进行下一次调用。 |
| 400 | 232024 | Users do not have the visibility of the app, or the operator does not have collaboration permissions with the target users. | 机器人对用户没有可见性,或操作者与用户间没有协作权限。 - 如果是机器人对用户没有可见性,需要在开发者后台 > 应用详情页 > 应用发布 > 版本管理与发布 编辑应用对用户的可见性并发布应用。具体操作参考配置应用可用范围。 - 如果是操作者与用户之间没有协作权限,请检查是否与目标用户有协作权限,如屏蔽、未添加为联系人等。 |
| 400 | 232025 | Bot ability is not activated. | 应用未启用机器人能力。你需要登录开发者后台,在应用详情页的 应用能力 > 添加应用能力 页面内,添加 机器人 能力,并发布应用使配置生效。具体操作参见机器人能力。 |
| 400 | 232027 | There are no valid members in the ID list specified in your request. | 成员 ID 列表为空或不存在有效的成员。 |
| 400 | 232028 | External members can Not be added to an internal group chat. | 外部租户成员不能被加入内部群。 |
| 400 | 232033 | The operator or invited bots does NOT have the authority to manage external chats without the scope. | 没有权限操作外部群。 |
| 400 | 232034 | The app is unavailable or inactivated by the tenant. | 应用在本租户下未安装或未启用。需要先安装应用,再使用应用调用接口。 |
| 400 | 232043 | Your request contains unavailable ids. | 请检查传入的 ID 列表,确保传入正确的 ID。 |
| 400 | 232044 | You have reached maximum number of chat members set by admin. | 群成员人数已达到企业管理员配置的上限,如需提高上限请向企业管理员申请。详情参见管理员设置群成员人数上限。 |
| 400 | 232090 | Unsupported chat type. | 不支持的群类型,无法完成本操作。 |
| 400 | 99992351 | these open ids not existed: %v | open_id 无效,请参考报错信息中的提示修改参数后重试。open_id 格式为 ou_ 开头的字符串,获取方式如下: - 方式一:通过 API 调试台 手动获取用户 open_id 1. 找到任一查询参数是 user_id_type 的接口,例如通过手机号或邮箱获取用户 ID。 2. 进入 查询参数 页签,将 user_id_type 设置为 open_id,然后点击 选择成员。 3. 在组织架构中选择指定用户,并点击 复制成员 ID,获取用户的 open_id。 - 方式二:调用通过手机号或邮箱获取用户 ID接口获取 1. 应用需要申请 通过手机号或邮箱获取用户 ID 权限(contact:user.id:readonly) 权限。 2. 查询参数 user_id_type 设置为 open_id。 3. 传入用户的手机号码或者邮箱地址。 4. 发送请求,在返回结果中获取用户的 open_id。 注意:该接口返回参数 user_id 的值与查询参数 user_id_type 的取值相匹配。例如,user_id_type 取值为 open_id,则返回参数 user_id 实际值是用户的 open_id。 相关文档参见如何获取 Open ID。 |
| 400 | 99992360 | Your request contains not existed id. | 部分 user_id 不存在,请检查后重试。 |
| 400 | 99992364 | Your request contains not existed id. | 部分 union_id 不存在,请检查后重试。 |
更多错误码信息,参见通用错误码。

3. 在组织架构中选择指定用户,并点击 复制成员 ID,获取用户的 open_id。
- 方式二:调用