Skip to content

获取审批数据

获取员工在某段时间内的请假、加班、外出和出差四种审批数据。

Tip: 请假的假期时长字段,暂未开放提供,待后续提供。

请假、加班:仅支持查询已通过和已撤回状态的审批数据

外出、出差:支持查询所有状态的审批数据

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/attendance/v1/user_approvals/query
HTTP MethodPOST
接口频率限制50 次/秒
支持的应用类型custom
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用attendance:task:readonly 导出打卡数据

请求头

名称类型必填描述
Authorizationstringtenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token
Content-Typestring固定值:"application/json; charset=utf-8"

查询参数

名称类型必填描述
employee_typestring请求体中的 user_ids 和响应体中的 user_id 的员工ID类型。如果没有后台管理权限,可使用通过手机号或邮箱获取用户 ID
示例值:employee_id
可选值有
- employee_id: 员工 employee ID,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的用户 ID - employee_no: 员工工号,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的工号 - open_id: 用户在某个应用中的身份查询Open ID

请求体

名称类型必填描述
user_idsstring\[\]employee_no 或 employee_id 列表。传入的ID类型需要与employee_type的取值一致
示例值:["abd754f7"]
check_date_fromint查询的起始日期。格式yyyyMMdd
注意:传入的日期不能超过当天 +1 天,例如当天 20241010,则传入 20241011 支持查询,但传入 20241012 会报错。
示例值:20190817
check_date_toint查询的结束日期,与 check_date_from 的时间间隔不超过 30 天。格式yyyyMMdd
示例值:20190820
check_date_typestring查询依据的时间类型(不填默认依据PeriodTime)
示例值:"PeriodTime"
可选值有
- PeriodTime: 单据作用时间 - CreateTime: 单据创建时间 - UpdateTime: 单据状态更新时间(灰度中,暂不开放)
statusint查询状态(不填默认查询已通过状态)
请假、加班:仅支持已通过和已撤回状态
外出、出差:支持查询所有状态
示例值:2
可选值有
- 0: 待审批 - 1: 未通过 - 2: 已通过 - 3: 已撤回 - 4: 已撤销
check_time_fromstring查询的起始时间,精确到秒的时间戳(灰度中,暂不开放)
示例值:"1566641088"
check_time_tostring查询的结束时间,精确到秒的时间戳(灰度中,暂不开放)
示例值:"1592561088"

请求体示例

json
{
    "user_ids": [
        "abd754f7"
    ],
    "check_date_from": 20190817,
    "check_date_to": 20190820,
    "check_date_type": "PeriodTime",
    "status": 2,
    "check_time_from": "1566641088",
    "check_time_to": "1592561088"
}

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data\--
  └ user_approvalsuser_approval\[\]审批结果列表
    └ user_idstring审批用户 ID,类型与employee_type的取值一致
    └ datestring审批作用日期,格式yyyyMMdd
    └ outsuser_out\[\]外出信息
      └ approval_idstring审批实例 ID
      └ uniq_idstring外出类型唯一 ID,代表一种假期类型,长度小于 14 * 此ID对应外出类型(i.e.: i18n_names),因此需要保证唯一
      └ unitint外出时长单位
可选值有
- 1: 天 - 2: 小时 - 3: 半天 - 4: 半小时
      └ intervalint关联审批单外出时长,单位为秒,与unit无关
      └ start_timestring开始时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ end_timestring结束时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ i18n_namesi18n_names外出多语言展示,格式为 map,key 为 ["ch"、"en"、"ja"],其中 ch 代表中文、en 代表英语、ja 代表日语
        └ chstring中文描述
        └ enstring英语描述
        └ jastring日语描述
      └ default_localestring默认语言类型,由于飞书客户端支持中、英、日三种语言,当用户切换语言时,如果假期名称没有所对应的语言,会使用默认语言的名称
      └ reasonstring外出理由
      └ approve_pass_timestring审批通过时间,时间格式为 yyyy-MM-dd HH:mm:ss
      └ approve_apply_timestring审批申请时间,时间格式为 yyyy-MM-dd HH:mm:ss
      └ idempotent_idstring唯一幂等键
      └ correct_process_idstring\[\]更正流程实例 ID
      └ cancel_process_idstring\[\]撤销流程实例 ID
      └ process_idstring\[\]发起流程实例 ID
    └ leavesuser_leave\[\]请假信息
      └ approval_idstring审批实例 ID
      └ uniq_idstring假期类型唯一 ID,代表一种假期类型,长度小于 14 * 此ID对应假期类型(i.e.: i18n_names),因此需要保证唯一
      └ unitint假期时长单位
可选值有
- 1: 天 - 2: 小时 - 3: 半天 - 4: 半小时
      └ intervalint关联审批单休假时长,单位为秒,与unit无关
      └ start_timestring开始时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ end_timestring结束时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ i18n_namesi18n_names假期多语言展示,格式为 map,key 为 ["ch"、"en"、"ja"],其中 ch 代表中文、en 代表英语、ja 代表日语
        └ chstring中文描述
        └ enstring英语描述
        └ jastring日语描述
      └ default_localestring默认语言类型,由于飞书客户端支持中、英、日三种语言,当用户切换语言时,如果假期名称没有所对应的语言,会使用默认语言的名称
可选值有
- ch: 中文 - en: 英文 - ja: 日文
      └ reasonstring请假理由,必选字段
      └ approve_pass_timestring审批通过时间,时间格式为 yyyy-MM-dd HH:mm:ss
      └ approve_apply_timestring审批申请时间,时间格式为 yyyy-MM-dd HH:mm:ss
      └ idempotent_idstring唯一幂等键
    └ overtime_worksuser_overtime_work\[\]加班信息
      └ approval_idstring审批实例 ID
      └ durationnumber(float)加班时长
      └ unitint加班时长单位
可选值有
- 1: 天 - 2: 小时 - 3: 半天 - 4: 半小时
      └ categoryint加班日期类型
可选值有
- 1: 工作日 - 2: 休息日 - 3: 节假日
      └ typeint加班规则类型
可选值有
- 0: 不关联加班规则 - 1: 调休 - 2: 加班费 - 3: 关联加班规则,没有调休或加班费
      └ start_timestring开始时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ end_timestring结束时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ reasonstring加班事由
      └ idempotent_idstring唯一幂等键
      └ correct_process_idstring\[\]更正流程实例 ID
      └ cancel_process_idstring\[\]撤销流程实例 ID
      └ process_idstring\[\]发起流程实例 ID
    └ tripsuser_trip\[\]出差信息
      └ approval_idstring审批实例 ID
      └ start_timestring开始时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ end_timestring结束时间,时间格式为 yyyy-MM-dd HH:mm:ss。
时间按照审批发起人当前考勤组的时区进行取值,如果发起人已离职,则默认为 0 时区。
      └ reasonstring出差理由
      └ approve_pass_timestring审批通过时间,时间格式为 yyyy-MM-dd HH:mm:ss
      └ approve_apply_timestring审批申请时间,时间格式为 yyyy-MM-dd HH:mm:ss
      └ idempotent_idstring唯一幂等键
      └ correct_process_idstring\[\]更正流程实例 ID
      └ cancel_process_idstring\[\]撤销流程实例 ID
      └ process_idstring\[\]发起流程实例 ID
      └ departureregion_place出发地(只有一个)
        └ region_levelstring地理等级(国家|省|市|区)
        └ region_idstring地理id
      └ destinationsregion_place\[\]目的地(可写多个)
        └ region_levelstring地理等级(国家|省|市|区)
        └ region_idstring地理id
      └ transportationint\[\]交通工具(1 飞机,2 火车,3 汽车,4 高铁/动车,5 船,6 其他)
      └ trip_typeint出差类型(1:单程 2:往返)
      └ remarksstring出差备注
    └ time_zonestring计算时间所用的时区信息,为空则为0时区

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {
        "user_approvals": [
            {
                "user_id": "abd754f7",
                "date": "20210104",
                "outs": [
                    {
                        "approval_id": "6737202939523236113",
                        "uniq_id": "9496E43696967658A512969523E89870",
                        "unit": 1,
                        "interval": 8,
                        "start_time": "2021-01-04 09:00:00",
                        "end_time": "2021-01-04 19:00:00",
                        "i18n_names": {
                            "ch": "中文描述",
                            "en": "English description",
                            "ja": "日本語の説明"
                        },
                        "default_locale": "ch",
                        "reason": "外出办事",
                        "approve_pass_time": "2021-01-04 12:00:00",
                        "approve_apply_time": "2021-01-04 11:00:00",
                        "idempotent_id": "1233432312",
                        "correct_process_id": [
                            "7304865941202929196"
                        ],
                        "cancel_process_id": [
                            "7304865941202929196"
                        ],
                        "process_id": [
                            "7304865941202929196"
                        ]
                    }
                ],
                "leaves": [
                    {
                        "approval_id": "6737202939523236113",
                        "uniq_id": "6852582717813440527",
                        "unit": 1,
                        "interval": 8,
                        "start_time": "2021-01-04 09:00:00",
                        "end_time": "2021-01-04 19:00:00",
                        "i18n_names": {
                            "ch": "中文描述",
                            "en": "English description",
                            "ja": "日本語の説明"
                        },
                        "default_locale": "ch",
                        "reason": "家里有事",
                        "approve_pass_time": "2021-01-04 12:00:00",
                        "approve_apply_time": "2021-01-04 11:00:00",
                        "idempotent_id": "1233432312"
                    }
                ],
                "overtime_works": [
                    {
                        "approval_id": "6737202939523236113",
                        "duration": 1.5,
                        "unit": 1,
                        "category": 2,
                        "type": 1,
                        "start_time": "2021-01-09 09:00:00",
                        "end_time": "2021-01-10 13:00:00",
                        "reason": "推进项目进度",
                        "idempotent_id": "1233432312",
                        "correct_process_id": [
                            "7304865941202929196"
                        ],
                        "cancel_process_id": [
                            "7304865941202929196"
                        ],
                        "process_id": [
                            "7304865941202929196"
                        ]
                    }
                ],
                "trips": [
                    {
                        "approval_id": "6737202939523236113",
                        "start_time": "2021-01-04 09:00:00",
                        "end_time": "2021-01-04 19:00:00",
                        "reason": "培训",
                        "approve_pass_time": "2021-01-04 12:00:00",
                        "approve_apply_time": "2021-01-04 11:00:00",
                        "idempotent_id": "1233432312",
                        "correct_process_id": [
                            "7304865941202929196"
                        ],
                        "cancel_process_id": [
                            "7304865941202929196"
                        ],
                        "process_id": [
                            "7304865941202929196"
                        ],
                        "departure": {
                            "region_level": "l1:国家级",
                            "region_id": "6863333418483058189"
                        },
                        "destinations": [
                            {
                                "region_level": "l1:国家级",
                                "region_id": "6863333418483058189"
                            }
                        ],
                        "transportation": [
                            1
                        ],
                        "trip_type": 1,
                        "remarks": "出差备注"
                    }
                ],
                "time_zone": "Asia/Shanghai"
            }
        ]
    }
}

错误码

HTTP状态码错误码描述排查建议
4001220001param is invalis入参校验失败,请根据具体返回的信息检查入参。例如“employee_type invalid”代表人员类型异常。如仍无法解决可联系 技术支持
4001220002tenant_id is empty请检查入参中的 tenant_access_token是否正确
4001220004param is invalis请参考实际返回的错误信息排查问题。例如“user_id is not exist or does not have permission”代表入参传入的用户id不存在或者没有权限。如仍无法解决可联系 技术支持
4001220005没有权限请前往考勤管理后台检查数据权限范围
5001225000param is invalis请参考实际返回的错误信息排查问题。例如“internal server error”代表内部服务异常。如仍无法解决可联系 技术支持
5001226000param is invalis班次服务异常错误码,请参考实际返回的错误信息排查问题。例如“internal server error”代表内部服务异常。如仍无法解决可联系 技术支持
5001226500历史错误码,不再使用-
4001220600通用错误信息通用错误信息包含多条,详细的错误信息以及处理建议可参见错误信息

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