批量查询打卡流水
通过用户 ID 获取用户的打卡流水记录。返回信息主要包含:
- 用户id和创建者id
- 记录信息
- 打卡位置信息、时间信息
- 打卡方式信息
- GPS 打卡:location_name(定位地址信息)
- Wi-Fi 打卡:ssid(wifi名称)、bssid(mac地址)
- 考勤机打卡:device_id(考勤机设备id)
对应页面功能打卡管理-打卡记录
Warning: 这里只返回有效的打卡流水,无效或待生效的不会返回
Tip: 如果只需获取打卡结果,而不需要详细的打卡数据,可使用“获取打卡结果”的接口。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/attendance/v1/user_flows/query |
| HTTP Method | POST |
| 接口频率限制 | 50 次/秒 |
| 支持的应用类型 | custom |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 | 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类型(user_ids的类型必须与本参数的取值一致)。如果没有后台管理权限,可使用通过手机号或邮箱获取用户 ID 示例值:employee_id 可选值有: - employee_id: 员工 employee ID,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的用户 ID - employee_no: 员工工号,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的工号 |
include_terminated_user | boolean | 否 | 由于新入职用户可以复用已离职用户的employee_no/employee_id。如果true,返回employee_no/employee_id对应的所有在职+离职用户数据;如果false,只返回employee_no/employee_id对应的在职或最近一个离职用户数据 示例值:true |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
user_ids | string\[\] | 是 | employee_no 或 employee_id 列表,长度不超过 50 示例值:["abd754f7"] |
check_time_from | string | 是 | 查询的起始时间(包含),秒级时间戳。[check_time_from, check_time_to) 为左闭右开区间 示例值:"1566641088" |
check_time_to | string | 是 | 查询的结束时间(不包含),秒级时间戳。[check_time_from, check_time_to) 为左闭右开区间 示例值:"1566641088" |
请求体示例
json
{
"user_ids": [
"abd754f7"
],
"check_time_from": "1566641088",
"check_time_to": "1566641088"
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ user_flow_results | user_flow\[\] | 打卡记录列表 |
└ user_id | string | 用户 ID,对应employee_type |
└ creator_id | string | 记录创建者 ID,对应employee_type |
└ location_name | string | 打卡位置名称信息 |
└ check_time | string | 打卡时间,秒级时间戳 |
└ comment | string | 打卡备注 |
└ record_id | string | 对应打卡流水记录ID |
└ ssid | string | 打卡 Wi-Fi 的 SSID |
└ bssid | string | 打卡 Wi-Fi 的 MAC 地址 |
└ is_field | boolean | 是否为外勤打卡 |
└ is_wifi | boolean | 是否为 Wi-Fi 打卡 |
└ type | int | 记录生成方式,在开放平台调用时,此参数无效,内部值始终是7 可选值有: - 0: 用户打卡 - 1: 管理员修改 - 2: 用户补卡 - 3: 系统自动生成 - 4: 下班免打卡 - 5: 考勤机 - 6: 极速打卡 - 7: 考勤开放平台导入 |
└ photo_urls | string\[\] | 打卡照片列表 |
└ device_id | string | 打卡设备ID(只支持小程序打卡,导入时无效) |
└ check_result | string | 无效字段。如需获取打卡结果请使用获取打卡结果 可选值有: - NoNeedCheck: 无需打卡 - SystemCheck: 系统打卡 - Normal: 正常 - Early: 早退 - Late: 迟到 - SeriousLate: 严重迟到 - Lack: 缺卡 - Invalid: 无效 - None: 无状态 - Todo: 尚未打卡 |
└ external_id | string | 用户导入的外部打卡记录ID |
└ idempotent_id | string | 唯一幂等键 |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"user_flow_results": [
{
"user_id": "abd754f7",
"creator_id": "abd754f7",
"location_name": "西溪八方城",
"check_time": "1611476284",
"comment": "上班打卡",
"record_id": "6709359313699356941",
"ssid": "b0:b8:67:5c:1d:72",
"bssid": "b0:b8:67:5c:1d:72",
"is_field": true,
"is_wifi": true,
"type": 7,
"photo_urls": [
"https://time.clockin.biz/manage/download/6840389754748502021"
],
"device_id": "99e0609ee053448596502691a81428654d7ded64c7bd85acd982d26b3636c37d",
"check_result": "PendingApproval",
"external_id": "record_123",
"idempotent_id": "****_***"
}
]
}
}错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 1220001 | param is invalid | 入参校验失败,请根据具体返回的信息检查入参。例如“employee_type invalid”代表人员类型异常。如仍无法解决可联系 技术支持 |
| 400 | 1220002 | Tenant does not exist | 请检查请求Header中的 tenant_access_token(tenant_access_token 通常位于请求Header的Authorization字段中,格式为Bearer {tenant_access_token})是否正确 |
| 400 | 1220004 | param is invalid | 请参考实际返回的错误信息排查问题。例如“user_id is not exist or does not have permission”代表入参传入的用户id不存在或者没有权限。如仍无法解决可联系 技术支持 |
| 400 | 1220005 | Permission denied | 请前往考勤管理后台检查数据权限范围 |
| 500 | 1225000 | param is invalid | 请参考实际返回的错误信息排查问题。例如“internal server error”代表内部服务异常。如仍无法解决可联系 技术支持 |
| 500 | 1226500 | Historical error code, no longer in use | 请使用最新的错误码进行排查,如仍有问题可联系 技术支持 |
| 500 | 1227500 | param is invalid | 班次服务异常错误码,请参考实际返回的错误信息排查问题。例如“[BatchGetLarkIDByOpenID] not find user larkID”代表没有找到对应lark uid。如仍无法解决可联系 技术支持 |
| 400 | 1220600 | General error information | 通用错误信息包含多条,详细的错误信息以及处理建议可参见 错误信息 |
