Skip to content

获取父部门信息

调用该接口递归获取指定部门的父部门信息,包括部门名称、ID、负责人以及状态等。

注意事项

  • 使用应用身份(tenant_access_token)调用本接口时,该接口只返回应用通讯录可见范围内的父部门信息。例如有 A > B > C > D 四层级部门关系,当前应用的通讯录权限内只包含了 B 部门,那么查询 D 部门的父部门信息时,只会返回 B、C 部门信息,不会返回 A 部门信息。了解权限范围参见权限范围资源介绍

  • 使用用户身份(user_access_token)调用本接口时,只返回对当前用户有可见性的部门信息。用户的组织架构可见范围需要由企业管理员在管理后台 > 安全 > 成员权限 > 组织架构可见范围 内调整。

  • 所能查询到的父部门不包括根部门。

  • 当返回列表内包含多个部门信息时,会按照由子部门到父部门的顺序进行展示。

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/contact/v3/departments/parent
HTTP MethodGET
接口频率限制特殊频控
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可contact:contact.base:readonly 获取通讯录基本信息 contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
字段权限要求> Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:department.base:readonly 获取部门基础信息 contact:user.employee_id:readonly 获取用户 user ID contact:department.hrbp:readonly 查询部门 HRBP 信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录

请求头

名称类型必填描述
Authorizationstringtenant_access_tokenuser_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token

查询参数

名称类型必填描述
user_id_typestring用户 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?
默认值open_id
当值为 user_id,字段权限要求contact:user.employee_id:readonly 获取用户 user ID
department_id_typestring此次调用中的部门 ID 类型。关于部门 ID 的详细介绍,可参见部门 ID 说明
默认值:open_department_id
示例值:open_department_id
可选值有
- department_id: 支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。 - open_department_id: 由系统自动生成的部门 ID,ID 前缀固定为 od-,在租户内全局唯一。
department_idstring部门 ID。ID 类型需要与查询参数 department_id_type 的取值保持一致。
当你在创建部门时,可从返回结果中获取到部门 ID 信息,你也可以调用搜索部门接口,获取所需的部门 ID。
示例值:od-4e6ac4d14bcd5071a37a39de902c7141
page_tokenstring分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果
示例值:AQD9/Rn9eij9Pm39ED40/RD/cIFmu77WxpxPB/2oHfQLZ%2BG8JG6tK7%2BZnHiT7COhD2hMSICh/eBl7cpzU6JEC3J7COKNe4jrQ8ExwBCR
page_sizeint分页大小,用于限制一次请求所返回的数据条目数。
示例值:10
默认值20
数据校验规则
- 最大值:50

Go 请求示例

go
import (
	"context"

	"github.com/larksuite/oapi-sdk-go/v3"
	"github.com/larksuite/oapi-sdk-go/v3/service/contact/v3"
)

func main() {
	// 创建 Client
	client := lark.NewClient("appID", "appSecret")

	// 创建请求对象
	req := larkcontact.NewParentDepartmentReqBuilder().
		DepartmentId(`od-4e6ac4d14bcd5071a37a39de902c7141`).
		PageSize(20).
		Build()

	// 发起请求
	resp, err := client.Contact.Department.Parent(context.Background(), req)
}

Java 请求示例

java
import com.lark.oapi.Client;
import com.lark.oapi.core.request.RequestOptions;
import com.lark.oapi.service.contact.v3.model.ParentDepartmentReq;
import com.lark.oapi.service.contact.v3.model.ParentDepartmentResp;

public class Main {

    public static void main(String arg[]) throws Exception {
        // 构建client
        Client client = Client.newBuilder("appId", "appSecret").build();

        // 创建请求对象
        ParentDepartmentReq req = ParentDepartmentReq.newBuilder()
                .departmentId("od-4e6ac4d14bcd5071a37a39de902c7141")
                .pageSize(20)
                .build();

        // 发起请求
        ParentDepartmentResp resp = client.contact().department().parent(req, RequestOptions.newBuilder().build());
    }
}

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data\--
  └ has_moreboolean是否还有更多项
  └ page_tokenstring分页标记,当 has_more 为 true 时,会同时返回新的 page_token,否则不返回 page_token
  └ itemsdepartment\[\]部门列表。
    └ namestring部门名称。
字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ i18n_namedepartment_i18n_name部门名称的国际化配置。
字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
      └ zh_cnstring部门的中文名。
      └ ja_jpstring部门的日文名。
      └ en_usstring部门的英文名。
    └ parent_department_idstring父部门的部门 ID。
- ID 类型与查询参数的 department_id_type 取值保持一致。 - 当父部门为根部门时,该参数值为 0
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ department_idstring自定义部门 ID。后续可以使用该 ID 删除、修改、查询部门信息。
字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ open_department_idstring部门的 open_department_id,由系统自动生成。后续可以使用该 ID 删除、修改、查询部门信息。
    └ leader_user_idstring部门主管的用户 ID,ID 类型与查询参数的 user_id_type 取值保持一致。
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ chat_idstring部门群的群 ID。后续可以使用获取群信息,获取群的详细信息。
字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ orderstring部门的排序,即部门在其同级部门的展示顺序。取值越小排序越靠前。
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ unit_idsstring\[\]部门绑定的单位自定义 ID 列表,当前只支持一个。
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ member_countint当前部门及其下属部门的用户(包含部门负责人)个数。
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ statusdepartment_status部门状态。
字段权限要求(满足任一)contact:department.base:readonly 获取部门基础信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
      └ is_deletedboolean是否被删除。
可能值有:
- true:是 - false:否
    └ leadersdepartmentLeader\[\]部门负责人信息。
      └ leaderTypeint负责人类型。
可选值有
- 1: 主负责人 - 2: 副负责人
      └ leaderIDstring负责人的用户 ID,ID 类型与查询参数的 user_id_type 取值保持一致。
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录
    └ group_chat_employee_typesint\[\]部门群的人员类型限制。人员类型的可能值如下:
- 1:正式员工 - 2:实习生 - 3:外包 - 4:劳务 - 5:顾问
如果是自定义人员类型,则会返回对应的编号。你可以调用查询人员类型接口,获取相应编号(enum_value)对应的自定义人员类型信息。
    └ department_hrbpsstring\[\]部门 HRBP 的用户 ID 列表。 ID 类型与查询参数 user_id_type 的取值保持一致。
字段权限要求contact:department.hrbp:readonly 查询部门 HRBP 信息
    └ primary_member_countint当前部门及其下属部门的主属成员(即成员的主部门为当前部门)的数量。
字段权限要求(满足任一)contact:department.organize:readonly 获取通讯录部门组织架构信息 contact:contact:access_as_app 以应用身份访问通讯录 contact:contact:readonly 读取通讯录 contact:contact:readonly_as_app 以应用身份读取通讯录

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {
        "has_more": true,
        "page_token": "AQD9/Rn9eij9Pm39ED40/RD/cIFmu77WxpxPB/2oHfQLZ%2BG8JG6tK7%2BZnHiT7COhD2hMSICh/eBl7cpzU6JEC3J7COKNe4jrQ8ExwBCR",
        "items": [
            {
                "name": "DemoName",
                "i18n_name": {
                    "zh_cn": "Demo名称",
                    "ja_jp": "デモ名",
                    "en_us": "Demo Name"
                },
                "parent_department_id": "D067",
                "department_id": "D096",
                "open_department_id": "od-4e6ac4d14bcd5071a37a39de902c7141",
                "leader_user_id": "ou_7dab8a3d3cdcc9da365777c7ad535d62",
                "chat_id": "oc_5ad11d72b830411d72b836c20",
                "order": "100",
                "unit_ids": [
                    "custom_unit_id"
                ],
                "member_count": 100,
                "status": {
                    "is_deleted": false
                },
                "leaders": [
                    {
                        "leaderType": 1,
                        "leaderID": "ou_7dab8a3d3cdcc9da365777c7ad535d62"
                    }
                ],
                "group_chat_employee_types": [
                    1
                ],
                "department_hrbps": [
                    "ou_7dab8a3d3cdcc9da365777c7ad535d62"
                ],
                "primary_member_count": 100
            }
        ]
    }
}

错误码

HTTP状态码错误码描述排查建议
40943001dept unit repeat error部门 unit id 冲突。
40943002dept unit is still using error部门 unit id 已存在。
40943003multi dept unit error存在多个部门 unit id。
40043004illegal unit error部门 unit id 无效。
40043005duplicate order error部门的 order 必须唯一,请检查后重试。
40040001param error参数错误。请检查请求时传入的参数是否有误。
40043007duplicated department custom id error部门自定义 ID 企业内重复。
40043008custom dept id invalid error部门自定义 ID 不合法,不得以 od- 开头,不能为“0”,长度不可超过 64。
40043009exceed update custom dept limit error超过部门自定义 ID 次数限制。
40043010big dept forbid recursion error超大部门不允许进行查询。
40043013dept too many children error子部门数量过多。部门的直属子部门数量不能超过 1000。
40043011delete has member dept error待删除的部门下不能包含用户,请检查部门中是否还有未删除的用户。
40043012delete has sub dept department error待删除的部门下不能包含部门,请检查部门中是否还有未删除的子部门。
40040002process root dept error不支持对根部门进行操作。请检查是否在请求参数部门 ID 中传入了根部门 ID 0
40040003internal error内部错误,请获取请求的 X-Request-Id,并向技术支持进行反馈。
40340004no dept authority error当前操作涉及的部门,需在应用通讯录权限范围中,了解更多可参见权限范围资源介绍
40040008dept Info is null error部门的信息不能为空。
40040010chat id is invalid error部门群ID格式错误。
40340014no parent dept authority error没有父部门权限。传入的父部门需要在应用的通讯录权限范围内。如何设置通讯录权限范围,参见权限范围资源介绍
40040011page size is invalidPage size 无效。传入的 page_size 参数值不能超过 50。
40040012page token is invalid errorPage token 无效。你需要检查传入的 page_token 是否为上次请求返回的 page_token 值。
40142008tenant id is invalid error租户身份无效。请求时,请确保设置的请求头 Authorization 与待操作资源同属一个租户下。
40044102miss department_id error请求缺少 department_id。请求时必须传入 department_id 参数值。

更多错误码信息,参见通用错误码

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