#  用户资源介绍

用户是通讯录中的基础资源，对应企业组织架构中的成员实体。

## 基本概念

在调用通讯录 API 之前，建议你了解以下基本概念。

### 用户 ID

在调用通讯录 API 时，你将会用到用户的多种身份标识，包括 `user_id`、`open_id` 和 `union_id`。

- user_id 是用户在某一租户内的身份标识。
- open_id 是用户在某一应用内的身份标识。
- union_id 是用户在同一应用服务商所开发的多个应用下的身份标识。

你可以根据实际应用场景选择合适的用户 ID。例如，应用服务商想查询当前应用下的某一用户是否在使用其开发的其他应用，则可以通过用户的 union_id 来查询判断。

- 有关用户身份的详细介绍，可参见[用户身份概述](https://open.feishu.cn/document/home/user-identity-introduction/introduction)。
- 如何选择用户 ID，可参见[如何选择使用哪种 ID](https://open.feishu.cn/document/home/user-identity-introduction/user-id)。

### 用户状态

在调用通讯录 API 时，你可能会查询到用户的多种状态（`status` 参数，可调用[获取单个用户信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/user/get)、[批量获取用户信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/user/batch)接口查询用户状态），包括是否激活、是否暂停、是否离职、是否主动退出、是否未加入。用户的各类状态之间的转换关系如下图所示。

![用户状态图.svg](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/2b66abcda4e4b890903ae475d6e682f3_QRXBt6OGQG.png?height=944&lazyload=true&maxWidth=700&width=2282)

##  字段说明

名称 | 类型 | 描述
---|---|---
user_id | string | 租户内用户的唯一标识。user_id 可以自定义设置，也可以由系统随机生成。关于用户 ID 的详细说明，参见[用户身份概述](https://open.feishu.cn/document/home/user-identity-introduction/introduction)。<br>**自定义 user_id 时要遵循以下数据校验规则**：<br>- 最大长度：`64` 字符<br>- 正则校验：不能包含空格字<br>**示例值**："u273y71"<br>**字段权限要求**：获取用户 user ID(contact:user.employee_id:readonly)
open_id | string | 应用内用户的唯一标识，同一用户在不同应用内的 open_id 不同。关于用户 ID 的详细说明，参见[用户身份概述](https://open.feishu.cn/document/home/user-identity-introduction/introduction)。<br>**示例值**："ou_7dab8a3d3cdcc9da365777c7ad535d62"
union_id | string | 在同一应用服务商所开发的多个应用内用户的唯一标识。应用开发商可以通过用户的 union_id，把其开发的多个应用内的同一个用户关联起来。关于用户 ID 的详细说明，参见[用户身份概述](https://open.feishu.cn/document/home/user-identity-introduction/introduction)。<br>**示例值**："on_cad4860e7af114fb4ff6c5d496d1dd76"
name | string | 用户名。长度不能超过 255 字符。<br>**示例值**："张三"<br>**字段权限要求（满足任一）**：<br>获取用户基本信息(contact:user.base:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
en_name | string | 英文名。长度不能超过 255 字符。<br>**示例值**："San Zhang"<br>**字段权限要求（满足任一）**：<br>获取用户基本信息(contact:user.base:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
email | string | 邮箱。<br>**示例值**："zhangsan@gmail.com"<br>**字段权限要求**：<br>获取用户邮箱信息(contact:user.email:readonly)
mobile | string | 手机号。<br>**使用限制**：<br>- 在本企业内手机号不可重复。<br>- 未认证企业仅支持添加中国大陆手机号；通过飞书认证的企业允许添加海外手机号。<br>**示例值**："13011111111"<br>**字段权限要求**：<br>获取用户手机号(contact:user.phone:readonly)
mobile_visible | boolean | 手机号码是否可见。<br>**可选值有**：<br>- true：可见。<br>- false：不可见。不可见时，组织员工将无法查看该员工的手机号码。<br>**默认值**： true<br>**示例值**：false
gender | int | 性别。<br>**可选值有**：<br>- 0：保密<br>- 1：男<br>- 2：女<br>- 3：其他<br>**字段权限要求（满足任一）**：<br>获取用户性别(contact:user.gender:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)<br>**示例值**：1
avatar_key | string | 头像的文件 Key。你可以通过[上传图片](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/image/create)接口，上传并获取头像文件 Key。<br>**示例值**："2500c7a9-5fff-4d9a-a2de-3d59614ae28g"
department_ids | string\[\] | 用户所属部门的 ID 列表。关于部门资源的详细说明，可参见[部门资源介绍](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/department/field-overview)。<br>**示例值**：od-4e6ac4d14bcd5071a37a39de902c7141
leader_user_id | string | 用户的直接主管的用户 ID（open_id）。<br>**示例值**："ou_7dab8a3d3cdcc9da365777c7ad535d62"
city | string | 工作城市。<br>**示例值**："杭州"<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
country | string | 国家或地区。格式为国家或地区缩写 Code，具体参见[国家或地区 Code 参照表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/user/country-code-description)。<br>**示例值**："CN"<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
work_station | string | 工位。<br>**示例值**："北楼-H34"<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
join_time | int | 入职时间。秒级时间戳格式，表示从 1970 年 1 月 1 日开始所经过的秒数。<br>**示例值**：2147483647<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
employee_no | string | 工号。<br>**示例值**："1"<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
employee_type | int | 员工类型。<br>**可选值有**：<br>- 1：正式员工<br>- 2：实习生<br>- 3：外包<br>- 4：劳务<br>- 5：顾问   <br>同时接口可读取到自定义员工类型的 int 值。你可以调用[查询人员类型](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/employee_type_enum/list)接口，获取到当前租户内自定义员工类型的名称。   <br>**示例值**：1
orders | user_order\[\] | 用户排序信息。该参数用于标记通讯录下组织架构的人员顺序，人员可能存在多个部门中，且有不同的排序。
&emsp;∟&nbsp;department_id | string | 排序信息对应的部门 ID。关于部门资源的详细说明，可参见[部门资源介绍](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/department/field-overview#23857fe0)。<br>**示例值**："od-4e6ac4d14bcd5071a37a39de902c7141"
&emsp;∟&nbsp;user_order | int | 用户在其直属部门内的排序。数值越大，排序越靠前。<br>**示例值**：100
&emsp;∟&nbsp;department_order | int | 用户所属的多个部门之间的排序。数值越大，排序越靠前。<br>**示例值**：100
custom_attrs | user_custom_attr\[\] | 自定义字段。<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
&emsp;∟&nbsp;type | string | 自定义字段类型<br>- TEXT：文本<br>- HREF：网页<br>- ENUMERATION：枚举<br>- PICTURE_ENUM：图片<br>- GENERIC_USER：用户<br>**示例值**："TEXT"
&emsp;∟&nbsp;id | string | 自定义字段 ID。<br>**示例值**："DemoId"
&emsp;∟&nbsp;value | user_custom_attr_value | 自定义字段取值。
&emsp;&emsp;∟&nbsp;text | string | - 字段类型为 TEXT 时，该参数取值为定义的字段值。<br>- 字段类型为 HREF 时，该参数取值为定义的网页标题。<br>**示例值**："DemoText"
&emsp;&emsp;∟&nbsp;url | string | 字段类型为 HREF 时，该参数取值为定义的默认 URL。<br>**示例值**："http://www.fs.cn"
&emsp;&emsp;∟&nbsp;pc_url | string | 字段类型为 HREF 时，该参数取值为定义的 PC 端 URL。<br>**示例值**："http://www.fs.cn"
&emsp;&emsp;∟&nbsp;option_id | string | 字段类型为 ENUMERATION 或 PICTURE_ENUM 时，该参数取值为定义的选项值。<br>**示例值**："edcvfrtg"
&emsp;&emsp;∟&nbsp;generic_user | custom_attr_generic_user | 字段类型为 GENERIC_USER 时，该参数取值为定义的引用人员。该类型的自定义字段主要用于在成员名片页展示对另一用户的引用，实现成员名片页之间的跳转。
&emsp;&emsp;&emsp;∟&nbsp;id | string | 被引用的用户的 user_id。<br>**示例值**："9b2fabg5"
&emsp;&emsp;&emsp;∟&nbsp;type | int | 用户类型。目前仅支持取值 1，表示用户。<br>**示例值**：1
enterprise_email | string | 企业邮箱。<br>**注意事项**：企业管理员在管理后台启用飞书邮箱服务后，才会生效该参数。<br>**示例值**："demo@mail.com"<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
job_title | string | 职务。<br>**字段权限要求（满足任一）**：<br>获取用户受雇信息(contact:user.employee:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
##  数据示例<br>```json<br>{<br>"user_id": "u273y71",<br>"open_id": "ou_7dab8a3d3cdcc9da365777c7ad535d62",<br>"union_id": "ou_be2c1742f2bb189469bdd33f0b1516ea",<br>"name": "张三",<br>"en_name": "San Zhang",<br>"email": "zhangsan@gmail.com",<br>"mobile": "13011111111",<br>"mobile_visible": false,<br>"gender": 1,<br>"avatar_key": "2500c7a9-5fff-4d9a-a2de-3d59614ae28g",<br>"department_ids": [<br>"od-4e6ac4d14bcd5071a37a39de902c7141"<br>],<br>"leader_user_id": "ou_7dab8a3d3cdcc9da365777c7ad535d62",<br>"city": "杭州",<br>"country": "CN",<br>"work_station": "北楼-H34",<br>"join_time": 2147483647,<br>"employee_no": "1",<br>"employee_type": 1,<br>"orders": [<br>{<br>"department_id": "od-4e6ac4d14bcd5071a37a39de902c7141",<br>"user_order": 100,<br>"department_order": 100<br>}<br>],<br>"custom_attrs": [<br>{<br>"type": "TEXT",<br>"id": "DemoId",<br>"value": {<br>"text": "DemoText",<br>"url": "http://www.fs.cn",<br>"pc_url": "http://www.fs.cn",<br>"option_id": "edcvfrtg",<br>"generic_user": {<br>"id": "9b2fabg5",<br>"type": 1<br>}<br>}<br>}<br>],<br>"enterprise_email": "demo@mail.com",<br>"job_title": "xxxxx"<br>}<br>```

