创建或修改排班表
排班表是用来描述考勤组内人员每天按哪个班次进行上班。目前排班表支持按x月y日对一位或多位人员进行排班。当用户的排班数据不存在时会进行创建,当用户的排班数据存在时会按照入参信息进行修改。注意:每人每天只能在一个考勤组中。
Warning: 注意:如果返回code=0,但是msg返回如{人员:[日期,日期]}格式,代表人员在排班日期下未生效。这种一般是考勤组id与人员不匹配造成。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/attendance/v1/user_daily_shifts/batch_create |
| HTTP Method | POST |
| 接口频率限制 | 50 次/秒 |
| 支持的应用类型 | custom |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 | attendance:rule 写入打卡管理规则 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| 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_id 的员工ID类型。如果没有后台管理权限,可使用通过手机号或邮箱获取用户 ID 示例值:employee_id 可选值有: - employee_id: 员工 employee ID,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的用户 ID,或者通过手机号或邮箱获取用户 ID获取的userid。 - employee_no: 员工工号,即飞书管理后台 > 组织架构 > 成员与部门 > 成员详情中的工号 |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
user_daily_shifts | user_daily_shift\[\] | 是 | 排班表信息列表(数量限制50以内) |
└ group_id | string | 是 | 考勤组 ID,获取方式:1)创建或修改考勤组 2)按名称查询考勤组 3)获取打卡结果 示例值:"6737202939523236110" |
└ shift_id | string | 是 | 班次 ID,获取方式:1)按名称查询班次 2)创建班次。传入0代表休息。 示例值:"6753520403404030215" |
└ month | int | 是 | 月份,格式yyyyMM 示例值:202101 |
└ user_id | string | 是 | 用户 ID,与employee_type对应 示例值:"abd754f7" |
└ day_no | int | 是 | 日期 示例值:21 |
└ is_clear_schedule | boolean | 否 | 是否清空班次 (此字段优先于 shift_id,若为true ,shift_id 将失效) 示例值:true |
operator_id | string | 否 | 操作人uid,与employee_type对应。如果您未操作考勤管理后台“API 接入”流程,则此字段为必填字段 示例值:"dd31248a" |
请求体示例
json
{
"user_daily_shifts": [
{
"group_id": "6737202939523236110",
"shift_id": "6753520403404030215",
"month": 202101,
"user_id": "abd754f7",
"day_no": 21,
"is_clear_schedule": true
}
],
"operator_id": "dd31248a"
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ user_daily_shifts | user_daily_shift\[\] | 班表信息列表 |
└ group_id | string | 考勤组 ID,可用于按 ID 查询考勤组 |
└ shift_id | string | 班次 ID,可用于按 ID 查询班次 |
└ month | int | 月份 |
└ user_id | string | 用户 ID,与employee_type对应 |
└ day_no | int | 日期 |
└ is_clear_schedule | boolean | 是否清空班次 (此字段优先于 shift_id,若为true ,shift_id 将失效) |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"user_daily_shifts": [
{
"group_id": "6737202939523236110",
"shift_id": "6753520403404030215",
"month": 202101,
"user_id": "abd754f7",
"day_no": 21,
"is_clear_schedule": true
}
]
}
}错误码
| 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不存在或者没有权限。如仍无法解决可联系 技术支持 |
| 400 | 1220005 | 没有权限 | 请前往考勤管理后台检查数据权限范围 |
| 400 | 1220600 | 通用错误信息 | 通用错误信息包含多条,详细的错误信息以及处理建议可参见 错误信息 |
| 400 | 1225000 | param is invalid | 请参考实际返回的错误信息排查问题。例如“internal server error”代表内部服务异常。如仍无法解决可联系 技术支持 |
| 400 | 1226000 | param is invalid | 班次服务异常错误码,请参考实际返回的错误信息排查问题。例如“internal server error”代表内部服务异常。如仍无法解决可联系 技术支持 |
| 400 | 1226003 | param is invalid | 请参考实际返回的错误信息排查问题。例如“default shift are not allowed to change.”代表默认班次不能修改。如仍无法解决可联系 技术支持 |
