dingtalk.oapi.attendance.approve.finish (审批通过时通知考勤修改打卡结果)

该接口提供通过审批修改打卡结果的能力,如外出,请假,审批等,指定时间内的打卡结果会被修改为正常

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
userid String 可选 dd_dd 员工的user_id
biz_type Number 可选 3 审批单类型1:加班,2:外出、出差,3:请假
from_time String 可选 2019-08-15 开始时间,支持的时间格式 2019-08-15/2019-08-15 AM/2019-08-15 12:43。开始时间不能早于当前时间前31天
to_time String 可选 2019-08-17 结束时间,支持的时间格式 2019-08-15/2019-08-15 AM/2019-08-15 12:43。结束时间减去开始时间的天数不能超过31天。biz_type为1时结束时间减去开始时间不能超过1天
duration_unit String 可选 day 时长单位,支持的day,halfDay,hour,biz_type为1时仅支持hour。时间格式必须与时长单位对应,2019-08-15对应day,2019-08-15 AM对应halfDay,2019-08-15 12:43对应hour
calculate_model Number 可选 1 计算方法,0:按自然日计算,1:按工作日计算
tag_name String 可选 请假
  • 最大长度:20
  • 审批单类型名称,最大长度20个字符
    sub_type String 可选 年假
  • 最大长度:20
  • 子类型名称,最大长度20个字符
    approve_id String 可选 1234abcd
  • 最大长度:100
  • 审批单全局唯一id,最大长度100个字符
    jump_url String 可选 https://xxx.xxx
  • 最大长度:200
  • 审批单跳转地址,最大长度100个字符
    overtime_duration String 可选 1.07 biz_type为1时必传,加班时长单位小时
    overtime_to_more Number 可选 1 biz_type为1时必传,1:加班转调休,2:加班转工资
    dingtalk_approve_id String 可选 934873875
  • 最大长度:64
  • 钉钉侧审批单全局唯一id,最大长度64个字符

    响应参数

    名称 类型 示例值 描述
    errcode Number 0 0代表成功,其他代表失败
    errmsg String 872995737 错误信息
    result TopDurationVo demo demo
    • └ duration
    • String
    • 2.0
    • 总时长
    • durationDetail
    • TopDayDurationVo []
    • demo
    • demo
    • └ date
    • String
    • 2019-08-15
    • 日期
    • └ duration
    • String
    • 1.0
    • 每日时长

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/approve/finish");
    OapiAttendanceApproveFinishRequest req = new OapiAttendanceApproveFinishRequest();
    req.setUserid("dd_dd");
    req.setBizType(3L);
    req.setFromTime("2019-08-15");
    req.setToTime("2019-08-17");
    req.setDurationUnit("day");
    req.setCalculateModel(1L);
    req.setTagName("请假");
    req.setSubType("年假");
    req.setApproveId("1234abcd");
    req.setJumpUrl("https://xxx.xxx");
    req.setOvertimeDuration("1.07");
    req.setOvertimeToMore(1L);
    req.setDingtalkApproveId("934873875");
    OapiAttendanceApproveFinishResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());

    响应示例

    • JSON示例
    {
        "errcode":0,
        "errmsg":"872995737",
        "result":{
            "duration":"2.0",
            "durationDetail":[
                {
                        "date":"2019-08-15",
                        "duration":"1.0"
                }
            ]
        }
    }

    异常示例

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

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部