dingtalk.oapi.attendance.approve.schedule.switch (审批通过后进行换班操作)

该接口提供了通过审批单进行换班的能力,可以和自己换班,也可以和别人换班。有以下几个约束条件 1.换班双方必须都在排班制考勤组。 2.换班日期和还班日期双方必须都要有排班或排休 3.换完班后的打卡时间不能有冲突,例如原先1号的排班是8:00-22:00,2号的排班是10:00-次日9:00,换完班后1号的排班是10:00-次日9:00,2号的排班是8:00-22:00,此时1号的打卡时间范围内包含了2号上班时间,这种情况称之为打卡时间冲突。

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
userid String 必须 dd_dd 发起人的user_id
switch_date String 必须 2019-09-08 申请换班日期,当天必须有排班或排休
reback_date String 可选 2019-09-09 还班日期,当天必须有排班或排休,如果申请换班人和被换班人是同一个人,那么必须要有还班日期
apply_userid String 必须 dd_dd 申请换班人id,仅支持排班制考勤组用户
target_userid String 必须 aa_aa 被换班人id,仅支持排班制考勤组用户
apply_shift_id Number 可选 123 申请人换班日期当天的班次id
target_shift_id Number 可选 456 被换班人换班日期当天的班次id
reback_apply_shift_id Number 可选 789 申请人还班日期当天的班次id
reback_target_shift_id Number 可选 897 被换班人还班日期当天的班次id
approve_id String 必须 asdasdjashd
  • 最大长度:100
  • 审批单唯一id

    响应参数

    名称 类型 示例值 描述
    errcode Number 0 0代表成功,其他代表失败
    errmsg String 872995737 错误信息

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/approve/schedule/switch");
    OapiAttendanceApproveScheduleSwitchRequest req = new OapiAttendanceApproveScheduleSwitchRequest();
    req.setUserid("dd_dd");
    req.setSwitchDate("2019-09-08");
    req.setRebackDate("2019-09-09");
    req.setApplyUserid("dd_dd");
    req.setTargetUserid("aa_aa");
    req.setApplyShiftId(123L);
    req.setTargetShiftId(456L);
    req.setRebackApplyShiftId(789L);
    req.setRebackTargetShiftId(897L);
    req.setApproveId("asdasdjashd");
    OapiAttendanceApproveScheduleSwitchResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());

    响应示例

    • JSON示例
    {
        "errcode":0,
        "errmsg":"872995737"
    }

    异常示例

    • JSON示例
    {
    	"errcode":88,
    	"errmsg":"ding talk error"
    }

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部