查询统计数据
查询日度统计或月度统计的统计数据。字段包含基本信息、考勤组信息、出勤统计、异常统计、请假统计、加班统计、打卡时间、考勤结果和自定义字段。具体报表可在考勤统计-报表中找到
Tip: * 当天不在考勤组时没有相关统计数据
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/attendance/v1/user_stats_datas/query |
| HTTP Method | POST |
| 接口频率限制 | 50 次/秒 |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | attendance:task 写入打卡数据 attendance:task:readonly 导出打卡数据 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
employee_type | string | 是 | 请求体中的 user_ids 和响应体中的 user_id 的员工ID类型。如果没有后台管理权限,可使用通过手机号或邮箱获取用户 ID 示例值:employee_id 可选值有: - employee_id: 员工 employee ID,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的用户 ID - employee_no: 员工工号,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的工号 |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
locale | string | 是 | 语言类型 示例值:"zh" 可选值有: - en: 英语 - ja: 日语 - zh: 中文 |
stats_type | string | 是 | 统计类型 示例值:"month" 可选值有: - daily: 日度统计 - month: 月度统计 |
start_date | int | 是 | 开始时间,格式yyyyMMdd 示例值:20210316 |
end_date | int | 是 | 结束时间,格式yyyyMMdd (时间间隔不超过 31 天) 示例值:20210323 |
user_ids | string\[\] | 否 | 查询的用户 ID 列表,与employee_type对应 (用户数量不超过 200) * 必填字段(已全部升级到新系统,新系统要求必填) 示例值:["ec8ddg56", "af5ddg73"] |
need_history | boolean | 否 | 是否包含离职人员和转出人员,默认为false不包含 示例值:true |
current_group_only | boolean | 否 | * true:只展示员工当前所属考勤组数据 * false:展示员工所有考勤组数据默认值:false示例值:true |
user_id | string | 否 | 操作者的 user_id。与employee_type对应 * 不同的操作者(管理员)的每个报表可能有不同的字段设置,系统将根据 user_id 查询指定报表的统计数据。 * 必填字段(已全部升级到新系统,新系统要求该字段必填)。 示例值:"ec8ddg56" |
请求体示例
json
{
"locale": "zh",
"stats_type": "month",
"start_date": 20210316,
"end_date": 20210323,
"user_ids": [
"ec8ddg56",
"af5ddg73"
],
"need_history": true,
"current_group_only": true,
"user_id": "ec8ddg56"
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ user_datas | user_stats_data\[\] | 用户统计数据(限制1000条,超过1000条会截断) |
└ name | string | 用户姓名 |
└ user_id | string | 用户 ID |
└ datas | user_stats_data_cell\[\] | 用户的统计数据,code信息对应查询统计表头 |
└ code | string | 字段编号 |
└ value | string | 数据值 |
└ features | user_stats_data_feature\[\] | 数据属性 |
└ key | string | 统计数据列附加属性的名称 |
└ value | string | 统计数据列附加属性的值。 * 先展示上下班的打卡结果,再展示假勤申请时间(如果有) |
└ title | string | 字段标题 |
└ duration_num | user_stats_data_duration | 时长,这个字段是一个map,key为时间单位,value为对应的时长值 |
└ day | string | 天 |
└ half_day | string | 半天 |
└ hour | string | 小时 |
└ half_hour | string | 半小时 |
└ minute | string | 分钟 |
└ invalid_user_list | string\[\] | 无权限获取的用户列表,与employee_type对应 |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"user_datas": [
{
"name": "小李",
"user_id": "ec8ddg56",
"datas": [
{
"code": "50102",
"value": "无需打卡(-), 无需打卡(-)",
"features": [
{
"key": "Abnormal",
"value": "false"
}
],
"title": "姓名",
"duration_num": {
"day": "1",
"half_day": "1",
"hour": "1",
"half_hour": "1",
"minute": "1"
}
}
]
}
],
"invalid_user_list": [
"af5ddg73"
]
}
}错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 1220001 | param is invalid | 入参校验失败,请根据具体返回的信息检查入参。例如“employee_type invalid”代表人员类型异常。如仍无法解决可联系 技术支持 |
| 400 | 1220002 | tenant_id is empty | 请检查入参中的 tenant_access_token是否正确 |
| 400 | 1220004 | param is invalid | 请参考实际返回的错误信息排查问题。例如“user_id is not exist or does not have permission”代表入参传入的用户id不存在或者没有权限。如仍无法解决可联系 技术支持 |
| 500 | 1228000 | 历史错误码,不再使用 | - |
| 400 | 1220600 | 通用错误信息 | 通用错误信息包含多条,详细的错误信息以及处理建议可参见 错误信息 |
