Skip to content

部门资源介绍

部门是指企业组织架构树上的某一个节点。在部门内部,可添加用户作为部门成员,也可添加新的部门作为子部门。

基本概念

在调用部门资源 API 前,请先了解以下基本概念。

部门层级

一个租户内,通讯录默认包含一个根部门(根部门的部门 ID 为 0),其他所有新创建的部门都需要存在于根部门下。同时每个部门实体内部还可以添加子部门,以此构成了多层级的部门关系。例如,在根部门下创建一个 A 部门,在 A 部门下创建一个 B 部门,那么就构成了三层的部门层级关系。在调用部门资源 API 时,你可能需要使用父部门的数据来定位当前部门的层级位置。例如,创建部门时,你需要指定在哪个部门(即当前部门的父部门)下进行创建。

部门 ID

部门 ID 分为两种类型,department_id 和 open_department_id,具体说明如下表。

部门 ID 类型说明
department_id该类型的 ID 在创建部门时支持自定义配置,若不自定义配置,系统会默认生成一个 ID 值。因此,如果你的企业内部系统已有维护中的部门 ID,你可以将这些部门 ID 写入到飞书通讯录的部门 ID 属性中,由此实现飞书部门 ID 和企业内部系统部门 ID 的一致性,节省跨系统调用的映射成本。 - 为了和 open_department_id 区分,当你自定义设置 department_id 时,不能以 od- 开头。 - 当你自定义配置 department_id 时,可以复用已删除部门的 department_id。因此,department_id 在未删除的部门范围内具有唯一性。 department_id 的获取方式: - 如果你在创建部门时,均为各个部门设置了自定义的 department_id,则建议你在本地维护一个部门 ID 列表,以便自己查阅使用。 - 如果你是企业管理员,则可以在管理后台 > 组织架构 > 成员与部门 > 部门 页签内,通过查看指定部门的详情获取部门 ID(department_id)。 image.png 此外,你也可以在 部门 页签右上角点击 批量导入/导出,然后在页面内选择导出包含部门信息的表格。导出后,可通过表格查看租户内部门的 ID 数据(department_id)。 image.png - 通过部门资源 API 获取。 - 调用获取子部门列表接口,传入根部门的 ID(department_id 取值为 0),来获取根部门下的各个部门的 department_id。 - 调用搜索部门接口,设置部门名称关键词,获取指定部门的 department_id。
open_department_id该类型的 ID 由系统自动生成,ID 前缀固定为 od-,无法自定义编辑。open_department_id 在租户内全局唯一。 open_department_id 的获取方式: - 调用获取子部门列表接口,传入根部门的 ID(department_id 取值为 0),来获取根部门下的各个部门的 open_department_id。 - 调用搜索部门接口,设置部门名称关键词,获取指定部门的 open_department_id。

字段说明

名称类型描述
department_idstring支持用户自定义或者由系统默认生成的部门 ID。在用户自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。 示例值:"h121921" 数据校验规则: - 最大长度:64 字符。 - 正则校验:^[a-zA-Z0-9][a-zA-Z0-9_\-@.]{0,63}$;且不以od-开头。
open_department_idstring由系统自动生成的部门 ID,ID 前缀固定为 od-,在租户内全局唯一。 示例值:"od-4e6ac4d14bcd5071a37a39de902c7141"
namestring部门名称。 示例值:"DemoName" 数据校验规则: - 最小长度:1 字符 - 不可包含斜杠(/字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:readonly_as_app 以应用身份读取通讯录
i18n_namedepartment_i18n_name国际化的部门名称 字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:readonly_as_app 以应用身份读取通讯录
∟ zh_cnstring部门的中文名。 示例值:"Demo名称"
∟ ja_jpstring部门的日文名。 示例值:"デモ名"
∟ en_usstring部门的英文名。 示例值:"Demo Name"
parent_department_idstring父部门的部门 ID。如果创建部门时,父部门是通讯录内的根部门,则该参数值为 0示例值:"od-4e6ac4d14bcd5071a37a39de902c7141"
leader_user_idstring部门主管用户 ID。 示例值:"ou_7dab8a3d3cdcc9da365777c7ad535d62"
orderstring部门的排序,即部门在其同级部门内的展示顺序。取值格式为 String 类型的非负整数,数值越小,排序越靠前。 示例值:"100" 字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:readonly_as_app 以应用身份读取通讯录
unit_idsstring\[\]部门绑定的单位自定义 ID 列表,当前只支持绑定一个单位。了解单位信息参见资源介绍示例值:custom_unit_id 字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:readonly_as_app 以应用身份读取通讯录
create_group_chatboolean是否创建部门群。 可选值有: - true:创建 - false(默认值):不创建 示例值:false

数据示例

json
{
    "department_id": "h121921",
    "open_department_id": "od-4e6ac4d14bcd5071a37a39de902c7141",
    "name": "DemoName",
    "i18n_name": {
        "zh_cn": "Demo名称",
        "ja_jp": "デモ名",
        "en_us": "Demo Name"
    },
    "parent_department_id": "od-4e6ac4d14bcd5071a37a39de902c7141",    
    "leader_user_id": "ou_7dab8a3d3cdcc9da365777c7ad535d62",
    "order": "100",
    "unit_ids": [
        "custom_unit_id"
    ],
    "create_group_chat": false
}

内容来源:飞书开放平台 · 自动爬取整理