@larksuiteoapi/lark-mcp
Version:
Feishu/Lark OpenAPI MCP
972 lines • 163 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.contactV3UnitBindDepartment = exports.contactV3ScopeList = exports.contactV3JobTitleList = exports.contactV3JobTitleGet = exports.contactV3JobLevelUpdate = exports.contactV3JobLevelList = exports.contactV3JobLevelGet = exports.contactV3JobLevelDelete = exports.contactV3JobLevelCreate = exports.contactV3JobFamilyUpdate = exports.contactV3JobFamilyList = exports.contactV3JobFamilyGet = exports.contactV3JobFamilyDelete = exports.contactV3JobFamilyCreate = exports.contactV3GroupSimplelist = exports.contactV3GroupPatch = exports.contactV3GroupMemberSimplelist = exports.contactV3GroupMemberRemove = exports.contactV3GroupMemberBatchRemove = exports.contactV3GroupMemberBatchAdd = exports.contactV3GroupMemberAdd = exports.contactV3GroupMemberBelong = exports.contactV3GroupGet = exports.contactV3GroupDelete = exports.contactV3GroupCreate = exports.contactV3FunctionalRoleUpdate = exports.contactV3FunctionalRoleMemberScopes = exports.contactV3FunctionalRoleMemberList = exports.contactV3FunctionalRoleMemberGet = exports.contactV3FunctionalRoleMemberBatchDelete = exports.contactV3FunctionalRoleMemberBatchCreate = exports.contactV3FunctionalRoleDelete = exports.contactV3FunctionalRoleCreate = exports.contactV3EmployeeTypeEnumUpdate = exports.contactV3EmployeeTypeEnumList = exports.contactV3EmployeeTypeEnumDelete = exports.contactV3EmployeeTypeEnumCreate = exports.contactV3DepartmentUpdateDepartmentId = exports.contactV3DepartmentUpdate = exports.contactV3DepartmentUnbindDepartmentChat = exports.contactV3DepartmentSearch = exports.contactV3DepartmentPatch = exports.contactV3DepartmentParent = exports.contactV3DepartmentList = exports.contactV3DepartmentGet = exports.contactV3DepartmentDelete = exports.contactV3DepartmentCreate = exports.contactV3DepartmentChildren = exports.contactV3DepartmentBatch = exports.contactV3CustomAttrList = void 0;
exports.contactV3Tools = exports.contactV3WorkCityList = exports.contactV3WorkCityGet = exports.contactV3UserUpdateUserId = exports.contactV3UserUpdate = exports.contactV3UserResurrect = exports.contactV3UserPatch = exports.contactV3UserList = exports.contactV3UserGet = exports.contactV3UserFindByDepartment = exports.contactV3UserDelete = exports.contactV3UserCreate = exports.contactV3UserBatchGetId = exports.contactV3UserBatch = exports.contactV3UnitUnbindDepartment = exports.contactV3UnitPatch = exports.contactV3UnitListDepartment = exports.contactV3UnitList = exports.contactV3UnitGet = exports.contactV3UnitDelete = exports.contactV3UnitCreate = void 0;
const zod_1 = require("zod");
exports.contactV3CustomAttrList = {
project: 'contact',
name: 'contact.v3.customAttr.list',
sdkName: 'contact.v3.customAttr.list',
path: '/open-apis/contact/v3/custom_attrs',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-自定义用户字段-获取企业自定义用户字段-调用该接口查询当前企业内自定义用户字段的配置信息',
accessTokens: ['tenant'],
schema: {
params: zod_1.z
.object({
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求所返回的数据条目数').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
})
.optional(),
},
};
exports.contactV3DepartmentBatch = {
project: 'contact',
name: 'contact.v3.department.batch',
sdkName: 'contact.v3.department.batch',
path: '/open-apis/contact/v3/departments/batch',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-部门-批量获取部门信息-调用该接口获取一个或多个部门的信息,包括部门名称、ID、父部门、负责人、状态以及成员个数等',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z.object({
department_ids: zod_1.z
.array(zod_1.z.string())
.describe('部门 ID,ID 类型需要与查询参数 department_id_type 的取值保持一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询。**注意:**- 单次最大请求的 ID 数量为 50。- 如需一次查询多个部门,可将同一参数名多次传递,并且每次传递不同的部门 ID 进行查询。GET 请求示例:`https://{url}?department_ids={department_id1}&department_ids={department_id2}`。其中: - `department_ids` 是参数名,可以多次传递。 - `department_id1`和`department_id2`是不同的参数值'),
department_id_type: zod_1.z
.enum(['open_department_id', 'department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。),department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。)')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.contactV3DepartmentChildren = {
project: 'contact',
name: 'contact.v3.department.children',
sdkName: 'contact.v3.department.children',
path: '/open-apis/contact/v3/departments/:department_id/children',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-部门-获取子部门列表-调用该接口查询指定部门下的子部门列表,列表内包含部门的名称、ID、父部门、负责人以及状态等信息',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
fetch_child: zod_1.z
.boolean()
.describe('是否递归获取子部门。取值为 true 时,接口会递归查询当前部门下所有层级的子部门信息。**可选值有:**- true:是- false(默认值):否')
.optional(),
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求所返回的数据条目数').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
})
.optional(),
path: zod_1.z.object({
department_id: zod_1.z
.string()
.describe('部门 ID。**说明:**- ID 类型需要与查询参数 department_id_type 的取值保持一致。- 当你在创建部门时,可从返回结果中获取到部门 ID 信息,你也可以调用[搜索部门]接口,获取所需的部门 ID。- 根部门的部门 ID 为 0'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.contactV3DepartmentCreate = {
project: 'contact',
name: 'contact.v3.department.create',
sdkName: 'contact.v3.department.create',
path: '/open-apis/contact/v3/departments',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-部门-创建部门-调用该接口在通讯录内创建一个部门',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z.string().describe('部门名称。**注意**:- 不可包含斜杠(`/`)。- 不能与存量部门名称重复'),
i18n_name: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('部门的中文名').optional(),
ja_jp: zod_1.z.string().describe('部门的日文名').optional(),
en_us: zod_1.z.string().describe('部门的英文名').optional(),
})
.describe('部门名称的国际化配置。**注意**:- 不可包含斜杠(`/`)。- 不能与存量部门名称的国际化配置重复。**默认值**:空')
.optional(),
parent_department_id: zod_1.z
.string()
.describe('父部门的 ID,ID 类型与查询参数的 department_id_type 取值一致。部门 ID 获取方式:- 如果当前是在根部门下创建部门,则该参数值为 `0`。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询'),
department_id: zod_1.z
.string()
.describe('自定义部门 ID。**注意**:- 不能以 `od-` 开头。- 不能设置为 `0`、`1`。**默认值**:空,表示由系统自动生成 ID')
.optional(),
leader_user_id: zod_1.z
.string()
.describe('部门主管的用户 ID。ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]。**默认值**:空')
.optional(),
order: zod_1.z
.string()
.describe('部门的排序,即部门在其同级部门的展示顺序。取值格式为 String 类型的非负整数,数值越小,排序越靠前。**注意**:order 值唯一,即传入的值不能与存量部门的 order 值重复。因此创建部门时,建议你规划好同级部门的排序,按顺序设置不同的 order 值。**默认值**:空,默认情况下新建的部门排在存量部门之后')
.optional(),
unit_ids: zod_1.z
.array(zod_1.z.string().describe('部门单位自定义ID'))
.describe('部门绑定的单位自定义 ID 列表,当前只支持绑定一个单位。- 了解单位信息参见[资源介绍]。- 调用[获取单位列表]接口,可获取单位 ID。**默认值**:空')
.optional(),
create_group_chat: zod_1.z
.boolean()
.describe('是否创建部门群。 **可选值有:**- true:创建- false(默认值):不创建**说明**:创建部门群时,群名默认为部门名,群主默认为部门主负责人')
.optional(),
leaders: zod_1.z
.array(zod_1.z.object({
leaderType: zod_1.z.number().describe('负责人类型。 Options:1(main 主负责人),2(deputy 副负责人)'),
leaderID: zod_1.z
.string()
.describe('负责人的用户 ID,ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]'),
}))
.describe('部门负责人信息。**注意**:- 配置该参数时,必须指定一名主负责人。- 设置多名负责人时,仅支持将某一负责人设置为主负责人。- 如果同时设置了部门主管(leader_user_id),则此处设置的部门主负责人必须与部门主管为同一个人。**默认值**:空')
.optional(),
group_chat_employee_types: zod_1.z
.array(zod_1.z.number().describe('雇员类型'))
.describe('部门群的人员类型限制。人员类型的取值范围如下。该参数支持设置多个类型值,若有多个,用英文 `,` 分隔:- 1:正式员工- 2:实习生- 3:外包- 4:劳务- 5:顾问该参数支持传入自定义人员类型对应的编号。你可以调用[查询人员类型]接口获取相应编号(enum_value)。**默认值**:空')
.optional(),
department_hrbps: zod_1.z
.array(zod_1.z.string().describe('HRBP的ID'))
.describe('部门 HRBP 的用户 ID 列表。 ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]。**默认值**:空')
.optional(),
}),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。**默认值**:open_department_id Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
client_token: zod_1.z
.string()
.describe('用于幂等判断是否为同一请求,避免重复请求。字符串类型,需要你自行生成参数值。**默认值**:空')
.optional(),
})
.optional(),
},
};
exports.contactV3DepartmentDelete = {
project: 'contact',
name: 'contact.v3.department.delete',
sdkName: 'contact.v3.department.delete',
path: '/open-apis/contact/v3/departments/:department_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-通讯录-部门-删除部门-调用该接口从通讯录中删除指定的部门',
accessTokens: ['tenant'],
schema: {
params: zod_1.z
.object({
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z
.object({
department_id: zod_1.z
.string()
.describe('部门 ID,ID 类型需要与查询参数 department_id_type 的取值保持一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询')
.optional(),
})
.optional(),
},
};
exports.contactV3DepartmentGet = {
project: 'contact',
name: 'contact.v3.department.get',
sdkName: 'contact.v3.department.get',
path: '/open-apis/contact/v3/departments/:department_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-部门-获取单个部门信息-调用该接口获取单个部门信息,包括部门名称、ID、父部门、负责人、状态以及成员个数等',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z
.object({
department_id: zod_1.z
.string()
.describe('部门 ID,ID 类型需要与查询参数 department_id_type 的取值保持一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询')
.optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.contactV3DepartmentList = {
project: 'contact',
name: 'contact.v3.department.list',
sdkName: 'contact.v3.department.list',
path: '/open-apis/contact/v3/departments',
httpMethod: 'GET',
description: '[Feishu/Lark]-历史版本(不推荐)-通讯录-部门管理-获取部门信息列表-该接口用于获取当前部门子部门列表。[常见问题答疑]',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中使用的部门ID的类型 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)')
.optional(),
parent_department_id: zod_1.z
.string()
.describe('父部门的ID,填上获取部门下所有子部门,此处填写的 ID 必须是 department_id_type 指定的 ID')
.optional(),
fetch_child: zod_1.z.boolean().describe('是否递归获取子部门').optional(),
page_token: zod_1.z.string().optional(),
page_size: zod_1.z.number().optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.contactV3DepartmentParent = {
project: 'contact',
name: 'contact.v3.department.parent',
sdkName: 'contact.v3.department.parent',
path: '/open-apis/contact/v3/departments/parent',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-部门-获取父部门信息-调用该接口递归获取指定部门的父部门信息,包括部门名称、ID、负责人以及状态等',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。**默认值**:open_department_id Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
department_id: zod_1.z
.string()
.describe('部门 ID。ID 类型需要与查询参数 department_id_type 的取值保持一致。当你在创建部门时,可从返回结果中获取到部门 ID 信息,你也可以调用[搜索部门]接口,获取所需的部门 ID'),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求所返回的数据条目数').optional(),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.contactV3DepartmentPatch = {
project: 'contact',
name: 'contact.v3.department.patch',
sdkName: 'contact.v3.department.patch',
path: '/open-apis/contact/v3/departments/:department_id',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-通讯录-部门-修改部门部分信息-调用该接口更新指定部门的部分信息,包括名称、父部门、排序以及负责人等',
accessTokens: ['tenant'],
schema: {
data: zod_1.z
.object({
name: zod_1.z
.string()
.describe('部门名称。**注意**:- 不可包含斜杠(`/`)。- 不能与存量部门名称重复。**默认值**:空,表示不修改')
.optional(),
i18n_name: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('部门的中文名').optional(),
ja_jp: zod_1.z.string().describe('部门的日文名').optional(),
en_us: zod_1.z.string().describe('部门的英文名').optional(),
})
.describe('部门名称的国际化配置。**注意**:- 不可包含斜杠(`/`)。- 不能与存量部门名称的国际化配置重复。**默认值**:空,表示不修改')
.optional(),
parent_department_id: zod_1.z
.string()
.describe('父部门的 ID。部门 ID 获取方式:- 如果需要将部门的父部门设置为根部门,则该参数取值 `0`。- 你可以调用[搜索部门]接口获取所需的部门 ID。**默认值**:空,表示不修改')
.optional(),
leader_user_id: zod_1.z
.string()
.describe('部门主管的用户 ID。ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]。**注意**:部门主管(leader_user_id)和部门主负责人(leaderType 取值为 1 所对应的 leaderID)取值始终一致。因此:- 如果同时设置了部门主负责人(leaderType 取值为 1 所对应的 leaderID),则此处设置的部门主管必须与部门主负责人为同一个人。- 仅修改部门主管,会同步修改部门主负责人(leaderType 取值为 1 所对应的 leaderID)。**默认值**:空,表示不修改')
.optional(),
order: zod_1.z
.string()
.describe('部门的排序,即部门在其同级部门的展示顺序。取值格式为 String 类型的非负整数,数值越小,排序越靠前。**注意**:order 值唯一,即传入的值不能与存量部门的 order 值重复。**默认值**:空,表示不修改')
.optional(),
create_group_chat: zod_1.z
.boolean()
.describe('是否创建部门群。 **可选值有:**- true:创建。- false:不创建。如果之前已创建了部门群,则即便设置为 false 群也会继续存在。**说明**:创建部门群时,群名默认为部门名,群主默认为部门主负责人。**默认值**:空,表示不修改')
.optional(),
leaders: zod_1.z
.array(zod_1.z.object({
leaderType: zod_1.z.number().describe('负责人类型。 Options:1(main 主负责人),2(deputy 副负责人)'),
leaderID: zod_1.z
.string()
.describe('负责人的用户 ID,ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]'),
}))
.describe('部门负责人信息。**注意**:- leaders 如果传空数组,则会把原有值清空。- 配置该参数时,必须指定一名主负责人。- 设置多名负责人时,仅支持将某一负责人设置为主负责人。- 部门主管(leader_user_id)和部门主负责人(leaderType 取值为 1 所对应的 leaderID)取值始终一致。因此: - 如果同时设置了部门主管(leader_user_id),则此处设置的部门主负责人必须与部门主管为同一个人。 - 仅修改部门主负责人,会同步修改部门主管(leader_user_id)')
.optional(),
group_chat_employee_types: zod_1.z
.array(zod_1.z.number().describe('雇员类型'))
.describe('部门群的人员类型限制。人员类型的取值范围如下。该参数支持设置多个类型值,若有多个,用英文 `,` 分隔:- 1:正式员工- 2:实习生- 3:外包- 4:劳务- 5:顾问该参数支持传入自定义人员类型对应的编号。你可以调用[查询人员类型]接口获取相应编号(enum_value)。**默认值**:空')
.optional(),
department_hrbps: zod_1.z
.array(zod_1.z.string().describe('HRBP的ID'))
.describe('部门 HRBP 的用户 ID 列表。 ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]。**注意**:department_hrbps 如果传空数组,则会把原有值清空')
.optional(),
})
.optional(),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z
.object({
department_id: zod_1.z
.string()
.describe('部门 ID,ID 类型需要与查询参数 department_id_type 的取值保持一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询')
.optional(),
})
.optional(),
},
};
exports.contactV3DepartmentSearch = {
project: 'contact',
name: 'contact.v3.department.search',
sdkName: 'contact.v3.department.search',
path: '/open-apis/contact/v3/departments/search',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-部门-搜索部门-调用该接口以用户身份通过部门名称关键词查询可见部门的信息,包括部门的 ID、父部门、负责人以及状态等',
accessTokens: ['user'],
schema: {
data: zod_1.z.object({ query: zod_1.z.string().describe('搜索关键词,匹配字段为部门名称(不支持匹配部门国际化名称)') }),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。**默认值**:open_department_id Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求所返回的数据条目数').optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.contactV3DepartmentUnbindDepartmentChat = {
project: 'contact',
name: 'contact.v3.department.unbindDepartmentChat',
sdkName: 'contact.v3.department.unbindDepartmentChat',
path: '/open-apis/contact/v3/departments/unbind_department_chat',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-部门-部门群转为普通群-调用该接口将指定部门的部门群转为普通群',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
department_id: zod_1.z
.string()
.describe('部门 ID,ID 类型需要与查询参数 department_id_type 的取值保持一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询'),
}),
params: zod_1.z
.object({
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。**默认值**:open_department_id Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
},
};
exports.contactV3DepartmentUpdate = {
project: 'contact',
name: 'contact.v3.department.update',
sdkName: 'contact.v3.department.update',
path: '/open-apis/contact/v3/departments/:department_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-通讯录-部门-更新部门所有信息-调用该接口更新指定部门的信息,包括名称、父部门以及负责人等信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z.string().describe('部门名称。**注意**:- 不可包含斜杠(`/`)。- 不能与存量部门名称重复'),
i18n_name: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('部门的中文名').optional(),
ja_jp: zod_1.z.string().describe('部门的日文名').optional(),
en_us: zod_1.z.string().describe('部门的英文名').optional(),
})
.describe('部门名称的国际化配置。**注意**:- 不可包含斜杠(`/`)。- 不能与存量部门名称的国际化配置重复')
.optional(),
parent_department_id: zod_1.z
.string()
.describe('父部门的 ID。部门 ID 获取方式:- 如果需要将部门的父部门设置为根部门,则该参数取值 `0`。- 你可以调用[搜索部门]接口获取所需的部门 ID'),
leader_user_id: zod_1.z
.string()
.describe('部门主管的用户 ID。ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]。**注意**:部门主管(leader_user_id)和部门主负责人(leaderType 取值为 1 所对应的 leaderID)取值始终一致。因此:- 如果同时设置了部门主负责人(leaderType 取值为 1 所对应的 leaderID),则此处设置的部门主管必须与部门主负责人为同一个人。- 仅修改部门主管,会同步修改部门主负责人(leaderType 取值为 1 所对应的 leaderID)')
.optional(),
order: zod_1.z
.string()
.describe('部门的排序,即部门在其同级部门的展示顺序。取值格式为 String 类型的非负整数,数值越小,排序越靠前。**注意**:- order 值唯一,即传入的值不能与存量部门的 order 值重复。- 不传值表示不修改部门原有的 order 值')
.optional(),
create_group_chat: zod_1.z
.boolean()
.describe('是否创建部门群。 **可选值有:**- true:创建。- false:不创建。**说明**:- 如果部门之前没有部门群,则取值为 true 会创建部门群,创建时,群名默认为部门名,群主默认为部门主负责人。- 如果部门之前已创建了部门群,则该参数无论是否传值均不会影响原有部门群')
.optional(),
leaders: zod_1.z
.array(zod_1.z.object({
leaderType: zod_1.z.number().describe('负责人类型。 Options:1(main 主负责人。),2(deputy 副负责人。)'),
leaderID: zod_1.z
.string()
.describe('负责人的用户 ID,ID 类型与查询参数 user_id_type 的取值保持一致。用户 ID 获取方式可参见[如何获取不同的用户 ID]'),
}))
.describe('部门负责人信息。**注意**:- 配置该参数时,必须指定一名主负责人。- 设置多名负责人时,仅支持将某一负责人设置为主负责人。- 部门主管(leader_user_id)和部门主负责人(leaderType 取值为 1 所对应的 leaderID)取值始终一致。因此: - 如果同时设置了部门主管(leader_user_id),则此处设置的部门主负责人必须与部门主管为同一个人。 - 仅修改部门主负责人,会同步修改部门主管(leader_user_id)')
.optional(),
group_chat_employee_types: zod_1.z
.array(zod_1.z.number().describe('雇员类型'))
.describe('部门群的人员类型限制。人员类型的取值范围如下。该参数支持设置多个类型值,若有多个,用英文 `,` 分隔:- 1:正式员工- 2:实习生- 3:外包- 4:劳务- 5:顾问该参数支持传入自定义人员类型对应的编号。你可以调用[查询人员类型]接口获取相应编号(enum_value)。**说明**:如果部门之前已创建了部门群,则该参数不传值时,默认不会修改原有的部门群人员类型限制')
.optional(),
}),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z
.object({
department_id: zod_1.z
.string()
.describe('部门 ID,ID 类型需要与查询参数 department_id_type 的取值保持一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询')
.optional(),
})
.optional(),
},
};
exports.contactV3DepartmentUpdateDepartmentId = {
project: 'contact',
name: 'contact.v3.department.updateDepartmentId',
sdkName: 'contact.v3.department.updateDepartmentId',
path: '/open-apis/contact/v3/departments/:department_id/update_department_id',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-通讯录-部门-更新部门 ID-调用该接口可以更新部门的自定义 ID,即 department_id',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
new_department_id: zod_1.z
.string()
.describe('新的自定义部门 ID,即部门的 department_id。**注意**:- 不能以 `od-` 开头。- 不能设置为 `0`。- 不能与其他未删除部门的 department_id 重复'),
}),
params: zod_1.z
.object({
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。**默认值**:open_department_id Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z
.object({
department_id: zod_1.z
.string()
.describe('需要更新自定义 ID 的部门 ID,该 ID 类型需要与查询参数 department_id_type 的取值一致。ID 获取方式说明:- 调用[创建部门]接口后,可从返回结果中获取到部门 ID 信息。- 部门 API 提供了多种获取其他部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询')
.optional(),
})
.optional(),
},
};
exports.contactV3EmployeeTypeEnumCreate = {
project: 'contact',
name: 'contact.v3.employeeTypeEnum.create',
sdkName: 'contact.v3.employeeTypeEnum.create',
path: '/open-apis/contact/v3/employee_type_enums',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-人员类型-新增人员类型-调用该接口新增一个自定义的人员类型。人员类型是用户属性之一,用于灵活标记用户的身份类型',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
content: zod_1.z.string().describe('人员类型的选项内容'),
enum_type: zod_1.z
.number()
.describe('人员类型的选项类型。新增人员类型时固定取值为 `2` 即可。 Options:1(Defualt 内置类型,只读。新增人员类型时不支持选择该类型。),2(Custom 自定义。)'),
enum_status: zod_1.z
.number()
.describe('人员类型的选项激活状态。只有已激活的选项可以用于配置用户属性。 Options:1(Active 激活),2(Inactive 未激活)'),
i18n_content: zod_1.z
.array(zod_1.z.object({
locale: zod_1.z.string().describe('语言版本。例如:- zh_cn:中文- en_us:英文- ja_jp:日文').optional(),
value: zod_1.z
.string()
.describe('语言版本对应的内容。**数据校验规则:**长度范围:`1` 字符 ~ `100` 字符')
.optional(),
}))
.describe('选项内容的国际化配置。**说明**:在飞书客户端查看用户人员类型时,系统会根据客户端语言环境,自动展示相匹配的选项语言。如果相应语言不在选项国际化配置当中,则会展示默认选项内容(即 content 字段)')
.optional(),
}),
},
};
exports.contactV3EmployeeTypeEnumDelete = {
project: 'contact',
name: 'contact.v3.employeeTypeEnum.delete',
sdkName: 'contact.v3.employeeTypeEnum.delete',
path: '/open-apis/contact/v3/employee_type_enums/:enum_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-通讯录-人员类型-删除人员类型-调用该接口删除指定的自定义人员类型',
accessTokens: ['tenant'],
schema: {
path: zod_1.z
.object({
enum_id: zod_1.z
.string()
.describe('自定义人员类型的选项 ID。你可以在新建人员类型时从返回值中获取,你也可以调用[查询人员类型]接口,获取选项的 ID')
.optional(),
})
.optional(),
},
};
exports.contactV3EmployeeTypeEnumList = {
project: 'contact',
name: 'contact.v3.employeeTypeEnum.list',
sdkName: 'contact.v3.employeeTypeEnum.list',
path: '/open-apis/contact/v3/employee_type_enums',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-人员类型-查询人员类型-调用该接口查询当前租户下所有的人员类型信息,包括选项 ID、类型、编号以及内容等',
accessTokens: ['tenant'],
schema: {
params: zod_1.z
.object({
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求返回的条目数').optional(),
})
.optional(),
},
};
exports.contactV3EmployeeTypeEnumUpdate = {
project: 'contact',
name: 'contact.v3.employeeTypeEnum.update',
sdkName: 'contact.v3.employeeTypeEnum.update',
path: '/open-apis/contact/v3/employee_type_enums/:enum_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-通讯录-人员类型-更新人员类型-调用该接口更新指定的自定义人员类型信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
content: zod_1.z.string().describe('选项内容'),
enum_type: zod_1.z
.number()
.describe('选项类型。更新人员类型时固定取值为 `2` 即可。 Options:1(Defualt 内置类型。该类型仅用于查询结果当中,更新人员类型时不支持选择该类型。),2(Custom 自定义。)'),
enum_status: zod_1.z
.number()
.describe('选项的激活状态。只有已激活的选项可以用于配置用户属性。 Options:1(Active 激活),2(Inactive 未激活)'),
i18n_content: zod_1.z
.array(zod_1.z.object({
locale: zod_1.z.string().describe('语言版本。例如:- zh_cn:中文- en_us:英文- ja_jp:日文').optional(),
value: zod_1.z
.string()
.describe('语言版本对应的内容。**数据校验规则:**长度范围:`1` 字符 ~ `100` 字符')
.optional(),
}))
.describe('选项内容的国际化配置。**说明**:- 在飞书客户端查看用户人员类型时,系统会根据客户端语言环境,自动展示相匹配的选项语言。如果相应语言不在选项国际化配置当中,则会展示默认选项内容(即 content 字段)。- 不传值表示不更新原有配置')
.optional(),
}),
path: zod_1.z
.object({
enum_id: zod_1.z
.string()
.describe('自定义人员类型的选项 ID。你可以在新建人员类型时从返回值中获取,你也可以调用[查询人员类型]接口,获取选项的 ID')
.optional(),
})
.optional(),
},
};
exports.contactV3FunctionalRoleCreate = {
project: 'contact',
name: 'contact.v3.functionalRole.create',
sdkName: 'contact.v3.functionalRole.create',
path: '/open-apis/contact/v3/functional_roles',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-角色-创建角色-调用该接口创建一个角色',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({ role_name: zod_1.z.string().describe('角色名称。在同一租户下角色名称唯一,不能重复创建') }),
},
};
exports.contactV3FunctionalRoleDelete = {
project: 'contact',
name: 'contact.v3.functionalRole.delete',
sdkName: 'contact.v3.functionalRole.delete',
path: '/open-apis/contact/v3/functional_roles/:role_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-通讯录-角色-删除角色-调用该接口删除指定角色',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在创建角色时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
}),
},
};
exports.contactV3FunctionalRoleMemberBatchCreate = {
project: 'contact',
name: 'contact.v3.functionalRoleMember.batchCreate',
sdkName: 'contact.v3.functionalRoleMember.batchCreate',
path: '/open-apis/contact/v3/functional_roles/:role_id/members/batch_create',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-角色成员-批量添加角色成员-调用该接口在指定角色内添加一个或多个成员',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
members: zod_1.z
.array(zod_1.z.string())
.describe('待添加为角色成员的用户 ID 列表,以 `["xxx", "yyy"]` 数组格式进行传值。ID 类型需要和查询参数 user_id_type 的取值保持一致'),
}),
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在[创建角色]时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
}),
},
};
exports.contactV3FunctionalRoleMemberBatchDelete = {
project: 'contact',
name: 'contact.v3.functionalRoleMember.batchDelete',
sdkName: 'contact.v3.functionalRoleMember.batchDelete',
path: '/open-apis/contact/v3/functional_roles/:role_id/members/batch_delete',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-通讯录-角色成员-删除角色下的成员-调用该接口在指定角色内删除一个或多个成员',
accessTokens: ['tenant'],
schema: {
data: zod_1.z
.object({
members: zod_1.z
.array(zod_1.z.string())
.describe('待删除角色成员的用户 ID 列表,以 `["xxx", "yyy"]` 数组格式进行传值。ID 类型需要和查询参数 user_id_type 的取值保持一致')
.optional(),
})
.optional(),
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在[创建角色]时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
}),
},
};
exports.contactV3FunctionalRoleMemberGet = {
project: 'contact',
name: 'contact.v3.functionalRoleMember.get',
sdkName: 'contact.v3.functionalRoleMember.get',
path: '/open-apis/contact/v3/functional_roles/:role_id/members/:member_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-角色成员-查询角色下某个成员的管理范围-调用本接口查询指定角色内的指定成员的管理范围',
accessTokens: ['tenant'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在[创建角色]时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
member_id: zod_1.z.string().describe('角色成员的用户 ID,ID 类型需要和查询参数 user_id_type 的取值保持一致'),
}),
},
};
exports.contactV3FunctionalRoleMemberList = {
project: 'contact',
name: 'contact.v3.functionalRoleMember.list',
sdkName: 'contact.v3.functionalRoleMember.list',
path: '/open-apis/contact/v3/functional_roles/:role_id/members',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-角色成员-查询角色下的所有成员信息-调用本接口查询指定角色内的所有成员信息,包括成员的用户 ID、管理范围',
accessTokens: ['tenant'],
schema: {
params: zod_1.z
.object({
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求返回的数据条目数').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在[创建角色]时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
}),
},
};
exports.contactV3FunctionalRoleMemberScopes = {
project: 'contact',
name: 'contact.v3.functionalRoleMember.scopes',
sdkName: 'contact.v3.functionalRoleMember.scopes',
path: '/open-apis/contact/v3/functional_roles/:role_id/members/scopes',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-通讯录-角色成员-批量设置角色成员管理范围-调用该接口为指定角色内的一个或多个角色成员设置管理范围。管理范围是指角色成员可以管理的部门范围',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
members: zod_1.z
.array(zod_1.z.string())
.describe('角色成员的用户 ID 列表,以 `["xxx", "yyy"]` 数组格式进行传值。ID 类型需要和查询参数 user_id_type 的取值保持一致'),
departments: zod_1.z
.array(zod_1.z.string())
.describe('设置角色成员可管理的部门范围(部门 ID 列表),以 `["xxx", "yyy"]` 数组格式进行传值。ID 类型需要和查询参数 department_id_type 的取值保持一致。部门 API 提供了多种获取部门 ID 的方式,如[获取子部门列表]、[获取父部门信息]、[搜索部门],你可以选择合适的 API 进行查询。**注意**:不支持为角色成员设置根部门(部门 ID 为 0)的管理范围'),
}),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。),open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。)')
.optional(),
})
.optional(),
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在[创建角色]时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
}),
},
};
exports.contactV3FunctionalRoleUpdate = {
project: 'contact',
name: 'contact.v3.functionalRole.update',
sdkName: 'contact.v3.functionalRole.update',
path: '/open-apis/contact/v3/functional_roles/:role_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-通讯录-角色-修改角色名称-调用本接口修改指定角色的角色名称',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({ role_name: zod_1.z.string().describe('角色名称。在同一租户下角色名称唯一,不能重复') }),
path: zod_1.z.object({
role_id: zod_1.z
.string()
.describe('角色 ID。获取方式:- 在创建角色时,可从返回结果中获取。- 企业管理员可以在 [管理后台] > **组织架构** > **角色管理** 页面,在角色名称右侧获取角色 ID'),
}),
},
};
exports.contactV3GroupCreate = {
project: 'contact',
name: 'contact.v3.group.create',
sdkName: 'contact.v3.group.create',
path: '/open-apis/contact/v3/group',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-用户组-创建用户组-调用该接口创建一个用户组。用户组是飞书通讯录中基础实体之一,在用户组内可添加用户或部门资源。各类业务权限管控可以与用户组关联,从而实现高效便捷的成员权限管控',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z
.string()
.describe('用户组名字,长度不能超过 100 字符。**说明**:用户组名称企业内唯一,如重复设置则会创建失败'),
description: zod_1.z.string().describe('用户组描述,长度不能超过 500 字符。**默认值**:空').optional(),
type: zod_1.z
.number()
.describe('用户组的类型。默认取值 `1`,表示普通用户组。 Options:1(Assign 普通用户组),2(Dynamic 暂不支持使用该值)')
.optional(),
group_id: zod_1.z
.string()
.describe('自定义用户组 ID。**数据校验规则:**- 最大长度:64 字符- 校验规则:数字、大小写字母的组合,不能包含空格**默认值**:空,由系统生成一个默认 ID')
.optional(),
}),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['open_department_id', 'department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。),department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。)')
.optional(),
})
.optional(),
},
};
exports.contactV3GroupDelete = {
project: 'contact',
name: 'contact.v3.group.delete',
sdkName: 'contact.v3.group.delete',
path: '/open-apis/contact/v3/group/:group_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-通讯录-用户组-删除用户组-调用该接口删除指定用户组',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({
group_id: zod_1.z
.string()
.describe('需删除的用户组 ID。用户组 ID 可在创建用户组时从返回值中获取,你也可以调用[查询用户组列表]接口,获取用户组的 ID'),
}),
},
};
exports.contactV3GroupGet = {
project: 'contact',
name: 'contact.v3.group.get',
sdkName: 'contact.v3.group.get',
path: '/open-apis/contact/v3/group/:group_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-用户组-查询指定用户组-调用该接口通过用户组 ID 查询指定用户组的基本信息,包括用户组名称、成员数量和类型等',
accessTokens: ['tenant'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['open_department_id', 'department_id'])
.describe('此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见[部门 ID 说明]。 Options:open_department_id(由系统自动生成的部门 ID,ID 前缀固定为 `od-`,在租户内全局唯一。),department_id(支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。)')
.optional(),
})
.optional(),
path: zod_1.z.object({
group_id: zod_1.z
.string()
.describe('用户组 ID。用户组 ID 可在创建用户组时从返回值中获取,你也可以调用[查询用户组列表]接口,获取用户组的 ID'),
}),
},
};
exports.contactV3GroupMemberBelong = {
project: 'contact',
name: 'contact.v3.group.memberBelong',
sdkName: 'contact.v3.group.memberBelong',
path: '/open-apis/contact/v3/group/member_belong',
httpMethod: 'GET',
description: '[Feishu/Lark]-通讯录-用户组-查询用户所属用户组-调用该接口查询指定用户所属的用户组列表',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
member_id: zod_1.z.string().describe('成员 ID。ID 类型与 member_id_type 取值保持一致'),
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id'])
.describe('成员 ID 类型。 Options:open_id(OpenID 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多:如何获取 Open ID]。),union_id(UnionID 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多:如何获取 Union ID?]。),user_id(UserID 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多:如何获取 User ID?]。)')
.optional(),
group_type: zod_1.z.number().describe('用户组类型。 Options:1(Assign 普通用户组),2(Dynamic 动态用户组)').optional(),
page_size: zod_1.z.number().describe('分页大小,用于限制一次请求所返回的数据条目数').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
}),
},
};
exports.contactV3GroupMemberAdd = {
project: 'contact',
name: 'contact.v3.groupMember.add',
sdkName: 'contact.v3.groupMember.add',
path: '/open-apis/contact/v3/group/:group_id/member/add',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-用户组成员-添加用户组成员-调用该接口向指定的普通用户组内添加成员',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
member_type: zod_1.z.literal('user').describe('用户组成员的类型,目前仅支持选择 user。 Options:user(用户类型。)'),
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id'])
.describe('当 `member_type` 取值为 `user`时,通过该参数设置用户 ID 类型。 Options:open_id(OpenID 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。),union_id(UnionID 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。),user_id(UserID 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用中都保持一致。User ID 主要用于在不同的应用间打通用户数据。)'),
member_id: zod_1.z
.string()
.describe('添加的用户 ID,ID 类型与 member_id_type 的取值保持一致。不同类型的 ID 获取方式可参见:- [如何获取用户 open_id]- [如何获取用户 union_id]- [如何获取用户 user_id]'),
}),
path: zod_1.z.object({
group_id: zod_1.z
.string()
.describe('用户组 ID。用户组 ID 可在创建用户组时从返回值中获取,你也可以调用[查询用户组列表]接口,获取用户组的 ID'),
}),
},
};
exports.contactV3GroupMemberBatchAdd = {
project: 'contact',
name: 'contact.v3.groupMember.batchAdd',
sdkName: 'contact.v3.groupMember.batchAdd',
path: '/open-apis/contact/v3/group/:group_id/member/batch_add',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-用户组成员-批量添加用户组成员-调用该接口向指定的普通用户组内添加一个或多个成员',
accessTokens: ['tenant'],
schema: {
data: zod_1.z
.object({
members: zod_1.z
.array(zod_1.z.object({
member_id: zod_1.z
.string()
.describe('添加的用户 ID,ID 类型与 member_id_type 的取值保持一致。不同类型的 ID 获取方式可参见:- [如何获取用户 open_id]- [如何获取用户 union_id]- [如何获取用户 user_id]'),
member_type: zod_1.z.string().describe('用户组成员的类型,目前仅支持选择 user,表示用户类型'),
member_id_type: zod_1.z
.string()
.describe('当 `member_type` 取值为 `user`时,该参数必填,需通过该参数设置用户 ID 类型。包括:- open_id:标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。- union_id:标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。- user_id:标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用中都保持一致。User ID 主要用于在不同的应用间打通用户数据')
.optional(),
}))
.describe('待添加成员信息')
.optional(),
})
.optional(),
path: zod_1.z.object({
group_id: zod_1.z
.string()
.describe('用户组 ID。用户组 ID 可在创建用户组时从返回值中获取,你也可以调用[查询用户组列表]接口,获取用户组的 ID'),
}),
},
};
exports.contactV3GroupMemberBatchRemove = {
project: 'contact',
name: 'contact.v3.groupMember.batchRemove',
sdkName: 'contact.v3.groupMember.batchRemove',
path: '/open-apis/contact/v3/group/:group_id/member/batch_remove',
httpMethod: 'POST',
description: '[Feishu/Lark]-通讯录-用户组成员-批量移除用户组成员-调用该接口从指定普通用户组内移除一个或多个成员',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
members: zod_1.z
.array(zod_1.z.object({
member_id: zod_1.z
.string()
.describe('移除的用户 ID,ID 类型与 member_id_type 的取值保持一致。你可以调用[查询用户组成员列表]接口,获取用户组内的成员 ID,并将需要移除的成员 ID 传入当前参数。注意仅支持移除用户类型的成员,且需要使用相同的用户 ID 类型,否则会报错'),
member_type: zod_1.z.string().describe('用户组成员的类型,目前仅支持选择 user,表示用户类型'),
member_id_type: zod_1.z
.string()
.describe('当 `member_type` 取值为 `user`时,该参数必填,需通过该参数设置用户 ID 类型,包括:- open_id:标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。- union_id:标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。- user_id:标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用中都保持一致。User ID 主要用于在不同的应用间打通用户数据')
.optional(),
}))
.describe('待移除成员信息'),
}),
path: zod_1.z.object({
group_id: zod_1.z
.string()
.describe('用户组 ID。用户组 ID 可在创建用户组时从返回值中获取,你也可以调用[查询用户组列表]接口,获取用户组的 ID'),
})