考勤和假期管理
获取打卡记录
- 功能描述
获取员工的打卡记录包括(地理位置打卡,beacon打卡,wifi打卡,考勤机打卡,各种补签的打卡数据)
- 请求说明
GET https://qy.bangongyi.com/attend/api/check/log?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
staff_id | int | 否 | 员工ID,获取某个员工的打卡记录 |
we_userid | string | 否 | 员工帐号,获取某个员工的打卡记录(无员工ID时有效) |
check_id | string | 否 | 考勤机员工编号 |
start_time | string | 否 | 开始时间(2016-05-05 09:00:00) |
end_time | string | 否 | 结束时间(2016-05-06 09:00:00) |
device_id | int | 否 | 打卡方式ID,值0时打卡属于补签卡、外勤打卡或其他打卡方式 |
department_id | int | 否 | 部门ID,获取某个部门的打卡记录 |
page | int | 否 | 页数(默认:1) |
next_id | int | 否 | 记录id(取大于id的记录,同时type参数失效) |
type | int | 否 | 获取条件类型(默认:0;0:按照打卡时间获取,1:按照记录上传时间获取) |
page_size | int | 否 | 每页数量,取值范围1-99(默认:50) |
- 返回示例
{
"next_id": "38004",
"data": [
{
"id": "57342",
"time": "1554772200",
"verify": "fp",
"staff_id": "10000",
"from": "0",
"device_id": "39",
"device_type": "10",
"create_time": "1554951494",
"we_name": "克纯",
"we_userid": "kechun",
"department_id": "62224",
"we_department": "240",
"check_point": [],
"device": {
"id": "39",
"type": "10",
"title": "FaceBS100",
"sn": "6415106546"
}
},
{
"id": "37992",
"time": "1514272118",
"verify": "打卡导入",
"staff_id": "535368",
"from": "2",
"device_id": "0",
"device_type": "-1",
"we_name": "罗勇",
"we_userid": "luoyong",
"create_time": "1512445093",
"check_point": [],
"device": {}
},
{
"id": "37993",
"time": "1514356444",
"verify": "40.04366268348354,116.31445129029761",
"staff_id": "535368",
"from": "0",
"device_id": "0",
"device_type": "-2",
"we_name": "罗勇",
"we_userid": "luoyong",
"department_id": "61995",
"we_department": "240",
"create_time": "1512445093",
"check_point": {
"point": "40.04366268348354,116.31445129029761",
"point_title": "金隅嘉华大厦",
"point_content": "北京市海淀上地三街9号(上地信息环岛西北角)",
"images": [
"/uploads/100/100/209/BQRs6NO-wNCvJMUKTaA-NfevKHKUirO1F3FoW0Uc-KZsN7M1skA4eChnlzEBiaHF.jpg"
],
"description": "滚滚滚"
},
"device": {}
}
],
"errno": 0,
"errmsg": ""
}
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
id | string | 唯一id |
time | string | 打卡时间(unix时间戳) |
create_time | string | 打卡上传时间(unix时间戳) |
verify | string | 打卡方式(FP:指纹,CARD:卡,PASS:密码,FACE:人脸,39.2545111,90.26511:gps打卡百度坐标,14574:beacon打卡距离14574米,补签卡直接显示原因) |
staff_id | string | 员工ID |
from | string | 来源,0:正常打卡,1:管理员添加/补签,2:导入 |
device_id | string | 打卡方式ID |
we_name | string | 员工姓名 |
we_userid | string | 员工帐号 |
device_type | string | 打卡方式类型 -2外勤打卡 -1补签打卡 0gps打卡 1wifi打卡 2蓝牙打卡 6二维码打卡 10考勤机打卡7路由器打卡 |
department_id | string | 办公逸平台部门ID 多部门“,”分割 例如 1,23 |
we_department | string | 企业微信平台部门ID 多部门“,”分割 例如 1,23 |
check_point | array | 外勤打卡数据 |
device | array | 打卡方式数据 当 device_id 大于0是有值 |
- check_point
参数 | 类型 | 说明 |
---|---|---|
point | string | 百度 纬度经度(“,”分割) |
description | string | 打卡说明 |
point_title | string | 打卡地址信息 |
point_content | string | 打卡地址描述 |
images | array | 照片地址 |
- device
参数 | 类型 | 说明 |
---|---|---|
id | string | 打卡方式ID |
type | string | 打卡方式类型 0gps打卡 1wifi打卡 2蓝牙打卡 6二维码打卡 10考勤机打卡7路由器打卡 |
title | string | 打卡方式名称 |
sn | string | 考勤机sn type 为10 有值 |
获取考勤日报
- 请求说明
get https://qy.bangongyi.com/attend/api/check/day?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
ticket | string | 是 | 接口凭证 |
start_date | string | 是 | 查询开始日期 示例 2016-06-01 |
end_date | string | 是 | 查询结束日期 示例 2016-06-16 |
we_status | int | 否 | 员工状态 默认在职员工 1 为全部员工,-1为离职员工 -2为按离职时间查询员工 |
staff_id | int | 否 | 指定要查询的员工ID |
we_userid | string | 否 | 员工帐号,获取指定员工的记录(无员工ID时有效) |
department_id | int | 否 | 部门ID,获取某个部门的打卡记录 无staff_id参数时才有效 |
next_id | int | 否 | 获取更多时传的值从上次请求返回结果中获取 |
- 请求示例
获取员工ID为524516的员工2016-06-12至2016-06-20的日报:
https://qy.bangongyi.com/attend/api/check/day?ticket=8029cd1fe2a24eb47af278f7fb71f69b&start_date=2016-06-12&end_date=2016-06-20&staff_id=524516
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
errno | int | 全局返回码 |
errmsg | string | 返回码描述 |
data | - | 返回数据 |
next_id | int | 获取更多时传的值 |
list | array | 报表结果数组 |
staff_id | string | 员工ID |
we_userid | string | 员工账号 |
we_status | string | 员工状态 1=已关注,2=已离职,4=未关注,-1不在微信 |
we_name | string | 员工名 |
we_department | array | 员工所在部门 |
export_deps | array | 带层级的部门 |
we_position | string | 员工职位 |
date | string | 该条报表日期 |
week | string | 星期 |
shop | string | 是否巡店 (是/否) |
iswork | string | 工作日或休息日 |
times_id | string | 班次ID |
checkin | string | 班次上班时间 |
checkout | string | 班次下班时间 |
times_type | string | 排次类型 |
checkin_time | string | 实际有效签到打卡时间戳 |
checkout_time | string | 实际有效签退打卡时间戳 |
duration_work | string | 工作时长 单位为小时 |
duration_real | string | 记薪时长 单位为小时 |
absent | string | 旷工时长单位为秒 |
late | string | 总迟到时长单位为分钟 |
early | string | 总早退时长单位为分钟 |
late_times | string | 总迟到次数 |
early_times | string | 总早退次数 |
late_0 | string | 对应相应的迟到等级单位为分钟 如果有二级迟到则相应增加字段 early_1 以此类推 |
early_0 | string | 对应相应的早退等级单位为分钟 如果有二级早退则相应增加字段 early_1 以此类推 |
late_0_times | string | 对应相应的迟到次数 如果有二级早退则相应增加字段 early_1_times 以此类推 |
early_0_times | string | 对应相应的早退次数 如果有二级早退则相应增加字段 early_1_times 以此类推 |
approve | array | 请假申请 |
approve.id | string | 申请类型ID 获取审批类型 中的id |
approve.type_id | string | 申请类型type_id 获取审批类型 中的type_id |
approve.title | string | 申请类型 |
approve.duration | string | 申请时长 单位为秒 |
approve.times | string | 申请次数 |
approve.is_paid | string | 是否待薪 0为不带薪假 、1为带薪假 、-1预设值不是请假例如加班 |
- 返回结果示例
{
"data": {
"list": [
{
"staff_id": "5380216",
"we_userid": "luoyong",
"we_status": "1",
"we_name": "罗勇",
"we_department": [
"研发中心"
],
"export_deps": [
"办公逸/研发中心"
],
"we_position": "PHP研发工程师",
"date": "2019-11-17",
"week": "日",
"times_id": "0",
"checkin_time": "1574038800",
"checkin": "0",
"checkout": "0",
"checkout_time": "1574038800",
"shop": "是",
"late": "0",
"early": "0",
"absent": "0",
"rule_type": "0",
"iswork": "0",
"approve": [
{
"id": "271466",
"title": "加班",
"type_id": "20",
"is_paid": "-1",
"duration": "25200",
"times": "1"
}
]
},
{
"staff_id": "5380216",
"we_userid": "luoyong",
"we_status": "1",
"we_name": "罗勇",
"we_department": [
"研发中心"
],
"export_deps": [
"办公逸/研发中心"
],
"we_position": "PHP研发工程师",
"date": "2019-11-18",
"week": "一",
"times_id": "103571",
"checkin_time": "0",
"checkin": "11:00",
"checkout": "14:00",
"checkout_time": "0",
"late": "0",
"early": "0",
"absent": "10800",
"iswork": "工作日",
"title": "BB11",
"checkin_end": "0",
"checkout_start": "0",
"times_type": "固定",
"duration_real": "0",
"duration_work": "0",
"absent_times": "1"
}
],
"next_id": 5380216
},
"errno": 0,
"errmsg": ""
}
- 错误代码 编号 说明
获取考勤月报
- 请求说明
get https://qy.bangongyi.com/attend/api/check/month?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
ticket | string | 是 | 接口凭证 |
start_date | string | 是 | 查询开始日期 示例 2016-06-01 |
end_date | string | 是 | 查询结束日期 示例 2016-06-16 |
we_status | int | 否 | 员工状态 默认在职员工 1 为全部员工,-1为离职员工 -2为按离职时间查询员工 |
staff_id | int | 否 | 指定要查询的员工ID |
we_userid | string | 否 | 员工帐号,获取指定员工的记录(无员工ID时有效) |
department_id | int | 否 | 部门ID,获取某个部门的考勤月报 无staff_id参数时才有效 |
next_id | int | 否 | 获取更多时传的值从上次请求返回结果获取 |
- 请求示例
获取2016-06-12至2016-06-20的月报:
https://qy.bangongyi.com/attend/api/check/month?ticket=8029cd1fe2a24eb47af278f7fb71f69b&start_date=2016-06-12&end_date=2016-06-20
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
errno | int | 全局返回码 |
errmsg | string | 返回码描述 |
data | - | 返回数据 |
next_id | int | 获取更多时传的值 |
list | array | 报表结果数组 |
staff_id | int | 员工ID |
we_userid | string | 员工账号 |
we_status | int | 员工状态 1=已关注,2=已离职,4=未关注,-1不在微信 |
we_name | string | 员工名 |
we_department | array | 员工所在部门 |
export_deps | array | 带层级的部门 |
we_position | string | 员工职位 |
shop | int | 巡店天数 |
days | float | 应到天数 |
attend_days | float | 实到天数 |
duration_work | int | 工作时长 单位为秒 |
duration_real | int | 记薪时长 单位为秒 |
absent | int | 旷工时长单位为秒 |
absent_times | int | 旷工次数 |
late | int | 总迟到时长单位为分钟 |
early | int | 总早退时长单位为分钟 |
late_times | int | 总迟到次数 |
early_times | int | 总早退次数 |
late_0 | int | 对应相应的迟到等级单位为分钟 如果有二级迟到则相应增加字段 early_1 以此类推 |
early_0 | int | 对应相应的早退等级单位为分钟 如果有二级早退则相应增加字段 early_1 以此类推 |
late_0_times | int | 对应相应的迟到次数 如果有二级早退则相应增加字段 early_1_times 以此类推 |
early_0_times | int | 对应相应的早退次数 如果有二级早退则相应增加字段 early_1_times 以此类推 |
lieu_remain | int | 剩余调休 单位为秒 |
annual_remain | int | 剩余年假 单位为秒 |
approve | array | 请假申请 |
approve.id | string | 申请类型ID 获取审批类型 中的id |
approve.type_id | string | 申请类型type_id 获取审批类型 中的type_id |
approve.title | string | 申请类型 |
approve.duration | int | 申请时长 单位为秒 |
approve.times | int | 申请次数 |
approve.is_paid | int | 是否待薪 0为不带薪假 、1为带薪假 、-1预设值不是请假例如加班 |
- 返回结果示例
{
"errno": 0,
"errmsg": "",
"data": {
"list": [
{
"we_userid": "luoyong",
"we_status": 1,
"we_name": "罗勇",
"we_department": [
"运维部",
"研发部",
"财务部"
],
"we_position": "php",
"staff_id": 524517,
"days": 23.625,
"duration_work": 112200,
"duration_real": 144000,
"absent": 543600,
"absent_times": 21,
"late": 135,
"early": 10,
"attend_days": 4,
"shop": 1,
"late_1_times": 1,
"late_1": 135,
"late_times": 1,
"early_0_times": 1,
"early_0": 10,
"early_times": 1,
"lieu_remain": 86400,
"annual_remain": 86400,
"approve": [
{
"id": "1088",
"title": "外出",
"type_id": "13",
"is_paid": 1,
"duration": 21600,
"times": 2
},
{
"id": "1090",
"title": "调休",
"type_id": "12",
"is_paid": 1,
"duration": 14400,
"times": 2
},
{
"id": "1091",
"is_paid": 0,
"title": "事假",
"type_id": "51",
"duration": 28800,
"times": 1
},
{
"id": "1089",
"is_paid": -1,
"title": "加班",
"type_id": "20",
"duration": 3600,
"times": 1
},
{
"id": "2101",
"title": "外出加班",
"type_id": "20",
"is_paid": -1,
"duration": 8100,
"times": 2
}
],
"export_deps": [
"百会云计算/运维部",
"百会云计算/研发部",
"百会云计算/财务部"
]
},
{
"we_userid": "15801123923",
"we_status": 4,
"we_name": "张雪",
"we_department": [
"百会云计算",
"研发部",
"测试",
"财务部",
"广研",
"运营部",
"测试部门",
"电商",
"自己人",
"张雪",
"l"
],
"we_position": "测试工程师",
"staff_id": 524525,
"days": 26,
"duration_work": 34800,
"duration_real": 28800,
"absent": 720000,
"absent_times": 25,
"late": 0,
"early": 5,
"attend_days": 1,
"early_0_times": 1,
"early_0": 5,
"early_times": 1,
"lieu_remain": 0,
"annual_remain": 24,
"export_deps": [
"百会云计算",
"百会云计算/研发部",
"百会云计算/研发部/测试",
"百会云计算/财务部",
"百会云计算/广研",
"百会云计算/运营部",
"百会云计算/测试部门",
"百会云计算/电商",
"百会云计算/自己人",
"百会云计算/张雪",
"百会云计算/jk/l"
]
}
],
"next_id": 524525
}
}
获取自由打卡月报
- 请求说明
get https://qy.bangongyi.com/attend/api/check/free-month?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
ticket | string | 是 | 接口凭证 |
start_date | string | 是 | 查询开始日期 示例 2016-06-01 |
end_date | string | 是 | 查询结束日期 示例 2016-06-16 |
we_status | int | 否 | 员工状态 默认在职员工 1 为全部员工,-1为离职员工 -2为按离职时间查询员工 |
we_userid | string | 否 | 员工帐号,获取指定员工的记录(无员工ID时有效) |
we_id | int | 否 | 企业微信部门ID,获取某个部门的考勤月报 无 we_userid 时有效 |
department_id | int | 否 | 部门ID,获取某个部门的考勤月报 无 we_userid 且无 we_id 时有效 |
next_id | int | 否 | 获取更多时传的值从上次请求返回结果获取 |
- 请求示例
获取2016-06-12至2016-06-20的月报:
https://qy.bangongyi.com/attend/api/check/free-month?ticket=8029cd1fe2a24eb47af278f7fb71f69b&start_date=2016-06-12&end_date=2016-06-20
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
errno | int | 全局返回码 |
errmsg | string | 返回码描述 |
data | - | 返回数据 |
next_id | int | 获取更多时传的值 |
list | array | 报表结果数组 |
staff_id | int | 员工ID |
we_userid | string | 员工账号 |
we_status | int | 员工状态 1=已关注,2=已离职,4=未关注,-1不在微信 |
we_name | string | 员工名 |
we_department | array | 员工所在部门 |
export_deps | array | 带层级的部门 |
we_position | string | 员工职位 |
shop | int | 巡店天数 |
totalTime | float | 月总工时 单位小时 |
checkNo_times | int | 漏刷次数 |
legalTime | int | 法定标准工时 单位小时 |
dayOff | int | 本月到期调休 单位小时 |
settlementTime | int | 结算工时 单位小时 |
prevTime | int | 上月缺勤 单位小时 |
lieu_remain | int | 剩余调休 单位为秒 |
annual_remain | int | 剩余年假 单位为秒 |
lieu_month | int | 当月剩余年假 单位为秒 |
annual_month | int | 当月剩余调休 单位为秒 |
approve | array | 请假申请 |
approve.id | string | 申请类型ID 获取审批类型 中的id |
approve.type_id | string | 申请类型type_id 获取审批类型 中的type_id |
approve.title | string | 申请类型 |
approve.duration | int | 申请时长 单位为秒 |
approve.times | int | 申请次数 |
approve.is_paid | int | 是否待薪 0为不带薪假 、1为带薪假 、-1预设值不是请假例如加班 |
- 返回结果示例
{
"data": {
"list": [
{
"we_userid": "zhouwenbo",
"we_status": 1,
"we_name": "周文博",
"we_department": [
"新网测试"
],
"we_position": "",
"staff_id": 5576258,
"legalCheck": 0,
"totalTime": 30,
"checkNo_times": 2,
"lieu_remain": 0,
"annual_remain": 0,
"lieu_month": 0,
"annual_month": 0,
"legalTime": 152,
"dayOff": 0,
"approve": [
{
"id": "1091",
"title": "事假",
"type_id": "51",
"is_paid": 0,
"duration": 28800,
"times": 1
},
{
"id": "4026",
"title": "外出",
"type_id": "13",
"is_paid": 1,
"duration": 28800,
"times": 1
}
],
"export_deps": [
"办公逸/新网测试"
],
"settlementTime": 0,
"prevTime": 0,
"shop": 0
},
{
"we_userid": "MaFei",
"we_status": 1,
"we_name": "马飞",
"we_department": [
"新网测试"
],
"we_position": "",
"staff_id": 5576261,
"legalCheck": 0,
"totalTime": 22,
"shop": 1,
"checkNo_times": 1,
"lieu_remain": 0,
"annual_remain": 0,
"lieu_month": 0,
"annual_month": 0,
"legalTime": 152,
"dayOff": 0,
"export_deps": [
"办公逸/新网测试"
],
"settlementTime": 0,
"prevTime": 0,
"approve": []
}
],
"next_id": 5576273
},
"errno": 0,
"errmsg": ""
}
获取考勤规则及考勤机信息
- 功能描述
获取考勤规则及其考勤机信息
- 请求说明
https://qy.bangongyi.com/attend/api/device/rule?ticket=<ticket>
- 请求方式
GET
-
请求参数
-
返回示例
{
"data": [
{
"id": "163",
"title": "考勤规则名称",
"devices": [
{
"id": "16",
"sn": "0000000001",
"title": "打卡方式名称"
}
]
},
{
"id": "168",
"title": "考勤规则名称",
"devices": [
{
"id": "16",
"sn": "0000000001",
"title": "打卡方式名称"
}
]
}
],
"errno": 0,
"errmsg": ""
}
- 返回结果
参数 | 说明 |
---|---|
errno | 执行状态 0 成功 全局返回码 |
errmsg | 执行结果说明 |
data | 结果数组 |
sn | 考勤机SN码 |
devices.id | 考勤机关联id |
获取考勤机信息
- 功能描述
获取考勤机信息及在线状态
- 请求说明
get https://qy.bangongyi.com/attend/api/device/info?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 否 | 考勤机sn 值为数组或','连接的SN字符串(不传值为获取所有考勤机信息) |
- 返回示例
{
"data": [
{
"title": "641610092512",
"sn": "641610092512",
"firmware": "IFKL104OF0303_BS3_BGY V3.40",
"online": 0,
"last_time": "2017-06-22 16:01:01"
}
],
"errno": 0,
"errmsg": "ok"
}
- 返回结果
参数 | 说明 |
---|---|
errno | 执行状态 0 成功 全局返回码 |
errmsg | 执行结果说明 |
data | 结果数组 |
sn | 考勤机SN码 |
title | 打卡方式名称 |
firmware | 考勤机固件版本 |
online | 在线状态 0 为离线 1为在线 |
last_time | 最后在线时间 |
获取考勤机对应的员工
- 功能描述
获取考勤机对应的员工 一次最多获取1000条,获取更多传last_id
- 请求说明
https://qy.bangongyi.com/attend/api/device/staff-list?ticket=<ticket>
- 请求方式
GET
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 否 | 考勤机SN码 与 device_id 二选一 |
device_id | int | 否 | 考勤机关联id sn 二选一 |
last_id | int | 否 | 获取更多时使用,从上次结果中获取 |
we_userids | string | 否 | 筛选条件 员工帐号可多个 "hefei,luoyong" |
check_ids | string | 否 | 筛选条件 考勤机员工编号可多个 "534564,55555" (we_userids 有值时该参数无效) |
- 返回示例
{
"errno": 0,
"data": {
"feature_type": [],
"last_id": "5380216",
"list": [
{
"id": "5380199",
"we_avatar": "https://shp.qpic.cn/bizmp/HmtU0JT3A9hlia6SI7zq5rYPy1xZCzBTa4yNzwbibyj8fCsPDe6KZzbA/",
"we_department": "300,2,248",
"we_name": "何飞",
"we_position": "总监",
"we_userid": "hefei",
"attend_rule_id": "338",
"check_id": "534564",
"feature_type": [
"fp",
"pass"
],
"card": ""
},
{
"id": "5380216",
"we_avatar": "https://p.qlogo.cn/bizmail/vLvUHlQUu8nlZApswA9ky0Tm5opy2gpgtsNwxuBv65AzzOiaawX3MDQ/0",
"we_department": "55",
"we_name": "罗勇",
"we_position": "PHP研发工程师",
"we_userid": "luoyong",
"attend_rule_id": "338",
"check_id": "55555",
"feature_type": [
"fp",
"pass",
"card"
],
"card": "12344"
}
]
},
"errmsg": ""
}
- 返回结果
参数 | 说明 |
---|---|
errno | 执行状态 0 成功 全局返回码 |
errmsg | 执行结果说明 |
last_id | 获取更多时使用 |
we_department | 员工部门ID |
we_avatar | 员工头像 |
we_name | 员工姓名 |
we_position | 员工职位 |
we_userid | 员工帐号 |
check_id | 员工考勤机工号 |
feature_type | 员工包涵特征值 fa 人脸 fp 指纹 pass 密码 card 卡 |
card | 卡号 |
绑定考勤机
- 功能描述
将在线考勤机绑定到企业
- 请求说明
https://qy.bangongyi.com/attend/api/device/add?ticket=<ticket>
- 请求方式
POST
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 是 | 考勤机编码 |
- 返回示例
{
"errno": 0,
"errmsg": "绑定成功"
}
{
"errno": -1,
"errmsg": "考勤机不在线|考勤机已经绑定"
}
考勤机写入员工
- 功能描述
把平台已有员工写人指定考勤机
- 请求说明
https://qy.bangongyi.com/attend/api/device/staff?ticket=<ticket>
- 请求方式
POST
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 是 | 考勤机SN码 |
check_ids | string | 是 | 考勤机工号 多个英文逗号隔开 例如(526559,526560,526561) |
type | string | 否 | 写入信息 1 指纹 11 ID卡 12 人脸 写入信息用英文逗号拼接例如(1,12,11) |
- 返回示例
{
"errno": 0,
"errmsg": "命令发送成功,请稍后查看结果。"
}
- 返回结果
参数 | 说明 |
---|---|
errno | 执行状态 0 成功 全局返回码 |
errmsg | 执行结果说明 |
删除考勤机对应的员工
- 功能描述
生成一条删除考勤机员工的命令,考勤机将根据该命令执行删除操作
- 请求说明
https://qy.bangongyi.com/attend/api/device/staff-del?ticket=<ticket>
- 请求方式
POST
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 否 | 考勤机SN码(若不传sn 则删除所有考勤机中该员工的数据) |
check_id | int | 否 | 员工考勤机工号 与 we_userid 二选一 |
we_userid | string | 否 | 员工帐号 与 check_id 二选一 |
- 返回示例
{
"errno": 0,
"errmsg": "删除考勤机员工命令发送成功"
}
- 返回结果
参数 | 说明 |
---|---|
errno | 执行状态 0 成功 全局返回码 |
errmsg | 执行结果说明 |
录入员工特征值
- 功能描述
录入考勤机员工特征值
- 请求说明
https://qy.bangongyi.com/attend/api/device/add-feature?ticket=<ticket>
- 请求方式
POST
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
we_userid | string | 否 | 员工帐号 与 we_userid 二选一 |
check_id | string | 否 | 考勤机员工编号 we_userid 传值时该参数无效 |
value | string | 否 | 特征值数据,卡号为数字,人脸照片为base64(值card类型且为空时为删除特征值,人脸暂不支持删除) |
type | string | 否 | 写入类型 默认(card:卡号;face:人脸照片) 默认:card,(人脸照片仅支持动态人脸考勤机使用,照片横屏拍摄更好匹配),目前不支持其他类型 |
- 返回示例
{
"errno": 0,
"errmsg": "录入成功"
}
考勤打卡补签
- 功能描述
补签打卡记录可按部门或员工补签
- 请求说明
POST https://qy.bangongyi.com/attend/api/approve/check?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
department_ids | string or array | 否 | 部门ID数组或','连接的部门ID字符串 例: 121,3222,4445 获取部门列表 |
we_userids | string or array | 否 | 员工帐号数组或','连接的员工帐号字符串 获取成员列表 |
staff_ids | string or array | 否 | 员工ID数组或','连接的员工ID字符串 获取成员列表 |
datetime | string | 是 | 补签打卡时间(2016-05-05 09:00:00) |
reason | string | 是 | 补签原因 |
- 返回示例
{
"errno": 0,
"errmsg": "考勤补签成功"
}
- 错误代码 编号 说明
重启考勤机
-
功能描述
发送重启考勤机命令
-
请求说明
POST https://qy.bangongyi.com/attend/api/device/reboot?ticket=<ticket>
-
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 是 | 考勤机编号 |
- 返回示例
{
"errno": 0,
"errmsg": "命令发送成功!"
}
- 错误代码 编号 说明
修改考勤机员工权限
-
功能描述
修改考勤机员工权限(普通用户、管理员)
-
请求说明
POST https://qy.bangongyi.com/attend/api/device/set-user-privilege?ticket=<ticket>
-
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
sn | string | 是 | 考勤机编号 |
check_id | string | 否 | 考勤机员工编号与 we_userid 二选一 |
we_userid | string | 否 | 员工帐号与 check_id 二选一 |
user_privilege | string | 是 | 考勤机员工角色 USER,MANAGER |
- 返回示例
{
"errno": 0,
"errmsg": "命令发送成功!"
}
- 错误代码 编号 说明
获取考勤机人脸数据
- 功能描述
获取考勤机人脸数据,只支持 动态人脸考勤机
- 请求说明
get https://qy.bangongyi.com/attend/api/device/get-face?ticket=<ticket>
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
ticket | string | 是 | 接口凭证 |
we_userid | string | 否 | 员工帐号,单个员工查询时使用参数 we_userid、check_id 其中1个 |
check_id | string | 否 | 考勤机员工编号 ,单个员工查询时使用参数 we_userid、check_id 其中1个 |
page_size | string | 否 | 分页大小 示例值:10 默认值:10 最大值:50 |
next_id | string | 否 | 分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 next_id,下次遍历可采用该 next_id 获取查询结果 |
- 请求示例
-
https://qy.bangongyi.com/attend/api/device/get-face?ticket=0f07478b7bfc87a7e5845599240997da
-
返回结果
{
"next_id": 0,
"data": [
{
"tmp": "",
"we_userid": "songyaping",
"check_id": "312",
"we_name": "宋亚萍"
},
{
"tmp": "",
"we_userid": "zangziwei",
"check_id": "5576832",
"we_name": "臧紫薇"
}
],
"errno": 0,
"errmsg": ""
}
- 失败示例
{
"errno": -1,
"errmsg" : "",
"data": [
{
"we_userid":"B252019000153",
"msg" : "员工帐不存在"
}
]
}
参数 | 类型 | 说明 |
---|---|---|
tmp | string | 人脸 base64 数据 (图片为 jpg 格式) |
we_userid | string | 员工帐号 |
check_id | string | 员工考勤机编号 |
we_name | string | 员工姓名 |
追加导入假期时间
- 功能描述
追加导入剩余年假/剩余调休
- 请求说明
POST https://qy.bangongyi.com/attend/api/approvelog?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
type | string | 是 | 假期类型 例如:年假或调休 |
we_userids | string or array | 否 | 员工帐号数组或','连接的员工帐号字符串 we_userids或staff_ids 必须传其中一个获取成员列表 |
staff_ids | string or array | 否 | 员工ID数组或','连接的员工ID字符串 获取成员列表 |
deadline | int | 否 | 10位的时间戳 不传默认永久有效 |
time | int | 是 | 导入假期时长 单位分钟 |
reason | string | 是 | 导入假期原因 |
- 返回示例
{
"errno": 0,
"errmsg": "导入成功"
}
- 错误代码 编号 说明
获取审批单列表
- 功能描述
获取员工的审批单记录包括(请假,外出,出差,加班,调休,异常申请等)
- 请求说明
GET https://qy.bangongyi.com/attend/api/approve/list?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
staff_id | int | 否 | 员工ID,获取某个员工的申请记录 |
we_userid | string | 否 | 员工帐号,传 staff_id 时该参数无效 |
start_time | string | 否 | 开始时间(2016-05-05 09:00:00) |
end_time | string | 否 | 结束时间(2016-05-06 09:00:00) |
get_type | int | 否 | 时间查询方式 0 按申请单的开始时间与结束时间查询 1 按申请单的创建时间查询(默认:0) |
department_id | int | 否 | 部门ID,获取某个部门的申请记录 |
page | int | 否 | 页数(默认:1) |
next_id | int | 否 | 申请id(默认:0) |
time_type | int | 否 | 申请时间长类型(1:分钟,2:小时,3:天) |
page_size | int | 否 | 每页数量,取值范围1-99(默认:50) |
finish | int | 否 | 0为审批中的审批单 2为所有审批单 不传或1为已完成的审批单 |
type | string | 否 | 申请类型 (调休/外出/出差/事假/病假/年假/婚假/丧假/产假/工伤假/加班/陪产假) |
- 返回示例
{
"next_id": "1089",
"data": [
{
"id": "1066",
"staff_id": "535368",
"approve_type_id": "1091",
"start_time": "1509987600",
"end_time": "1510048800",
"duration": "480",
"status": "1",
"create_time": "1510639519",
"we_name": "罗勇",
"approve_type_name": "事假",
"type_id": "51",
"we_userid": "luoyong",
"approve_time": "1578562868",
"reason":"申请说明",
"is_paid": 0,
"approve_process": [
{
"approve_id": "1066",
"staff_id": "0",
"reason": "等待",
"approve_time": "1510639519",
"level": "0",
"status": "1",
"staff": {
"id": "0",
"we_name": "管理员",
"we_userid": ""
},
"cc_staff": []
}
]
},
{
"id": "1069",
"staff_id": "535368",
"approve_type_id": "1093",
"type_id": "53",
"start_time": "1510675200",
"end_time": "1510761600",
"duration": "480",
"status": "1",
"create_time": "1510728183",
"we_name": "罗勇",
"approve_type_name": "年假",
"we_userid": "luoyong",
"approve_time": "1578562868",
"reason":"申请说明",
"is_paid": 1,
"approve_process": [
{
"reason": "",
"approve_time": "1510730286",
"level": "1",
"status": "1",
"staff": {
"id": "534518",
"we_name": "刘凤悦",
"we_userid": "18513116558"
},
"cc_staff": [
{
"id": "534554",
"we_name": "张易",
"we_userid": "13488681243"
}
]
},
{
"reason": "312",
"approve_time": "1510730391",
"level": "2",
"status": "1",
"staff": {
"id": "5338574",
"we_name": "奇异博士",
"we_userid": "ceshiwang1234"
},
"cc_staff": [
{
"id": "5338531",
"we_name": "刘岚测测本",
"we_userid": "13261674603"
}
]
}
]
}
],
"errno": 0,
"errmsg": ""
}
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
id | string | 审批唯一ID |
staff_id | string | 员工id |
we_userid | string | 员工账号 |
we_name | string | 员工姓名 |
start_time | string | 申请开始时间戳 |
end_time | string | 申请结束时间戳 |
create_time | string | 申请时间戳 |
approve_time | string | 审批通过时间戳。未通过时值为空字符串 |
duration | string | 时间长 |
reason | string | 申请说明 |
status | string | 申请状态 0为审批中,1为已同意, 2为已拒绝,3为已退回,4为工资核减 |
approve_type_name | string | 申请类型名称 |
approve_type_id | string | 申请类型ID 获取审批类型 中的 id |
type_id | string | 申请类型type_id 获取审批类型 中的 type_id |
is_paid | int | 是否待薪 0为不带薪假 、1为带薪假 、-1预设值不是请假例如加班 |
approve_process | array | 审批进程 |
- approve_process
参数 | 类型 | 说明 |
---|---|---|
reason | string | 审批说明 |
approve_time | string | 审批时间 |
level | string | 审批级别 |
status | string | 审批状态 1已同意 2已拒绝,5 已转审 |
staff | hash | 审批人信息 |
cc_staff | array | 抄送人信息 |
根据时间段获取申请假期时长
-
功能描述
计算申请假期时长
-
请求说明
get https://qy.bangongyi.com/attend/api/approve/get-duration?ticket=<ticket>
-
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
we_useid | string | 是 | 员工账号 |
start | string | 是 | 开始时间(2016-05-05 09:00:00) |
end | string | 是 | 结束时间(2016-05-05 18:00:00) |
type | string | 是 | 申请类型 (调休/外出/出差/事假/病假/年假/婚假/丧假/产假/工伤假/加班/陪产假) |
- 返回示例
{
"errno": 0,
"errmsg": "考勤登记成功",
"data": {
"duration": 8,
"min": 1,
"max": 8,
"duration_day": 1,
"min_day": 0.125,
"max_day": 1
}
}
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
data.duration | float | 申请时长 单位小时最多保留2位小数 |
data.min | float | 每次最小申请时长 单位小时最多保留2位小数 0为不限制 |
data.max | float | 每次最大申请时长 单位小时最多保留2位小数 0为不限制 |
data.duration_day | float | 申请时长 单位小时最多保留3位小数 |
data.min_day | float | 每次最小申请时长 单位天最多保留3位小数 0为不限制 |
data.max_day | float | 每次最大申请时长 单位天最多保留3位小数 0为不限制 |
- 错误代码 编号 说明
获取可申请假期时长
-
功能描述
获取员工可申请请的年假或调休时长
-
请求说明
get https://qy.bangongyi.com/attend/api/approve/get-surplus?ticket=<ticket>
-
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
we_userid | string | 否 | 员工账号 |
type | string | 是 | 申请类型 (调休/年假/) |
start | string | 否 | 查询已使用假期开始时间(2016-05-05 09:00:00) |
end | string | 否 | 查询已使用假期结束时间(2016-05-05 18:00:00) |
- 返回示例
{
"errno": 0,
"errmsg": "ok",
"data": {
"hours": 8,
"disabled": 8,
"used": 24,
"days": 1,
"disabled_day": 1,
"used_day": 3
}
}
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
data.hours | float | 可使用的剩余时长 单位小时最多保留2位小数 |
data.disabled | float | 申请中冻结的假期时长 单位小时最多保留2位小数 |
data.used | float | 已使用假期时长 单位小时最多保留2位小数 |
data.days | float | 可使用的剩余时长 单位天最多保留3位小数 |
data.disabled_day | float | 申请中冻结的假期时长 单位天最多保留3位小数 |
data.used_day | float | 已使用假期时长 单位天最多保留3位小数 |
- 错误代码 编号 说明
考勤申请登记
- 功能描述
第三方平台直接提交已经审批通过的考勤申请(异常申请除外),提交成功后报表异常状态会产生变化
- 请求说明
POST https://qy.bangongyi.com/attend/api/approve/apply?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
staff_id | int | 否 | 员工ID,登记某个员工的申请信息 |
we_userid | string | 否 | 员工账号 staff_id和we_useid二者至少填写一项 |
start_time | string | 是 | 开始时间(2016-05-05 09:00:00) |
end_time | string | 是 | 结束时间(2016-05-05 18:00:00) |
type | string | 是 | 申请类型 (异常/调休/外出/出差/事假/病假/年假/婚假/丧假/产假/工伤假/加班/陪产假) |
transformation | tinyint | 否 | 加班转换:默认1(1:转换为调休,4转换为加班费) |
reason | string | 是 | 登记原因 |
status | string | 否 | 申请审批单状态,默认登记状态,值为 apply 为申请状态 需要审批 |
approve_we_userid | string | 否 | 审批人帐号,当审批单为申请状态时需要传值 |
follow_ids | string or array | 否 | 出差同行人,员工帐号数组或','连接的员工帐号字符串 |
- 返回示例
{
"errno": 0,
"errmsg": "考勤登记成功",
"data": {
"id": 3421
}
}
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
data.id | int | 申请审批单ID,需保存审批接口用到 |
- 错误代码 编号 说明
审批假期单
-
功能描述
审批已申请的假期单
-
请求说明
POST https://qy.bangongyi.com/attend/api/approve/approve?ticket=<ticket>
-
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
id | int | 是 | 申请单ID [考勤申请登记接口]返回 |
reason | string | 是 | 审批说明 |
status | string | 否 | 审批状态,默认值 agree 通过(无下级审批人时审批流结束)、reject 驳回,审批流结束、cancel 撤销,审批流结束、 change 转审 必须有下级审批人 |
approve_we_userid | string | 否 | 下级审批人帐号,通过审批且不传值时完成审批单,通过审批且有下级审批时只当前级审批完成,提交给下级审批 |
- 返回示例
{
"errno": 0,
"errmsg": "审批成功"
}
- 错误代码 编号 说明
获取审批类型
- 功能描述
获取企业的审批类型
- 请求说明
GET https://qy.bangongyi.com/attend/api/approve/approve-type?ticket=<ticket>
- 请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
status | int | 否 | 0为启用状态类型(默认值) 1为禁用状态类型 -1为已删除类型 |
- 返回示例
[
{
"id": "1091",
"type_id": "51",
"title": "事假",
"desc": "事假说明"
},
{
"id": "1052",
"type_id": "2",
"title": "异常",
"desc": ""
}
]
- 返回结果
参数 | 类型 | 说明 |
---|---|---|
id | string | 唯一id |
type_id | string | 审批类型id |
title | string | 类型名称 |
desc | string | 类型描述 |