dingtalk.oapi.attendance.vacation.type.create (假期类型添加)

添加假期类型

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
leave_name String 必须 年假 假期名称
leave_view_unit String 必须 day 请假单位,可以按照天半天或者小时请假。(day、halfDay、hour其中一种)
biz_type String 必须 general_leave 假期类型,普通假期或者加班转调休假期。(general_leave、lieu_leave其中一种)
natural_day_leave Boolean 必须 true 是否按照自然日统计请假时长,当为false的时候,用户发起请假时候会根据用户在请假时间段内的排班情况来计算请假时长
op_userid String 必须 03085665764167 操作者ID
hours_in_per_day Number 必须 1000 每天折算的工作时长(百分之一 例如1天=10小时=1000)
extras String 可选 {"validity_type":"absolute_time","validity_value":"12-31"} 调休假有效期规则(validity_type:有效类型 absolute_time(绝对时间)、relative_time(相对时间)其中一种 validity_value:延长日期(当validity_type为absolute_time该值该值不为空且满足yy-mm格式 validity_type为relative_time该值为大于1的整数))
visibility_rules LeaveVisibilityRuleVo [] 可选
  • 最大列表长度:100
  • 该假期类型的“适用范围”规则列表,不填默认为全公司
    • └ visible
    • String []
    • 可选
    • userid1,userid2
    • 规则数据:当type=staff时,传员工userId列表;当type=dept时,传部门id列表;当type=label时,传角色id列表
    • └ type
    • String
    • 可选
    • staff
    • 规则类型:dept-部门;staff-员工;label-角色
    when_can_leave String 可选 entry 新员工请假:何时可以请假(entry-入职开始 、formal-转正后)
    paid_leave Boolean 可选 true 是否带薪假期
    freedom_leave Boolean 可选 false 不需要余额控制的请假类型(如事假),默认false
    leave_time_ceil_min_unit String 可选 hour 请假时长向上取整时的最小时长单位:hour-不足1小时按照1小时计算;halfHour-不足半小时按照半小时计算
    leave_time_ceil Boolean 可选 false 是否开启请假时长是否向上取整
    min_leave_hour Number 可选 2 请假时,最小请假时长(请假单位为hour时生效),请假时长小于该值时自动取该值,有效值:[0, 23]
    submit_time_rule SubmitTimeRuleVO 可选 限时提交规则
    • └ time_value
    • Number
    • 可选
    • 1
    • 限制值:timeUnit=day时,有效值范围[0~30] 天;timeUnit=hour时,有效值范围[0~24] 小时
    • └ time_unit
    • String
    • 可选
    • day
    • 时间单位:day-天;hour-小时
    • └ time_type
    • String
    • 可选
    • before
    • 限制类型:before-提前;after-补交
    • └ enable_time_limit
    • Boolean
    • 可选
    • false
    • 是否开启限时提交功能:仅且为true时开启
    leave_certificate LeaveCertificate 可选 请假证明
    • └ unit
    • String
    • 可选
    • hour
    • 请假证明单位hour,day
    • └ duration
    • Number
    • 可选
    • 1
    • 超过多长时间需提供请假证明
    • └ enable
    • Boolean
    • 可选
    • false
    • 是否开启请假证明
    • └ prompt_information
    • String
    • 可选
    • 请假信息
    • 请假提示文案
    max_leave_time Number 可选 1 最大请假时长
    leave_hour_ceil String 可选 up 取整,up或者down

    响应参数

    名称 类型 示例值 描述
    errcode Number 0 错误码
    errmsg String 成功 错误消息
    success Boolean true 是否正确访问
    result LeaveTypeVo 业务结果
    • └ leave_name
    • String
    • 年假
    • 假期名称
    • └ leave_code
    • String
    • 037477ae-1009-4632-b8e9-e919ae5e7973
    • 假期类型唯一标识
    • └ leave_view_unit
    • String
    • day
    • 请假单位,可以按照天半天或者小时请假。(day、halfDay、hour其中一种)
    • └ biz_type
    • String
    • general_leave
    • 假期类型,普通假期或者加班转调休假期。(general_leave、lieu_leave其中一种)
    • └ natural_day_leave
    • Boolean
    • true
    • 是否按照自然日统计请假时长,当为false的时候,用户发起请假时候会根据用户在请假时间段内的排班情况来计算请假时长。
    • └ hours_in_per_day
    • Number
    • 1000
    • 每天折算的工作时长(百分之一 例如1天=10小时=1000)
    • visibility_rules
    • LeaveVisibilityRuleVo []
    • 该假期类型的“适用范围”规则列表
    • └ visible
    • String []
    • userid1,userid2
    • 规则数据:当type=staff时,为员工userId列表;当type=dept时,为部门id列表;当type=label时,为角色id列表
    • └ type
    • String
    • staff
    • 规则类型:dept-部门;staff-员工;label-角色
    • └ when_can_leave
    • String
    • entry
    • 新员工请假:何时可以请假(entry-入职开始 、formal-转正后)
    • └ paid_leave
    • Boolean
    • true
    • 是否带薪假期
    • └ freedom_leave
    • Boolean
    • false
    • 不需要余额控制的请假类型(如事假)
    • └ leave_time_ceil_min_unit
    • String
    • hour
    • 请假时长向上取整时的最小时长单位:hour-不足1小时按照1小时计算;halfHour-不足半小时按照半小时计算
    • └ leave_time_ceil
    • Boolean
    • false
    • 是否开启请假时长是否向上取整
    • └ min_leave_hour
    • Number
    • 2
    • 请假时,最小请假时长(请假单位为hour时生效),请假时长小于该值时自动取该值,有效值:[0, 23]
    • submit_time_rule
    • SubmitTimeRuleVo
    • {"enableTimeLimit":true,"timeType":"before","timeUnit":"day","timeValue":1}
    • 限时提交规则
    • └ time_value
    • Number
    • 1
    • 限制值:timeUnit=day时,有效值范围[0~30] 天;timeUnit=hour时,有效值范围[0~24] 小时
    • └ time_unit
    • String
    • day
    • 时间单位:day-天;hour-小时
    • └ time_type
    • String
    • before
    • 限制类型:before-提前;after-补交
    • └ enable_time_limit
    • Boolean
    • false
    • 是否开启限时提交功能:仅且为true时开启
    • leave_certificate
    • LeaveCertificate
    • 请假证明
    • └ unit
    • String
    • hour
    • 请假证明单位hour,day
    • └ duration
    • Number
    • 1
    • 超过多长时间需提供请假证明
    • └ enable
    • Boolean
    • false
    • 是否开启请假证明
    • └ prompt_information
    • String
    • 请假信息
    • 请假提示文案
    • └ max_leave_time
    • Number
    • 1
    • 最大请假时长
    • └ leave_hour_ceil
    • String
    • up
    • 请假取整up或者down

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/vacation/type/create");
    OapiAttendanceVacationTypeCreateRequest req = new OapiAttendanceVacationTypeCreateRequest();
    req.setLeaveName("年假");
    req.setLeaveViewUnit("day");
    req.setBizType("general_leave");
    req.setNaturalDayLeave(true);
    req.setOpUserid("03085665764167");
    req.setHoursInPerDay(1000L);
    req.setExtras("{\"validity_type\":\"absolute_time\",\"validity_value\":\"12-31\"}");
    List<LeaveVisibilityRuleVo> list2 = new ArrayList<LeaveVisibilityRuleVo>();
    LeaveVisibilityRuleVo obj3 = new LeaveVisibilityRuleVo();
    list2.add(obj3);
    obj3.setVisible("userid1,userid2");
    obj3.setType("staff");
    req.setVisibilityRules(list2);
    req.setWhenCanLeave("entry");
    req.setPaidLeave(true);
    req.setFreedomLeave(false);
    req.setLeaveTimeCeilMinUnit("hour");
    req.setLeaveTimeCeil(false);
    req.setMinLeaveHour(2L);
    SubmitTimeRuleVO obj4 = new SubmitTimeRuleVO();
    obj4.setTimeValue(1L);
    obj4.setTimeUnit("day");
    obj4.setTimeType("before");
    obj4.setEnableTimeLimit(false);
    req.setSubmitTimeRule(obj4);
    LeaveCertificate obj5 = new LeaveCertificate();
    obj5.setUnit("hour");
    obj5.setDuration(1L);
    obj5.setEnable(false);
    obj5.setPromptInformation("请假信息");
    req.setLeaveCertificate(obj5);
    req.setMaxLeaveTime(1L);
    req.setLeaveHourCeil("up");
    OapiAttendanceVacationTypeCreateResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());

    响应示例

    • JSON示例
    {
        "errcode":0,
        "errmsg":"成功",
        "success":true,
        "result":{
            "leave_name":"年假",
            "leave_code":"037477ae-1009-4632-b8e9-e919ae5e7973",
            "leave_view_unit":"day",
            "biz_type":"general_leave",
            "natural_day_leave":true,
            "hours_in_per_day":1000,
            "visibility_rules":[
                {
                        "visible":{
                            "string":[
                                "userid1",
                                "userid2"
                            ]
                        },
                        "type":"staff"
                }
            ],
            "when_can_leave":"entry",
            "paid_leave":true,
            "freedom_leave":false,
            "leave_time_ceil_min_unit":"hour",
            "leave_time_ceil":false,
            "min_leave_hour":2,
            "submit_time_rule":{
                "time_value":1,
                "time_unit":"day",
                "time_type":"before",
                "enable_time_limit":false
            },
            "leave_certificate":{
                "unit":"hour",
                "duration":1,
                "enable":false,
                "prompt_information":"请假信息"
            },
            "max_leave_time":1,
            "leave_hour_ceil":"up"
        }
    }

    异常示例

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

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部