Name
QQ::weixin::work::checkin
DESCRIPTION
应用管理
FUNCTION
getcorpcheckinoption(access_token, hash);
获取企业所有打卡规则
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93384
请求说明:
企业可通过打卡应用Secret调用本接口,获取企业内所有打卡规则数据。
请求包结构体为:
{}
参数说明:
参数 必须 说明
access_token 是 调用接口凭证。必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
权限说明
接口调用频率限制为60次/分钟。
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok",
"group": [{
"grouptype": 1,
"groupid": 69,
"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
}
],
"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
}
],
"range": {
"partyid": []
"userid": ["icef", "LiJingZhong"]
"tagid": [2]
},
"create_time": 1606204343,
"white_users": ["canno"],
"type": 0,
"reporterinfo": {
"reporters": [{
"userid": "brant"
}],
"updatetime": 1606305508
},
"ot_info": {
"type": 2,
"allow_ot_workingday": true,
"allow_ot_nonworkingday": false,
"otcheckinfo": {
"ot_workingday_time_start": 1800,
"ot_workingday_time_min": 1800,
"ot_workingday_time_max": 14400,
"ot_nonworkingday_time_min": 1800,
"ot_nonworkingday_time_max": 14400,
"ot_workingday_restinfo": {
"type": 2,
"fix_time_rule": {
"fix_time_begin_sec": 43200,
"fix_time_end_sec": 46800
},
"cal_ottime_rule": {
"items": [{
"ot_time": 18000,
"rest_time": 3600
}]
}
},
"ot_nonworkingday_restinfo": {
"type": 2,
"fix_time_rule": {
"fix_time_begin_sec": 43200,
"fix_time_end_sec": 46800
},
"cal_ottime_rule": {
"items": [{
"ot_time": 18000,
"rest_time": 3600
}]
}
},
"ot_nonworkingday_spanday_time": 0
},
"uptime": 1606275664,
"otapplyinfo": {
"allow_ot_workingday": true "allow_ot_nonworkingday": true "uptime": 1606275664,
"ot_workingday_restinfo": {
"type": 2,
"fix_time_rule": {
"fix_time_begin_sec": 43200,
"fix_time_end_sec": 46800
},
"cal_ottime_rule": {
"items": [{
"ot_time": 18000,
"rest_time": 3600
}]
}
},
"ot_nonworkingday_restinfo": {
"type": 2,
"fix_time_rule": {
"fix_time_begin_sec": 43200,
"fix_time_end_sec": 46800
},
"cal_ottime_rule": {
"items": [{
"ot_time": 18000,
"rest_time": 3600
}]
}
},
"ot_nonworkingday_spanday_time": 0
}
},
"allow_apply_bk_cnt": -1,
"option_out_range": 0,
"create_userid": "gaogao",
"use_face_detect": false,
"allow_apply_bk_day_limit": -1,
"update_userid": "sandy",
"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
}],
"offwork_interval_time": 300
}]
}
RETURN 参数说明
参数 说明
errcode int32 错误码,详情见错误码说明
errmsg string 错误码对应的错误信息提示
group obj[] 企业规则信息列表
group.grouptype uint32 打卡规则类型,1:固定时间上下班;2:按班次上下班;3:自由上下班
group.groupid uint32 打卡规则id
group.groupname string 打卡规则名称
group.checkindate obj[] 打卡时间,当规则类型为排班时没有意义
group.checkindate.workdays uint32[] 工作日。若为固定时间上下班或自由上下班,则1到6分别表示星期一到星期六,0表示星期日
group.checkindate.checkintime uint32 工作日上下班打卡时间信息
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_on_duty_time int32 允许迟到时间,单位ms
group.checkindate.flex_off_duty_time int32 允许早退时间,单位ms
group.spe_workdays obj[] 特殊日期-必须打卡日期信息,timestamp表示具体时间
group.spe_workdays.timestamp uint32 特殊日期-必须打卡日期时间戳
group.spe_workdays.notes string 特殊日期备注
group.spe_workdays.checkintime obj[] 特殊日期-必须打卡日期-上下班打卡时间,内部参数同group.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.range obj 打卡人员信息
group.range.userid string 打卡人员中,单个打卡人员节点的userid
group.range.partyid string[] 打卡人员中,部门节点的id
group.range.tagid uint32[] 打卡人员中,标签节点的标签id
group.create_time uint32 创建打卡规则时间,为unix时间戳
group.white_users string[] 打卡人员白名单,即不需要打卡人员,需要有设置白名单才能查看
group.type uint32 打卡方式,0:手机;2:智慧考勤机;3:手机+智慧考勤机
group.reporterinfo obj 汇报对象信息
group.reporterinfo.reporters obj[] 汇报对象,每个汇报人用userid表示
group.reporterinfo.updatetime uint32 汇报对象更新时间
group.ot_info obj 加班信息,相关信息需要设置后才能显示
group.ot_info.type int32 加班类型 0:以加班申请核算打卡记录(根据打卡记录和加班申请核算),1:以打卡时间为准(根据打卡时间计算),2: 以加班申请审批为准(只根据加班申请计算)
group.ot_info.allow_ot_workingday bool 允许工作日加班,true为允许,false为不允许
group.ot_info.allow_ot_nonworkingday bool 允许非工作日加班,true为允许,flase为不允许
group.ot_info.otcheckinfo obj 以打卡时间为准-加班时长计算规则信息
group.ot_info.otcheckinfo.ot_workingday_time_start uint32 允许工作日加班-加班开始时间:下班后xx秒开始计算加班,距离最晚下班时间的秒数,例如,1800(30分钟 乘以 60秒),默认值30分钟
group.ot_info.otcheckinfo.ot_workingday_time_min uint32 允许工作日加班-最短加班时长:不足xx秒视为未加班,单位秒,默认值30分钟
group.ot_info.otcheckinfo.ot_workingday_time_max uint32 允许工作日加班-最长加班时长:超过则视为加班xx秒,单位秒,默认值240分钟
group.ot_info.otcheckinfo.ot_nonworkingday_time_min uint32 允许非工作日加班-最短加班时长:不足xx秒视为未加班,单位秒,默认值30分钟
group.ot_info.otcheckinfo.ot_nonworkingday_time_max uint32 允许非工作日加班-最长加班时长:超过则视为加班xx秒 单位秒,默认值240分钟
group.ot_info.otcheckinfo.ot_nonworkingday_spanday_time uint32 非工作日加班,跨天时间,距离当天00:00的秒数
group.ot_info.otcheckinfo.ot_workingday_restinfo obj 工作日加班-休息扣除配置信息
uptime uint32 更新时间 |
group.ot_info.otcheckinfo.ot_workingday_restinfo.type uint32 工作日加班-休息扣除类型:0-不开启扣除;1-指定休息时间扣除;2-按加班时长扣除休息时间
group.ot_info.otcheckinfo.ot_workingday_restinfo.fix_time_rule obj 工作日加班-指定休息时间配置信息,当group.ot_info.otcheckinfo.ot_workingday_restinfo.type为1时有意义
group.ot_info.otcheckinfo.ot_workingday_restinfo.fix_time_rule.fix_time_begin_sec uint32 工作日加班-指定休息时间的开始时间, 距离当天00:00的秒数
group.ot_info.otcheckinfo.ot_workingday_restinfo.fix_time_rule.fix_time_end_sec uint32 工作日加班-指定休息时间的结束时间, 距离当天00:00的秒数
group.ot_info.otcheckinfo.ot_workingday_restinfo.cal_ottime_rule obj 工作日加班-按加班时长扣除配置信息,当group.ot_info.otcheckinfo.ot_workingday_restinfo.type为2时有意义
group.ot_info.otcheckinfo.ot_workingday_restinfo.cal_ottime_rule.items obj 工作日加班-按加班时长扣除条件信息
group.ot_info.otcheckinfo.ot_workingday_restinfo.cal_ottime_rule.items.ot_time uint32 加班满-时长(秒)
group.ot_info.otcheckinfo.ot_workingday_restinfo.cal_ottime_rule.items.rest_time uint32 对应扣除-时长(秒)
group.ot_info.otcheckinfo.ot_nonworkingday_restinfo obj 非工作日加班-休息扣除配置信息,参数信息与group.ot_info.otcheckinfo.ot_workingday_restinfo一致
otapplyinfo obj 以加班申请核算打卡记录相关信息,根据加班申请核算加班时长,只有有设置相关信息时且以以加班申请核算打卡才有相关信息;内含参数释义基本同group.ot_info.otcheckinfo,但只包含加班休息扣除、跨天时间等参数
group.allow_apply_bk_cnt int32 每月最多补卡次数,默认-1表示不限制
group.option_out_range uint32 范围外打卡处理方式,0-视为范围外异常,默认值;1-视为正常外勤;2:不允许范围外打卡
group.create_userid string 规则创建人userid
group.use_face_detect bool 人脸识别打卡开关,true为启用,false为不启用
group.allow_apply_bk_day_limit int32 允许补卡时限,默认-1表示不限制。单位天
group.update_userid string 规则最近编辑人userid
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_sec uint32 上班时间,表示为距离当天0点的秒数。
group.schedulelist.time_section.off_work_sec uint32 下班时间,表示为距离当天0点的秒数。
group.schedulelist.time_section.remind_work_sec uint32 上班提醒时间,表示为距离当天0点的秒数。
group.schedulelist.time_section.remind_off_work_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 bool 是否允许弹性时间
group.schedulelist.flex_on_duty_time uint32 允许迟到时间
group.schedulelist.flex_off_duty_time uint32 允许早退时间
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.offwork_interval_time uint32 自由签到,上班打卡后xx秒可打下班卡
getcheckinoption(access_token, hash);
获取员工打卡规则
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/90263
请求说明:
企业可通过打卡应用Secret获取的token,获取指定员工指定日期的打卡规则。 第三方应用可获取应用可见范围内指定员工指定日期的打卡规则。
请求包结构体为:
{
"datetime": 1511971200,
"useridlist": ["james","paul"]
}
参数说明:
参数 必须 说明
access_token 是 调用接口凭证。必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
datetime 是 需要获取规则的日期当天0点的Unix时间戳
useridlist 是 需要获取打卡规则的用户列表
权限说明
用户列表不超过100个,若用户超过100个,请分批获取。 用户在不同日期的规则不一定相同,请按天获取。
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok",
"info": [
{
"userid": "james",
"group": {
"grouptype": 1,
"groupid": 69,
"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
}
]
}
}
]
}
RETURN 参数说明
参数 说明
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 允许迟到时间,单位ms,值为-1使用flex_time
group.checkindate.flex_off_duty_time int32 允许早退时间,单位ms,值为-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 允许迟到时间,单位ms,值为-1使用flex_time
group.schedulelist.flex_off_duty_time uint32 允许早退时间,单位ms,值为-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
getcheckindata(access_token, hash);
获取打卡记录数据
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/90262
请求说明:
企业可通过打卡应用Secret调用本接口,获取指定员工指定时间段内的打卡记录数据。 第三方应用可获取应用可见范围内指定员工指定日期的打卡记录数据。
请求包结构体为:
{
"opencheckindatatype": 3,
"starttime": 1492617600,
"endtime": 1492790400,
"useridlist": ["james","paul"]
}
参数说明:
参数 必须 说明
access_token 是 调用接口凭证。必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
opencheckindatatype 是 打卡类型。1:上下班打卡;2:外出打卡;3:全部打卡
starttime 是 获取打卡记录的开始时间。Unix时间戳
endtime 是 获取打卡记录的结束时间。Unix时间戳
useridlist 是 需要获取打卡记录的用户列表
权限说明
1. 获取记录时间跨度不超过30天 2. 用户列表不超过100个。若用户超过100个,请分批获取 3. 有打卡记录即可获取打卡数据,与当前"打卡应用"是否开启无关 4. 标准打卡时间只对于固定排班和自定义排班两种类型有效 5. 接口调用频率限制为600次/分钟
RETURN 返回结果
{
"errcode":0,
"errmsg":"ok",
"checkindata": [{
"userid" : "james",
"groupname" : "打卡一组",
"checkin_type" : "上班打卡",
"exception_type" : "地点异常",
"checkin_time" : 1492617610,
"location_title" : "依澜府",
"location_detail" : "四川省成都市武侯区益州大道中段784号附近",
"wifiname" : "办公一区",
"notes" : "路上堵车,迟到了5分钟",
"wifimac" : "3c:46:d8:0c:7a:70",
"mediaids":["WWCISP_G8PYgRaOVHjXWUWFqchpBqqqUpGj0OyR9z6WTwhnMZGCPHxyviVstiv_2fTG8YOJq8L8zJT2T2OvTebANV-2MQ"],
"sch_checkin_time" : 1492617610,
"groupid" : 1,
"schedule_id" : 0,
"timeline_id" : 2
},{
"userid" : "paul",
"groupname" : "打卡二组",
"checkin_type" : "外出打卡",
"exception_type" : "时间异常",
"checkin_time" : 1492617620,
"location_title" : "重庆出口加工区",
"location_detail" : "重庆市渝北区金渝大道101号金渝大道",
"wifiname" : "办公室二区",
"notes" : "",
"wifimac" : "3c:46:d8:0c:7a:71",
"mediaids":["WWCISP_G8PYgRaOVHjXWUWFqchpBqqqUpGj0OyR9z6WTwhnMZGCPHxyviVstiv_2fTG8YOJq8L8zJT2T2OvTebANV-2MQ"],
"lat": 30547645,
"lng": 104063236,
"deviceid":"E5FA89F6-3926-4972-BE4F-4A7ACF4701E2",
"sch_checkin_time" : 1492617610,
"groupid" : 2,
"schedule_id" : 3,
"timeline_id" : 1
}]
}
RETURN 参数说明
参数 说明
userid 用户id
groupname 打卡规则名称
checkin_type 打卡类型。字符串,目前有:上班打卡,下班打卡,外出打卡
exception_type 异常类型,字符串,包括:时间异常,地点异常,未打卡,wifi异常,非常用设备。如果有多个异常,以分号间隔
checkin_time 打卡时间。Unix时间戳
location_title 打卡地点title
location_detail 打卡地点详情
wifiname 打卡wifi名称
notes 打卡备注
wifimac 打卡的MAC地址/bssid
mediaids 打卡的附件media_id,可使用media/get获取附件
lat 位置打卡地点纬度,是实际纬度的1000000倍,与腾讯地图一致采用GCJ-02坐标系统标准
lng 位置打卡地点经度,是实际经度的1000000倍,与腾讯地图一致采用GCJ-02坐标系统标准
deviceid 打卡设备id
sch_checkin_time 标准打卡时间,指此次打卡时间对应的标准上班时间或标准下班时间
groupid 规则id,表示打卡记录所属规则的id
schedule_id 班次id,表示打卡记录所属规则中,所属班次的id
timeline_id 时段id,表示打卡记录所属规则中,某一班次中的某一时段的id,如上下班时间为9:00-12:00、13:00-18:00的班次中,9:00-12:00为其中一组时段
getcheckin_daydata(access_token, hash);
获取打卡日报数据
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93374
请求说明:
企业可通过打卡应用Secret调用本接口,获取指定员工指定时间段内的打卡日报统计数据。 第三方应用可获取应用可见范围内指定员工指定日期内的打卡日报统计数据。
请求包结构体为:
{
"starttime": 1599062400,
"endtime": 1599062400,
"useridlist": [
"ZhangSan"
]
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证,必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token。
starttime 是 uint32 获取日报的开始时间。0点Unix时间戳
endtime 是 uint32 获取日报的结束时间。0点Unix时间戳
useridlist 是 string[] 获取日报的userid列表。单个userid不少于1字节,不多于64字节,可填充个数:1 ~ 100
权限说明
接口调用频率限制为100次/分钟。 仅允许通过打卡应用的secret获取到的access_token调用。
RETURN 返回结果
{
"errcode":0,
"errmsg":"ok",
"datas":[
{
"base_info":{
"date":1599062400,
"record_type":1,
"name":"张三",
"name_ex":"Three Zhang",
"departs_name":"有家企业/realempty;有家企业;有家企业/部门A4",
"acctid":"ZhangSan",
"rule_info":{
"groupid":10,
"groupname":"规则测试",
"scheduleid":0,
"schedulename":"",
"checkintime":[
{
"work_sec":38760,
"off_work_sec":38880
}
]
},
"day_type":0
},
"summary_info":{
"checkin_count":2,
"regular_work_sec":31,
"standard_work_sec":120,
"earliest_time":38827,
"lastest_time":38858
},
"holiday_infos":[
{
"sp_description":{
"data":[
{
"lang":"zh_CN",
"text":"09/03 10:00~09/03 10:01"
}
]
},
"sp_number":"202009030002",
"sp_title":{
"data":[
{
"lang":"zh_CN",
"text":"请假0.1小时"
}
]
}
},
{
"sp_description":{
"data":[
{
"lang":"zh_CN",
"text":"08/25 14:37~09/10 14:37"
}
]
},
"sp_number":"202008270004",
"sp_title":{
"data":[
{
"lang":"zh_CN",
"text":"加班17.0小时"
}
]
}
}
],
"exception_infos":[
{
"count":1,
"duration":60,
"exception":1
},
{
"count":1,
"duration":60,
"exception":2
}
],
"ot_info":{
"ot_status":1,
"ot_duration":3600,
"exception_duration":[
]
},
"sp_items":[
{
"count":1,
"duration":360,
"time_type":0,
"type":1,
"vacation_id":2,
"name":"年假",
},
{
"count":0,
"duration":0,
"time_type":0,
"type":100,
"vacation_id":0,
"name":"外勤次数"
}
]
}
]
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
datas obj[] 日报数据列表
datas.base_info obj 基础信息
datas.base_info.date uint32 日报日期
datas.base_info.record_type uint32 记录类型:1-固定上下班;2-外出(此报表中不会出现外出打卡数据);3-按班次上下班;4-自由签到;5-加班;7-无规则
datas.base_info.name string 打卡人员姓名
datas.base_info.name_ex string 打卡人员别名
datas.base_info.departs_name string 打卡人员所在部门,会显示所有所在部门
datas.base_info.acctid string 打卡人员帐号,即userid
datas.base_info.rule_info obj 打卡人员所属规则信息
datas.base_info.rule_info.groupid int32 所属规则的id
datas.base_info.rule_info.groupname string 打卡规则名
datas.base_info.rule_info.scheduleid int32 当日所属班次id,仅按班次上下班才有值,显示在打卡日报-班次列
datas.base_info.rule_info.schedulename string 当日所属班次名称,仅按班次上下班才有值,显示在打卡日报-班次列
datas.base_info.rule_info.checkintime obj[] 当日打卡时间,仅固定上下班规则有值,显示在打卡日报-班次列
datas.base_info.rule_info.checkintime.work_sec uint32 上班时间,为距离0点的时间差
datas.base_info.rule_info.checkintime.off_work_sec uint32 下班时间,为距离0点的时间差
datas.base_info.day_type uint32 日报类型:0-工作日日报;1-休息日日报
datas.summary_info obj 汇总信息
datas.summary_info.checkin_count int32 当日打卡次数
datas.summary_info.regular_work_sec int32 当日实际工作时长,单位:秒
datas.summary_info.standard_work_sec int32 当日标准工作时长,单位:秒
datas.summary_info.earliest_time int32 当日最早打卡时间
datas.summary_info.lastest_time int32 当日最晚打卡时间
datas.holiday_infos obj[] 假勤相关信息
datas.holiday_infos.sp_number string 假勤申请id,即当日关联的假勤审批单id
datas.holiday_infos.sp_title obj 假勤信息摘要-标题信息
datas.holiday_infos.sp_title.data obj[] 多种语言描述,目前只有中文一种
datas.holiday_infos.sp_title.data.text string 假勤信息摘要-标题文本
datas.holiday_infos.sp_title.data.lang string 语言类型:"zh_CN"
datas.holiday_infos.sp_description obj 假勤信息摘要-描述信息
datas.holiday_infos.sp_description.data obj[] 多种语言描述,目前只有中文一种
datas.holiday_infos.sp_description.data.text string 假勤信息摘要-描述文本
datas.holiday_infos.sp_description.data.lang string 语言类型:"zh_CN"
datas.exception_infos obj[] 校准状态信息
datas.exception_infos.exception uint32 校准状态类型:1-迟到;2-早退;3-缺卡;4-旷工;5-地点异常;6-设备异常
datas.exception_infos.count int32 当日此异常的次数
datas.exception_infos.duration int32 当日此异常的时长(迟到/早退/旷工才有值)
datas.ot_info obj 加班信息
datas.ot_info.ot_status uint32 状态:0-无加班;1-正常;2-缺时长
datas.ot_info.ot_duration uint32 加班时长
datas.ot_info.exception_duration uint32[] ot_status为2下,加班不足的时长
datas.sp_items obj[] 假勤统计信息
datas.sp_items.type uint32 类型:1-请假;2-补卡;3-出差;4-外出;100-外勤
datas.sp_items.vacation_id uint32 具体请假类型,当type为1请假时,具体的请假类型id,可通过审批相关接口获取假期详情
datas.sp_items.count uint32 当日假勤次数
datas.sp_items.duration uint32 当日假勤时长秒数,时长单位为天直接除以86400即为天数,单位为小时直接除以3600即为小时数
datas.sp_items.time_type uint32 时长单位:0-按天 1-按小时
datas.sp_items.name string 统计项名称
getcheckin_monthdata(access_token, hash);
获取打卡月报数据
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93387
请求说明:
企业可通过打卡应用Secret调用本接口,获取指定员工指定时间段内的打卡月报统计数据。 第三方应用可获取应用可见范围内指定员工指定日期内的打卡月报统计数据。
请求包结构体为:
{
"starttime": 1599062400,
"endtime": 1599408000,
"useridlist": [
"ZhangSan"
]
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证,必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
starttime 否 uint32 获取月报的开始时间。0点Unix时间戳
endtime 否 uint32 获取月报的结束时间。0点Unix时间戳
useridlist 否 string[] -不少于1字节,不多于64字节,可填充个数:1 ~ 100
权限说明
仅允许通过打卡应用的secret获取到的access_token调用。 接口调用频率限制为60次/分钟。
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok",
"datas": [
{
"base_info": {
"record_type": 1,
"name": "张三",
"name_ex": "Three Zhang",
"departs_name": "有家企业/realempty;有家企业;有家企业/部门A4",
"rule_info": {
"groupid": 10,
"groupname": "规则测试",
},
"acctid": "ZhangSan"
},
"summary_info":{
"except_days":3,
"regular_work_sec":31,
"standard_work_sec":29040,
"work_days":3
},
"exception_infos":[
{
"count":2,
"duration":28920,
"exception":4
},
{
"count":1,
"duration":60,
"exception":1
},
{
"count":1,
"duration":60,
"exception":2
}
],
"sp_items":[
{
"count":0,
"duration":0,
"time_type":0,
"type":100,
"vacation_id":0,
"name": "外勤次数"
},
{
"count":1,
"duration":0,
"time_type":0,
"type":1,
"vacation_id":2,
"name": "年假"
}
],
"overwork_info":{
"workday_over_sec":10800
}
}
]
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
datas obj[] 月报数据列表
datas.base_info obj 基础信息
datas.base_info.record_type uint32 记录类型:1-固定上下班;2-外出(此报表中不会出现外出打卡数据);3-按班次上下班;4-自由签到;5-加班;7-无规则
datas.base_info.name string 打卡人员姓名
datas.base_info.name_ex string 打卡人员别名
datas.base_info.departs_name string 打卡人员所在部门,会显示所有所在部门
datas.base_info.acctid string 打卡人员帐号,即userid
datas.base_info.rule_info obj 打卡人员所属规则信息
datas.base_info.rule_info.groupid int32 所属规则的id
datas.base_info.rule_info.groupname string 打卡规则名
datas.summary_info obj 汇总信息
datas.summary_info.work_days int32 应打卡天数
datas.summary_info.regular_days int32 正常天数
datas.summary_info.except_days int32 异常天数
datas.summary_info.regular_work_sec int32 实际工作时长,为统计周期每日实际工作时长之和
datas.summary_info.standard_work_sec int32 标准工作时长,为统计周期每日标准工作时长之和
datas.exception_infos obj[] 异常状态统计信息
datas.exception_infos.exception uint32 异常类型:1-迟到;2-早退;3-缺卡;4-旷工;5-地点异常;6-设备异常
datas.exception_infos.count int32 异常次数,为统计周期内每日此异常次数之和
datas.exception_infos.duration int32 异常时长(迟到/早退/旷工才有值),为统计周期内每日此异常时长之和
datas.sp_items obj[] 假勤统计信息
datas.sp_items.type uint32 假勤类型:1-请假;2-补卡;3-出差;4-外出;100-外勤
datas.sp_items.vacation_id uint32 具体请假类型,当type为1请假时,具体的请假类型id,可通过审批相关接口获取假期详情
datas.sp_items.count uint32 假勤次数,为统计周期内每日此假勤发生次数之和
datas.sp_items.duration uint32 假勤时长,为统计周期内每日此假勤发生时长之和,时长单位为天直接除以86400即为天数,单位为小时直接除以3600即为小时数
datas.sp_items.time_type uint32 时长单位:0-按天 1-按小时
datas.sp_items.name string 统计项名称
datas.overwork_info obj 加班情况
datas.overwork_info.workday_over_sec int32 工作日加班时长
datas.overwork_info.holidays_over_sec int32 节假日加班时长
datas.overwork_info.restdays_over_sec int32 休息日加班时长
getcheckinschedulist(access_token, hash);
获取打卡人员排班信息
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93380
请求说明:
企业可通过打卡应用Secret调用本接口,获取打卡规则为“按班次上下班”规则的指定员工指定时间段内的排班信息。 第三方应用获取应用可见范围内、打卡规则为“按班次上下班”规则的指定员工指定时间段内的排班信息。
请求包结构体为:
{
"starttime": 1492617600,
"endtime": 1492790400,
"useridlist": [
"james",
"paul"
]
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证,必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
useridlist 否 string[] 需要获取排班信息的用户列表(不超过100个)
starttime 否 uint32 获取排班信息的开始时间。Unix时间戳
endtime 否 uint32 获取排班信息的结束时间。Unix时间戳(与starttime跨度不超过一个月)
权限说明
接口调用频率限制为60次/分钟。
RETURN 返回结果
{
"schedule_list":[
{
"userid":"james",
"yearmonth":202011,
"groupid":11,
"groupname":"排班",
"schedule":{
"scheduleList":[
{
"day":25,
"schedule_info":{
"schedule_id":229,
"schedule_name":"早班",
"time_section":[
{
"id":1,
"work_sec":32400,
"off_work_sec":43200,
"remind_work_sec":32400,
"remind_off_work_sec":43200
}
]
}
},
{
"day":26,
"schedule_info":{
"schedule_id":171,
"schedule_name":"晚班",
"time_section":[
{
"id":2,
"work_sec":64800,
"off_work_sec":79200,
"remind_work_sec":64800,
"remind_off_work_sec":79200
}
]
}
},
{
"day":30,
"schedule_info":{
"schedule_id":0,
"schedule_name":"休息",
"time_section":[
]
}
}
]
}
}
],
"errcode":0,
"errmsg":"ok"
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
schedule_list obj[] 排班表信息
schedule_list.userid string 打卡人员userid
schedule_list.yearmonth uint32 排班表月份,格式为年月,如202011
schedule_list.groupid uint32 打卡规则id
schedule_list.groupname string 打卡规则名
schedule_list.schedule obj 个人排班信息
schedule_list.schedule.scheduleList obj[] 个人排班表信息
schedule_list.schedule.scheduleList.day uint32 排班日期,为表示当月第几天的数字
schedule_list.schedule.scheduleList.schedule_info obj 个人当日排班信息
schedule_list.schedule.scheduleList.schedule_info.schedule_id uint32 当日安排班次id,班次id也可在打卡规则中查询获得
schedule_list.schedule.scheduleList.schedule_info.schedule_name string 班次名称
schedule_list.schedule.scheduleList.schedule_info.time_section obj[] 班次上下班时段信息
schedule_list.schedule.scheduleList.schedule_info.time_section.id uint32 时段id,为班次中某一堆上下班时间组合的id
schedule_list.schedule.scheduleList.schedule_info.time_section.work_sec uint32 上班时间。距当天00:00的秒数
schedule_list.schedule.scheduleList.schedule_info.time_section.off_work_sec uint32 下班时间。距当天00:00的秒数
schedule_list.schedule.scheduleList.schedule_info.time_section.remind_work_sec uint32 上班提醒时间。距当天00:00的秒数
schedule_list.schedule.scheduleList.schedule_info.time_section.remind_off_work_sec uint32 下班提醒时间。距当天00:00的秒数
RETURN 错误说明
错误码 说明
301021 userid错误
301070 系统错误,请稍后再试
301075 输入参数错误
setcheckinschedulist(access_token, hash);
为打卡人员排班
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93385
请求说明:
企业可通过打卡应用Secret调用本接口,为打卡规则为“按班次上下班”规则的指定员工排班。 第三方应用可通过本接口为应用可见范围内、打卡规则为“按班次上下班”规则的指定员工排班。
请求包结构体为:
{
"groupid": 226,
"items": [
{
"userid": "james",
"day": 5,
"schedule_id": 234
}
],
"yearmonth": 202012
}
参数说明:
参数 必须 类型 说明
access_token 是 调用接口凭证。必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
items 是 排班表信息
groupid 是 打卡规则的规则id,可通过“获取打卡规则”、“获取打卡数据”、“获取打卡人员排班信息”等相关接口获取
userid 是 打卡人员userid
day 是 要设置的天日期,取值在1-31之间。联合yearmonth组成唯一日期 比如20201205
schedule_id 是 对应groupid规则下的班次id,通过预先拉取规则信息获取,0代表休息
yearmonth 是 排班表月份,格式为年月,如202011
权限说明
仅支持为打卡规则为“按班次上下班” 接口调用频率限制为60次/分钟。
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok"
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
addcheckinuserface(access_token, hash);
录入打卡人员人脸信息
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93378
请求说明:
企业可通过打卡应用Secret调用本接口,为企业打卡人员录入人脸信息,人脸信息仅用于人脸打卡。
请求包结构体为:
{
"userid": "james",
"userface": "PLACE_HOLDER"
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证,必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
userid 否 string 需要录入的用户id
userface 否 string 需要录入的人脸图片数据,需要将图片数据base64处理后填入,对已录入的人脸会进行更新处理
注意:对于已有人脸的用户,使用此接口将使用传入的人脸覆盖原有人脸,请谨慎操作。
权限说明
接口调用频率限制为10次/分钟。
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok"
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
RETURN 错误说明
错误码 说明
301021 输入参数错误
301069 输入userid无对应成员
301070 系统错误,请稍后再试
301071 企业内有其他人员有相似人脸,此情况下人脸仍然会录入成功
301072 人脸图像数据错误请更换图片