自建应用、第三方应用和代开发应用可使用此接口,获取可见范围内指定员工指定日期的打卡规则。
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckinoption?access_token=ACCESS_TOKEN
请求示例:
{
"datetime": 1511971200,
"useridlist": ["james","paul"]
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证。获取方式参考:文档-获取access_token 须为有打卡权限的自建应用、第三方应用或代开发应用 |
datetime | 是 | 需要获取规则的日期当天0点的Unix时间戳 |
useridlist | 是 | 需要获取打卡规则的用户列表 |
1. 用户列表不超过100个,若用户超过100个,请分批获取。
2. 用户在不同日期的规则不一定相同,请按天获取。
权限说明:
调用的应用需要满足如下的权限:
应用类型 | 权限要求 |
---|---|
自建应用 | 配置到「打卡 - 可调用接口的应用」中 |
代开发应用 | 具有「打卡」权限 |
第三方应用 | 具有「打卡」权限 |
注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情
返回结果 :
{
"errcode": 0,
"errmsg": "ok",
"info": [
{
"userid": "james",
"group": {
"grouptype": 1,
"groupid": 69,
"open_sp_checkin":true,
"checkindate": [
{
"workdays": [
1,
2,
3,
4,
5
],
"checkintime": [
{
"work_sec": 36000,
"off_work_sec": 43200,
"remind_work_sec": 35400,
"remind_off_work_sec": 43200
},
{
"work_sec": 50400,
"off_work_sec": 72000,
"remind_work_sec": 49800,
"remind_off_work_sec": 72000
}
],
"flex_time": 300000,
"noneed_offwork": true,
"limit_aheadtime": 10800000,
"flex_on_duty_time":0,
"flex_off_duty_time":0
}
],
"spe_workdays": [
{
"timestamp": 1512144000,
"notes": "必须打卡的日期",
"checkintime": [
{
"work_sec": 32400,
"off_work_sec": 61200,
"remind_work_sec": 31800,
"remind_off_work_sec": 61200
}
]
}
],
"spe_offdays": [
{
"timestamp": 1512057600,
"notes": "不需要打卡的日期",
"checkintime": []
}
],
"sync_holidays": true,
"groupname": "打卡规则1",
"need_photo": true,
"wifimac_infos": [
{
"wifiname": "Tencent-WiFi-1",
"wifimac": "c0:7b:bc:37:f8:d3"
},
{
"wifiname": "Tencent-WiFi-2",
"wifimac": "70:10:5c:7d:f6:d5"
}
],
"note_can_use_local_pic": false,
"allow_checkin_offworkday": true,
"allow_apply_offworkday": true,
"loc_infos": [
{
"lat": 30547030,
"lng": 104062890,
"loc_title": "腾讯成都大厦",
"loc_detail": "四川省成都市武侯区高新南区天府三街",
"distance": 300
},
{
"lat": 23097490,
"lng": 113323750,
"loc_title": "T.I.T创意园",
"loc_detail": "广东省广州市海珠区新港中路397号",
"distance": 300
}
],
"schedulelist": [
{
"schedule_id":221,
"schedule_name":"2",
"time_section": [
{
"time_id":1,
"work_sec":32400,
"off_work_sec":61200,
"remind_work_sec":31800,
"remind_off_work_sec":61200,
"rest_begin_time":43200,
"rest_end_time":46800,
"allow_rest":false
}
],
"limit_aheadtime":14400000,
"noneed_offwork":false,
"limit_offtime":14400,
"flex_on_duty_time":0,
"flex_off_duty_time":0,
"allow_flex":false,
"late_rule":
{
"allow_offwork_after_time":false,
"timerules":[
{
"offwork_after_time":3600,
"onwork_flex_time":3600
}
]
},
"max_allow_arrive_early":0,
"max_allow_arrive_late":0
}
]
}
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int32 | 错误码,详情见错误码说明 |
errmsg | string | 错误码对应的错误信息提示 |
info | obj[] | 返回的打卡规则列表 |
userid | string | 打卡人员userid |
group | obj | 打卡规则相关信息 |
group.grouptype | uint32 | 打卡规则类型。1:固定时间上下班;2:按班次上下班;3:自由上下班 。 |
group.groupname | string | 打卡规则名称 |
groupid | uint32 | 打卡规则id |
group.checkindate | obj[] | 打卡时间配置 |
group.checkindate.workdays | uint32[] | 工作日。若为固定时间上下班或自由上下班,则1到6分别表示星期一到星期六,0表示星期日;若为按班次上下班,则表示拉取班次的日期。 |
group.checkindate.checkintime | obj[] | 工作日上下班打卡时间信息 |
group.checkindate.checkintime.work_sec | uint32 | 上班时间,表示为距离当天0点的秒数。 |
group.checkindate.checkintime.off_work_sec | uint32 | 下班时间,表示为距离当天0点的秒数。 |
group.checkindate.checkintime.remind_work_sec | uint32 | 上班提醒时间,表示为距离当天0点的秒数。 |
group.checkindate.checkintime.remind_off_work_sec | uint32 | 下班提醒时间,表示为距离当天0点的秒数。 |
group.checkindate.noneed_offwork | bool | 下班不需要打卡,true为下班不需要打卡,false为下班需要打卡 |
group.checkindate.limit_aheadtime | uint32 | 打卡时间限制(毫秒) |
group.checkindate.flex_time | uint32 | 弹性时间(毫秒)只有flex_on_duty_time,flex_off_duty_time不生效时(值为-1)才有意义 |
group.checkindate.flex_on_duty_time | int32 | 允许迟到时间(秒),值为-1使用flex_time |
group.checkindate.flex_off_duty_time | int32 | 允许早退时间(秒),值为-1使用flex_time |
group.spe_workdays | obj[] | 特殊日期-必须打卡日期,timestamp表示具体时间 |
group.spe_workdays.timestamp | uint32 | 特殊日期-必须打卡日期时间戳 |
group.spe_workdays.notes | string | 特殊日期备注 |
group.spe_workdays.checkintime | string | 特殊日期打卡时间配置,参数同checkindate.checkintime |
group.spe_offdays | obj[] | 特殊日期-不用打卡日期, timestamp表示具体时间 |
group.spe_offdays.timestamp | uint32 | 特殊日期-不用打卡日期时间戳 |
group.spe_offdays.notes | string | 特殊日期备注 |
group.sync_holidays | bool | 是否同步法定节假日,true为同步,false为不同步,当前排班不支持 |
group.need_photo | bool | 是否打卡必须拍照,true为必须拍照,false为不必须拍照 |
group.note_can_use_local_pic | bool | 是否备注时允许上传本地图片,true为允许,false为不允许 |
group.allow_checkin_offworkday | bool | 是否非工作日允许打卡,true为允许,false为不允许 |
group.allow_apply_offworkday | bool | 是否允许提交补卡申请,true为允许,false为不允许 |
group.wifimac_infos | obj[] | 打卡地点-WiFi打卡信息 |
group.wifimac_infos.wifiname | string | WiFi打卡地点名称 |
group.wifimac_infos.wifimac | string | WiFi打卡地点MAC地址/bssid |
group.loc_infos | obj[] | 打卡地点-位置打卡信息 |
group.loc_infos.lat | int64 | 位置打卡地点纬度,是实际纬度的1000000倍,与腾讯地图一致采用GCJ-02坐标系统标准 |
group.loc_infos.lng | int64 | 位置打卡地点经度,是实际经度的1000000倍,与腾讯地图一致采用GCJ-02坐标系统标准 |
group.loc_infos.loc_title | string | 位置打卡地点名称 |
group.loc_infos.loc_detail | string | 位置打卡地点详情 |
group.loc_infos.distance | uint32 | 允许打卡范围(米) |
group.schedulelist | obj[] | 排班信息,只有规则为按班次上下班打卡时才有该配置 |
group.schedulelist.schedule_id | uint32 | 班次id |
group.schedulelist.schedule_name | string | 班次名称 |
group.schedulelist.time_section | obj[] | 班次上下班时段信息 |
group.schedulelist.time_section.time_id | uint32 | 时段id,为班次中某一堆上下班时间组合的id |
group.schedulelist.time_section.work_se | uint32 | 上班时间,表示为距离当天0点的秒数。 |
group.schedulelist.time_section.offwork_sec | uint3 | 下班时间,表示为距离当天0点的秒数。 |
group.schedulelist.time_section.remind_work_sec | uint32 | 上班提醒时间,表示为距离当天0点的秒数。 |
group.schedulelist.time_section.remind_offwork_sec | uint32 | 下班提醒时间,表示为距离当天0点的秒数。 |
group.schedulelist.time_section.rest_begin_time | uint32 | 休息开始时间,仅单时段支持,距离0点的秒 |
group.schedulelist.time_section.rest_end_time | uint32 | 休息结束时间,仅单时段支持,距离0点的秒 |
group.schedulelist.time_section.allow_rest | bool | 是否允许休息 |
group.schedulelist.limit_aheadtime | uint32 | 允许提前打卡时间 |
group.schedulelist.limit_offtime | uint32 | 下班xx秒后不允许打下班卡 |
group.schedulelist.noneed_offwork | bool | 下班不需要打卡 |
group.schedulelist.allow_flex | uint32 | 是否允许弹性时间 |
group.schedulelist.flex_on_duty_time | uint32 | 允许迟到时间(秒),值为-1使用flex_time |
group.schedulelist.flex_off_duty_time | uint32 | 允许早退时间(秒),值为-1使用flex_time |
group.schedulelist.late_rule | obj | 晚走晚到时间规则信息 |
group.schedulelist.late_rule.allow_offwork_after_time | bool | 是否允许超时下班(下班晚走次日晚到)允许时onwork_flex_time,offwork_after_time才有意义 |
group.schedulelist.late_rule.timerules | obj[] | 迟到规则时间 |
group.schedulelist.late_rule.timerules.offwork_after_time | uint32 | 晚走的时间 距离最晚一个下班的时间单位:秒 |
group.schedulelist.late_rule.timerules.onwork_flex_time | uint32 | 第二天第一个班次允许迟到的弹性时间单位:秒 |
group.schedulelist.max_allow_arrive_early | uint32 | 最早可打卡时间限制 |
group.schedulelist.max_allow_arrive_late | uint32 | 最晚可打卡时间限制,max_allow_arrive_early、max_allow_arrive_early与flex_on_duty_time、flex_off_duty_time互斥,当设置其中一组时,另一组数值置0 |
group.buka_restriction | uint64 | 补卡指定异常类型,按比特位设置,大端模式,某位bit置位为1表示关闭某类型。从低到高四个比特位分别表示缺卡类型、迟到类型、早退类型、其他异常类型。为默认值0表示所有异常类型均允许补卡。 |
group.span_day_time | uint32 | 自由上下班规则的跨天时间,表示为距离0点的秒数。 |
group.standard_work_duration | int32 | 自由上下班规则的工作时长(秒),-1表示不限制。 |
group.open_sp_checkin | bool | 是否开启审批打卡,若未返回则默认开启 |