Name

QQ::weixin::work::checkin

DESCRIPTION

打卡

FUNCTION

getcorpcheckinoption(access_token, hash);

获取企业所有打卡规则 最后更新:2023/11/30

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93384

请求说明:

自建应用、代开发应用可用此接口,获取企业内所有打卡规则。

请求包结构体为:

{}

参数说明:

	参数	            必须	说明
    access_token	是	调用接口凭证。必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token

调用频率:

接口调用频率限制为60次/分钟。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

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": {
			"party_id": []
			"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	允许迟到时间(秒)
group.checkindate.flex_off_duty_time	int32	允许早退时间(秒)
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.party_id	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秒可打下班卡
group.buka_restriction	uint64	补卡指定异常类型,按比特位设置,大端模式,某位bit置位为1表示关闭某类型。从低到高四个比特位分别表示缺卡类型、迟到类型、早退类型、其他异常类型。为默认值0表示所有异常类型均允许补卡。

getcheckinoption(access_token, hash);

获取员工打卡规则 最后更新:2023/11/30

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90263

请求说明:

自建应用、第三方应用和代开发应用可使用此接口,获取可见范围内指定员工指定日期的打卡规则。

请求包结构体为:

{
    "datetime": 1511971200,
    "useridlist": ["james","paul"]
}

参数说明:

	参数	            必须	说明
    access_token	是	调用接口凭证。必须使用打卡应用的Secret获取access_token,获取方式参考:文档-获取access_token
	datetime	是	需要获取规则的日期当天0点的Unix时间戳
	useridlist	是	需要获取打卡规则的用户列表

1. 用户列表不超过100个,若用户超过100个,请分批获取。 2. 用户在不同日期的规则不一定相同,请按天获取。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	具有「打卡」权限

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

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	允许迟到时间(秒),值为-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表示所有异常类型均允许补卡。

getcheckindata(access_token, hash);

获取打卡记录数据 最后更新:2023/12/18

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/90262

请求说明:

应用可通过本接口,获取可见范围内员工指定时间段内的打卡记录数据。

请求包结构体为:

{
  "opencheckindatatype": 3,
  "starttime": 1492617600,
  "endtime": 1492790400,
  "useridlist": ["james","paul"]
}

参数说明:

	参数	            必须	说明
    access_token	是	调用接口凭证,获取方式参考:文档-获取access_token
	opencheckindatatype	是	打卡类型。1:上下班打卡;2:外出打卡;3:全部打卡
	starttime	是	获取打卡记录的开始时间。Unix时间戳
	endtime	是	获取打卡记录的结束时间。Unix时间戳
	useridlist	是	需要获取打卡记录的用户列表

1. 获取记录时间跨度不超过30天 2. 用户列表不超过100个。若用户超过100个,请分批获取 3. 有打卡记录即可获取打卡数据,与当前"打卡应用"是否开启无关 4. 标准打卡时间只对于固定排班和自定义排班两种类型有效 5. 接口调用频率限制为600次/分钟

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	具有「打卡」权限

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

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);

获取打卡日报数据 最后更新:2023/12/18

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93374

请求说明:

企业可通过具有调用权限的应用,获取应用可见范围内指定员工指定日期内的打卡日报统计数据。

请求包结构体为:

    {
		"starttime": 1599062400,
		"endtime": 1599062400,
		"useridlist": [
			"ZhangSan"
		]
	}

参数说明:

参数		必须		类型		说明
access_token	是	string	调用接口凭证,获取方式参考:文档-获取access_token。
starttime	是	uint32	获取日报的开始时间。0点Unix时间戳
endtime	是	uint32	获取日报的结束时间。0点Unix时间戳
useridlist	是	string[]	获取日报的userid列表。
							单个userid不少于1字节,不多于64字节
							可填充个数:1 ~ 100

调用频率:

接口调用频率限制为100次/分钟。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	具有「打卡」权限

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

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":[],
				"workday_over_as_money": 54000
			},
			"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.ot_info.workday_over_as_vacation	int32	工作日加班记为调休,单位秒
datas.ot_info.workday_over_as_money	int32	工作日加班记为加班费,单位秒
datas.ot_info.restday_over_as_vacation	int32	休息日加班记为调休,单位秒
datas.ot_info.restday_over_as_money	int32	休息日加班记为加班费,单位秒
datas.ot_info.holiday_over_as_vacation	int32	节假日加班记为调休,单位秒
datas.ot_info.holiday_over_as_money	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	统计项名称

getcheckin_monthdata(access_token, hash);

获取打卡月报数据 最后更新:2023/12/18

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93387

请求说明:

企业可通过具有调用权限的应用,获取应用可见范围内指定员工指定日期内的打卡月报统计数据。

请求包结构体为:

    {
		"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

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	具有「打卡」权限

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

调用频率:

接口调用频率限制为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": 54000,
				"restdays_over_sec": 205560,
				"workdays_over_as_vacation": 0,
				"workdays_over_as_money": 54000,
				"restdays_over_as_vacation": 0,
				"restdays_over_as_money": 172800,
				"holidays_over_as_vacation": 0,
				"holidays_over_as_money": 0
			}
		}
	]
}

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	休息日加班时长
datas.overwork_info.workdays_over_as_vacation	int32	工作日加班记为调休,单位秒
datas.overwork_info.workdays_over_as_money	int32	工作日加班记为加班费,单位秒
datas.overwork_info.restdays_over_as_vacation	int32	休息日加班记为调休,单位秒
datas.overwork_info.restdays_over_as_money	int32	休息日加班记为加班费,单位秒
datas.overwork_info.holidays_over_as_vacation	int32	节假日加班记为调休,单位秒
datas.overwork_info.holidays_over_as_money	int32	节假日加班记为加班费,单位秒

getcheckinschedulist(access_token, hash);

获取打卡人员排班信息 最后更新:2023/12/18

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93380

请求说明:

应用可通过此接口,获取应用可见范围内、打卡规则为“按班次上下班”规则的指定员工指定时间段内的排班信息。

请求包结构体为:

    {
		"starttime": 1492617600,
		"endtime": 1492790400,
		"useridlist": [
			"james",
			"paul"
		]
	}

参数说明:

参数		必须		类型		说明
access_token	是	string	调用接口凭证,获取方式参考:文档-获取access_token
useridlist	是	string[]	需要获取排班信息的用户列表(不超过100个)
starttime	是	uint32	获取排班信息的开始时间。Unix时间戳
endtime	是	uint32	获取排班信息的结束时间。Unix时间戳(与starttime跨度不超过一个月)

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	具有「打卡」权限

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

调用频率:

接口调用频率限制为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);

为打卡人员排班 最后更新:2023/12/18

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93385

请求说明:

企业可通过具有调用权限的应用,为打卡规则为“按班次上下班”规则的指定员工排班。

请求包结构体为:

    {
		"groupid": 226,
		"items": [
			{
				"userid": "james",
				"day": 5,
				"schedule_id": 234
			}
		],
		"yearmonth": 202012
	}

参数说明:

参数		必须		说明
access_token	是	调用接口凭证。获取方式参考:文档-获取access_token
items	是	排班表信息
groupid	是	打卡规则的规则id,可通过“获取打卡规则”、“获取打卡数据”、“获取打卡人员排班信息”等相关接口获取
userid	是	打卡人员userid
day	是	要设置的天日期,取值在1-31之间。联合yearmonth组成唯一日期 比如20201205
schedule_id	是	对应groupid规则下的班次id,通过预先拉取规则信息获取,0代表休息
yearmonth	是	排班表月份,格式为年月,如202011

权限说明

仅支持为打卡规则为“按班次上下班”

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	具有「打卡」权限

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

调用频率:

接口调用频率限制为60次/分钟。

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数	类型	说明
errcode	int32	返回码
errmsg	string	错误码描述

punch_correction(access_token, hash);

为打卡人员补卡 最后更新:2023/11/30

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/95803

请求说明:

请求包结构体为:

{
   "userid": "zhangsan",
   "schedule_date_time": 1654444800,
   "schedule_checkin_time": 32400,
   "checkin_time": 1654486827,
   "remark": "备注信息"
}

参数说明:

参数		类型		是否必须		说明
access_token	string	是	调用接口凭证
userid	string	是	需要补卡的成员userid
schedule_date_time	uint32	是	应打卡日期,为当天0点的Unix时间戳。
schedule_checkin_time	uint32	否	应打卡时间点,相对应打卡日期0点的偏移秒数,如9点整则为32400。可通过获取员工打卡规则获取对应的规则打卡时间点,如work_sec/off_work_sec。
									对于没有规则对应的打卡时间点,如休息日打卡、无规则打卡、自由上下班,该参数不用填。
checkin_time	uint32	是	实际打卡时间,Unix时间戳。相对于schedule_checkin_time的实际打卡时间,具体可以表现为正常/迟到/早退
remark	string	否	备注信息
					不超过512字节

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	暂不支持
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

调用频率:

接口调用频率限制为600次/分钟

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数	类型	说明
errcode	int32	返回码
errmsg	string	错误码描述

addcheckinuserface(access_token, hash);

录入打卡人员人脸信息 最后更新:2023/11/30

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93378

请求说明:

企业可通过自建应用,为企业打卡人员录入人脸信息,人脸信息仅用于人脸打卡。

请求包结构体为:

    {
		"userid": "james",
		"userface": "PLACE_HOLDER"
	}

参数说明:

参数		必须		类型		说明
access_token	是	string	调用接口凭证,获取方式参考:文档-获取access_token
userid	否	string	需要录入的用户id
userface	否	string	需要录入的人脸图片数据,需要将图片数据base64处理后填入,对已录入的人脸会进行更新处理

注意:对于已有人脸的用户,使用此接口将使用传入的人脸覆盖原有人脸,请谨慎操作。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	暂不支持
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

调用频率:

接口调用频率限制为10次/分钟。

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数		类型		说明
errcode	int32	返回码
errmsg	string	错误码描述

RETURN 错误说明

错误码	说明
301021	输入参数错误
301069	输入userid无对应成员
301070	系统错误,请稍后再试
301071	企业内有其他人员有相似人脸,此情况下人脸仍然会录入成功
301072	人脸图像数据错误请更换图片

Name

管理打卡规则 最后更新:2023/11/30

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/98041

add_checkin_option(access_token, hash);

创建打卡规则

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/98041#创建打卡规则

请求说明:

企业可通过自建应用或授权的代开发应用,为企业添加打卡规则。

请求包结构体为:

{
	"effective_now": true,
	"group": {
		"grouptype": 1,
		"groupname": "打卡规则1",
		"checkindate": [
			{
				"workdays": [
					1,
					2,
					3,
					4,
					5
				],
				"checkintime": [
					{
						"time_id": 1,
						"work_sec": 36000,
						"off_work_sec": 43200,
						"remind_work_sec": 35400,
						"remind_off_work_sec": 43200,
						"earliest_work_sec": 35040,
						"latest_work_sec": 37020,
						"earliest_off_work_sec": 43140,
						"latest_off_work_sec": 43800
					}
				],
				"flex_on_duty_time": 0,
				"flex_off_duty_time": 0
			}
		],
		"sync_holidays": true,
		"need_photo": true,
		"note_can_use_local_pic": false,
		"wifimac_infos": [
			{
				"wifiname": "Tencent-WiFi-1",
				"wifimac": "c0:7b:bc:37:f8:d3"
			}
		],
		"allow_checkin_offworkday": true,
		"allow_apply_offworkday": true,
		"loc_infos": [
			{
				"lat": 30547030,
				"lng": 104062890,
				"loc_title": "腾讯成都大厦",
				"loc_detail": "四川省成都市武侯区高新南区天府三街",
				"distance": 300
			}
		],
		"range": {
			"party_id": [],
			"userid": [
				"xiaoxioa"
			],
			"tagid": []
		},
		"white_users": [
			"xiaoxioa"
		],
		"type": 0,
		"reporterinfo": {
			"reporters": [
				{
					"userid": "xiaoxioa"
				}
			]
		},
		"ot_info_v2": {
			"workdayconf": {
				"allow_ot": true,
				"type": 0
			}
		},
		"allow_apply_bk_cnt": -1,
		"option_out_range": 0,
		"use_face_detect": true,
		"allow_apply_bk_day_limit": -1,
		"open_face_live_detect": true,
		"buka_limit_next_month": -1,
		"sync_out_checkin": true,
		"buka_remind": {
			"open_remind": true,
			"buka_remind_day": 28,
			"buka_remind_month": 0
		},
		"buka_restriction":0
	}
}

参数说明:

参数		是否必填		说明
access_token	是	调用接口凭证。自建应用或代开发应用的access_token
group	视情况而定	打卡规则详细定义,具体见打卡规则字段说明
effective_now	否	是否立即生效, 默认为false

注意: 1.创建打卡规则时,groupid无需传入,该字段会被忽略。 2.附常见错误信息列表

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数		类型		说明
errcode	int32	返回码
errmsg	string	错误码描述

获取打卡规则

同获取企业所有打卡规则

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/93384

update_checkin_option(access_token, hash);

修改打卡规则

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/98041#修改打卡规则

请求说明:

企业可通过自建应用或授权的代开发应用,修改该应用为企业创建的打卡规则。

请求包结构体为:

{
	"effective_now": true,
	"group": {
		"groupid": 1,
		"grouptype": 1,
		"groupname": "打卡规则1",
		"checkindate": [
			{
				"workdays": [
					1,
					2,
					3,
					4,
					5
				],
				"checkintime": [
					{
						"time_id": 1,
						"work_sec": 36000,
						"off_work_sec": 43200,
						"remind_work_sec": 35400,
						"remind_off_work_sec": 43200,
						"earliest_work_sec": 35040,
						"latest_work_sec": 37020,
						"earliest_off_work_sec": 43140,
						"latest_off_work_sec": 43800
					}
				],
				"flex_on_duty_time": 0,
				"flex_off_duty_time": 0
			}
		],
		"sync_holidays": true,
		"need_photo": true,
		"note_can_use_local_pic": false,
		"wifimac_infos": [
			{
				"wifiname": "Tencent-WiFi-1",
				"wifimac": "c0:7b:bc:37:f8:d3"
			}
		],
		"allow_checkin_offworkday": true,
		"allow_apply_offworkday": true,
		"loc_infos": [
			{
				"lat": 30547030,
				"lng": 104062890,
				"loc_title": "腾讯成都大厦",
				"loc_detail": "四川省成都市武侯区高新南区天府三街",
				"distance": 300
			}
		],
		"range": {
			"party_id": [],
			"userid": [
				"xiaoxioa"
			],
			"tagid": []
		},
		"white_users": [
			"xiaoxioa"
		],
		"type": 0,
		"reporterinfo": {
			"reporters": [
				{
					"userid": "xiaoxioa"
				}
			]
		},
		"ot_info_v2": {
			"workdayconf": {
				"allow_ot": true,
				"type": 0
			}
		},
		"allow_apply_bk_cnt": -1,
		"option_out_range": 0,
		"use_face_detect": true,
		"allow_apply_bk_day_limit": -1,
		"open_face_live_detect": true,
		"buka_limit_next_month": -1,
		"sync_out_checkin": true,
		"buka_remind": {
			"open_remind": true,
			"buka_remind_day": 28,
			"buka_remind_month": 0
		}
	}
}

参数说明:

参数		是否必填		说明
access_token	是	调用接口凭证。自建应用或代开发应用的access_token
group	视情况而定	打卡规则详细定义,具体见打卡规则字段说明
effective_now	否	是否立即生效, 默认false

注意: 1.修改打卡规则时,groupid须传入,否则会报错。 2.打卡规则仅可由该规则的创建应用修改。 3.group定义存在多层结构体嵌套,对于group.*一级的字段: a.若该字段为数组且调用端无传入或传入空元素数组,则理解为不更新该数组字段; b.若该字段为数组且调用端有传入,理解为覆盖该数组字段( 即清空原有数组,保留传入的数组 ); c.若该字段非数组且调用端有传入,理解为覆盖该字段,及递归的所有字段; d.若该字段非数组且调用端无传入,理解为不更新该字段。 4.若想清空group.*一级的字段: a.若该字段为数组,可以使用清空规则数组元素接口; b.若该字段非数组,则直接传入空元素即可; 5.附常见错误信息列表。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数		类型		说明
errcode	int32	返回码
errmsg	string	错误码描述

clear_checkin_option_array_field(access_token, hash);

清空打卡规则数组元素

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/98041#清空打卡规则数组元素

请求说明:

企业可通过自建应用或授权的代开发应用,修改该应用为企业创建的打卡规则。

请求包结构体为:

{
  "groupid":1,
  "clear_field":[1,2,3],
  "effective_now":true
}

参数说明:

参数		是否必填		说明
access_token	是	调用接口凭证。自建应用或代开发应用的access_token
groupid	是	打卡规则id
clear_field	是	清空的字段标识:
				1-清空spe_workdays字段; 2-清空spe_offdays字段; 3-清空wifimac_infos字段; 4-清空loc_infos字段( wifimac_infos和loc_infos不可同时为空 )
effective_now	否	是否立即生效,默认false

1.打卡规则仅可由该规则的创建应用修改。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数		类型		说明
errcode	int32	返回码
errmsg	string	错误码描述

del_checkin_option(access_token, hash);

删除打卡规则

SYNOPSIS

https://developer.work.weixin.qq.com/document/path/98041#删除打卡规则

请求说明:

企业可通过自建应用或授权的代开发应用,删除该应用为企业创建的打卡规则。

请求包结构体为:

{
	"groupid":1,
	"effective_now":true
}

参数说明:

参数		是否必填		说明
access_token	是	调用接口凭证。自建应用或代开发应用的access_token
groupid	是	删除的打卡规则id
effective_now	否	是否立即生效,默认false

1.打卡规则仅可由该规则的创建应用删除。

权限说明

应用类型	权限要求
自建应用	配置到「打卡 - 可调用接口的应用」中
代开发应用	具有「打卡」权限
第三方应用	暂不支持

注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情

RETURN 返回结果

    {
		"errcode": 0,
		"errmsg": "ok"
	}

RETURN 参数说明

参数		类型		说明
errcode	int32	返回码
errmsg	string	错误码描述

打卡规则字段说明

https://developer.work.weixin.qq.com/document/path/98041#打卡规则字段说明

错误信息列表

https://developer.work.weixin.qq.com/document/path/98041#错误信息列表