# 批量查询部门

批量查询部门信息，**该接口只返回部门当前内容**。

**注意事项**：- 延迟说明：数据库主从延迟 2 秒以内，即：直接创建部门后 2 秒内调用此接口可能查询不到数据。
- 对比历史版本[批量查询部门](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/department/list)
接口，本版本增加了敏感字段权限要求，并使用了 POST HTTP 请求。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/corehr/v2/departments/batch_get
HTTP Method | POST
接口频率限制 | [1000 次/分钟、50 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 获取部门信息(corehr:department:read)<br>读写部门信息(corehr:department:write)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取部门成本中心字段信息(corehr:department.cost_center_id:read)<br>获取部门自定义字段(corehr:department.custom_fields:read)<br>获取部门负责人信息(corehr:department.manager:read)<br>获取部门组织架构信息(corehr:department.organize:read)<br>获取用户 user ID(contact:user.employee_id:readonly)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer t-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**：open_id<br>**可选值有**：<br>- open_id：标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多：如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid)<br>- union_id：标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的，在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID，应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多：如何获取 Union ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id)<br>- user_id：标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内，一个用户的 User ID 在所有应用（包括商店应用）中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多：如何获取 User ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id)<br>- people_corehr_id：以飞书人事的 ID 来识别用户<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)
department_id_type | string | 否 | 此次调用中使用的部门 ID 类型<br>**示例值**：open_department_id<br>**可选值有**：<br>- open_department_id：【飞书】用来在具体某个应用中标识一个部门，同一个department_id 在不同应用中的 open_department_id 相同。<br>- department_id：【飞书】用来标识租户内一个唯一的部门<br>- people_corehr_department_id：【飞书人事】用来标识「飞书人事」中的部门。<br>**默认值**：`open_department_id`

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
department_id_list | string\[\] | 否 | 部门ID列表，和 department_name_list 至少传一种，两个字段都传会按照 AND 方式查询，都不传则返回空。<br>ID获取方式：<br>- 调用[【创建部门】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/department/create)[【搜索部门】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/department/search)等接口可以返回部门ID<br>- 也可以通过[【事件】创建部门](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/department/events/created)[【事件】更新部门](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/department/events/updated) 获取部门ID信息<br>**示例值**：["7094136522860922111"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `100`
fields | string\[\] | 否 | 返回数据的字段列表，都不传则只返回部门 ID，可选值：<br>- version_id：当前版本ID<br>- sub_type：部门子类型<br>- manager：负责人<br>- is_root：是否根部门<br>- is_confidential：是否保密<br>- effective_date：当前版本生效日期<br>- expiration_date：当前版本失效日期<br>- department_name：部门名称<br>- parent_department_id：上级部门ID<br>- tree_order：树形排序<br>- list_order：列表排序<br>- code：部门编码<br>- active：是否启用<br>- description：部门描述<br>- custom_fields：自定义字段<br>- staffing_model：岗职务模式<br>- cost_center_id：部门默认成本中心<br>- created_time：创建时间(版本创建时间)<br>- updated_time：更新时间<br>- created_by：创建人<br>- updated_by：更新人<br>- record_created_time：记录创建时间(第一个版本的创建时间)<br>- record_updated_time：记录更新时间<br>- record_created_by：记录创建人<br>- record_updated_by：记录更新人<br>**示例值**：["version_id"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `100`
department_name_list | string\[\] | 否 | 部门名称精确匹配，最多传100个。和 department_id_list 至少传一种，两个字段都传会按照 AND 方式查询，都不传则返回空。<br>**示例值**：["综合部"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `100`

### 请求体示例
```json
{
    "department_id_list": [
        "7094136522860922111"
    ],
    "fields": [
        "version_id"
    ],
    "department_name_list": [
        "综合部"
    ]
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
items | department\[\] | 查询的部门信息
id | string | 部门 ID
version_id | string | 部门记录版本 ID
department_name | i18n\[\] | 部门名称
lang | string | 语言信息，中文用zh-CN，英文用en-US
value | string | 部门名称内容
sub_type | enum | 部门类型<br>- 通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)查询获取。请求参数：object_api_name=department；custom_api_name=subtype。
enum_name | string | 部门类型名称
display | i18n\[\] | 枚举多语展示
lang | string | 语言编码（IETF BCP 47）
value | string | 文本内容
parent_department_id | string | 上级部门 ID（若查询的是一级部门，则该字段不展示）<br>**字段权限要求**：<br>获取部门组织架构信息(corehr:department.organize:read)
manager | string | 部门负责人雇佣 ID，详细信息可通过[【搜索员工信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/search) 或 [【批量查询员工】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/batch_get) 接口获取<br>**字段权限要求**：<br>获取部门负责人信息(corehr:department.manager:read)
tree_order | string | 树形排序，代表同层级的部门排序序号<br>- 创建部门场景tree_order不会实时生成，10分钟内更新完毕<br>- 在页面拖动部门排序时tree_order可以实时生成<br>- 变更部门上级时，会清空tree_order，并触发重算list_order和tree_order，10分钟内更新完毕<br>- 同层部门（相同上级）数量超过1000时，该字段不再更新
list_order | string | 列表排序，代表所有部门的混排序号，为该部门上级路径上所有tree_order用“-”拼接<br>- 该字段在新建/更新场景非立即更新，10分钟后会延迟更新<br>- 由于list_order变更会导致[部门变更接口](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/department/events/updated)产生大量事件，因此事件接口不会针对该字段同步变更事件，如果有需求订阅请联系Oncall单独开启<br>- 同层部门（相同上级）数量超过1000时，该字段不再更新
code | string | 部门编码
is_root | boolean | 是否根部门
is_confidential | boolean | 是否保密，该功能暂不支持，可以忽略
effective_date | string | 当前版本生效日期<br>- 返回格式：YYYY-MM-DD（最小单位到日）<br>- 日期范围:1900-01-01～9999-12-31
expiration_date | string | 当前版本失效日期<br>- 返回格式：YYYY-MM-DD（最小单位到日）<br>- 日期范围:1900-01-01～9999-12-31
active | boolean | 部门启用状态，true为启用，false为停用
description | i18n\[\] | 描述
lang | string | 语言信息，中文用zh-CN，英文用en-US
value | string | 文本内容
custom_fields | custom_field_data\[\] | 自定义字段<br>**字段权限要求**：<br>获取部门自定义字段(corehr:department.custom_fields:read)
custom_api_name | string | 自定义字段 apiname，即自定义字段的唯一标识
name | custom_name | 自定义字段名称
zh_cn | string | 中文
en_us | string | 英文
type | int | 自定义字段类型，详细见[获取自定义字段列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/query)
value | string | 字段值，是json转义后的字符串，根据元数据定义不同，字段格式不同。如：```("\"123\"", "\"123.23\"", "\"true\"", [\"id1\",\"id2\"], \"2006-01-02 15:04:05\")```
staffing_model | enum | 岗职管理模式<br>- 详细枚举类型请查看[枚举场景](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/feishu-people-enum-constant)中关于staffing_model定义
enum_name | string | 枚举字段 API Name，即枚举的唯一标识
display | i18n\[\] | 枚举多语展示
lang | string | 语言信息，中文用zh-CN，英文用en-US
value | string | 文本内容
cost_center_id | string | 该部门下成员的默认成本中心ID<br>- 可通过[搜索成本中心信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/cost_center/search)获取详情<br>**字段权限要求**：<br>获取部门成本中心字段信息(corehr:department.cost_center_id:read)
created_time | string | 创建时间
updated_time | string | 更新时间
created_by | string | 创建人
updated_by | string | 更新人
record_created_time | string | 记录创建时间
record_updated_time | string | 记录更新时间
record_created_by | string | 记录创建人
record_updated_by | string | 记录更新人

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "items": [
            {
                "id": "4719456877659520852",
                "version_id": "6890452208593372611",
                "department_name": [
                    {
                        "lang": "zh-CN",
                        "value": "中文示例"
                    }
                ],
                "sub_type": {
                    "enum_name": "phone_type",
                    "display": [
                        {
                            "lang": "zh-CN",
                            "value": "中文示例"
                        }
                    ]
                },
                "parent_department_id": "4719456877659520111",
                "manager": "6893013238632416777",
                "tree_order": "001000",
                "list_order": "001000-001000",
                "code": "D00000456",
                "is_root": false,
                "is_confidential": false,
                "effective_date": "2020-05-01",
                "expiration_date": "2020-05-02",
                "active": true,
                "description": [
                    {
                        "lang": "zh-CN",
                        "value": "中文示例"
                    }
                ],
                "custom_fields": [
                    {
                        "custom_api_name": "name",
                        "name": {
                            "zh_cn": "自定义姓名",
                            "en_us": "Custom Name"
                        },
                        "type": 1,
                        "value": "\"231\""
                    }
                ],
                "staffing_model": {
                    "enum_name": "job",
                    "display": [
                        {
                            "lang": "zh-CN",
                            "value": "中文示例"
                        }
                    ]
                },
                "cost_center_id": "7142384817131652652",
                "created_time": "2020-05-01 00:00:00",
                "updated_time": "2020-05-02 00:00:00",
                "created_by": "6893013238632416777",
                "updated_by": "6893013238632416777",
                "record_created_time": "2020-05-01 00:00:00",
                "record_updated_time": "2020-05-02 00:00:00",
                "record_created_by": "6893013238632416777",
                "record_updated_by": "6893013238632416777"
            }
        ]
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1160102 | 参数错误 | 校验传参是否正确
403 | 1160103 | 鉴权失败 | 无当前查询部门权限（部门可见权限）
503 | 1161204 | Requset timeout | 接口超时，联系技术支持[Oncall](https://applink.feishu.cn/TLJpeNdW)
429 | 1161604 | QPS over limit | QPS 超限，建议调低请求频次

