获取打卡记录

获取员工的打卡记录包括(地理位置打卡,beacon打卡,wifi打卡,考勤机打卡,各种补签的打卡数据)

GET https://qy.bangongyi.com/attend/api/check/log?ticket=<ticket>

参数 类型 必须 说明
staff_id int 员工ID,获取某个员工的打卡记录
we_userid varchar 员工帐号,获取某个员工的打卡记录(无员工ID时有效)
check_id varchar 考勤机员工编号
start_time varchar 开始时间(2016-05-05 09:00:00)
end_time varchar 结束时间(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": "37809",
                "time": "1512445093",
                "verify": "127.0.0.1",
                "staff_id": "535368",
                "from": "0",
                "device_id": "13",
                "device_type": "1",
                "we_name": "罗勇",
                "we_userid": "luoyong",
                "check_point": []
            },
            {
                "id": "37992",
                "time": "1514272118",
                "verify": "打卡导入",
                "staff_id": "535368",
                "from": "2",
                "device_id": "0",
                "device_type": "-1",
                "we_name": "罗勇",
                "we_userid": "luoyong",
                "check_point": []
            },
            {
                "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",
                "check_point": {
                    "point": "40.04366268348354,116.31445129029761",
                    "point_title": "金隅嘉华大厦",
                    "point_content": "北京市海淀上地三街9号(上地信息环岛西北角)",
                    "images": [
                        "/uploads/100/100/209/BQRs6NO-wNCvJMUKTaA-NfevKHKUirO1F3FoW0Uc-KZsN7M1skA4eChnlzEBiaHF.jpg"
                    ],
                    "description": "滚滚滚"
                }
            },
            {
                "id": "38004",
                "time": "1514376631",
                "verify": "40.04364536887958,116.31435876706051",
                "staff_id": "535368",
                "from": "0",
                "device_id": "335",
                "device_type": "0",
                "we_name": "罗勇",
                "we_userid": "luoyong",
                "check_point": []
            }
        ],
        "errno": 0,
        "errmsg": ""
    }
参数 类型 说明
id string 唯一id
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路由器打卡
check_point array 外勤打卡数据
参数 类型 说明
point string 百度 纬度经度(“,”分割)
description string 打卡说明
point_title string 打卡地址信息
point_content string 打卡地址描述
images array 照片地址

考勤申请登记

第三方平台直接提交已经审批通过的考勤申请(异常申请除外),提交成功后报表异常状态会产生变化

POST https://qy.bangongyi.com/attend/api/approve/apply?ticket=<ticket>

参数 类型 必须 说明
staff_id int 员工ID,登记某个员工的申请信息
we_userid varchar 员工账号 staff_id和we_useid二者至少填写一项
start_time varchar 开始时间(2016-05-05 09:00:00)
end_time varchar 结束时间(2016-05-05 18:00:00)
type varchar 申请类型 (事假/病假/外出/出差/调休/加班/异常)
transformation tinyint 加班转换:默认1(1:转换为调休,4转换为加班费)
reason varchar 申请原因
    {
        "errno": 390600,
        "errmsg": "考勤登记成功"
    }

获取考勤日报

get https://qy.bangongyi.com/attend/api/check/day?ticket=<ticket>

参数 类型 必须 说明
ticket 字符串 接口凭证
start_date 字符串 查询开始日期 示例 2016-06-01
end_date 字符串 查询结束日期 示例 2016-06-16
we_status 整型 员工状态 默认在职员工 1 为全部员工,-1为离职员工
staff_id 整型 指定要查询的员工ID
department_id int 部门ID,获取某个部门的打卡记录 无staff_id参数时才有效
next_id 整型 获取更多时传的值从上次请求返回结果中获取

获取员工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 整型 全局返回码
errmsg 字符串 返回码描述
data - 返回数据
next_id 整型 获取更多时传的值
list 数组 报表结果数组
staff_id 整型 员工ID
we_userid 字符串 员工账号
we_status 整型 员工状态 1=已关注,2=已离职,4=未关注,-1不在微信
we_name 字符串 员工名
we_department 数组 员工所在部门
export_deps 数组 带层级的部门
we_position 字符串 员工职位
date 整型 该条报表日期
week 字符串 星期
iswork 字符串 工作日或休息日
times_id 整型 班次ID
checkin 字符串 班次上班时间
checkout 字符串 班次下班时间
times_type 字符串 排次类型
checkin_time 整型 实际有效签到打卡时间戳
checkout_time 整型 实际有效签退打卡时间戳
duration_work 整型 工作时长 单位为小时
duration_real 整型 记薪时长 单位为小时
absent 整型 旷工时长单位为秒
late 整型 总迟到时长单位为分钟
early 整型 总早退时长单位为分钟
late_times 整型 总迟到次数
early_times 整型 总早退次数
late_0 整型 对应相应的迟到等级单位为分钟 如果有二级迟到则相应增加字段 early_1 以此类推
early_0 整型 对应相应的早退等级单位为分钟 如果有二级早退则相应增加字段 early_1 以此类推
late_0_times 整型 对应相应的迟到次数 如果有二级早退则相应增加字段 early_1_times 以此类推
early_0_times 整型 对应相应的早退次数 如果有二级早退则相应增加字段 early_1_times 以此类推
approve 数组 请假申请
approve.id 整型 申请类型ID
approve.title 字符串 申请类型
approve.duration 整型 申请时长 单位为秒
approve.times 整型 申请次数
overtime 整型 加班时长 单位为秒
overtime_times 整型 加班次数
    {
        "errno": 0,
        "errmsg": "",
        "data": {
            "list": [
                {
                    "staff_id": "524517",
                    "we_userid": "luoyong",
                    "we_status": "1",
                    "we_name": "罗勇",
                    "we_department": [
                        "运维部",
                        "研发部",
                        "财务部"
                    ],
                    "export_deps": [
                        "百会云计算/运维部",
                        "百会云计算/研发部",
                        "百会云计算/财务部"
                    ],
                    "we_position": "php",
                    "date": "2016-05-19",
                    "week": "四",
                    "iswork": "工作日",
                    "times_id": "89",
                    "title": "默认班次",
                    "checkin": "9:00",
                    "checkout": "17:30",
                    "times_type": "固定",
                    "checkin_time": "2016-05-19 09:00:00",
                    "checkout_time": "2016-05-19 22:05:00",
                    "absent": 0,
                    "late": 0,
                    "early": 0,
                    "duration_real": 8,
                    "duration_work": 12.08
                },
                {
                    "staff_id": "524517",
                    "we_userid": "luoyong",
                    "we_status": "1",
                    "we_name": "罗勇",
                    "we_department": [
                        "运维部",
                        "研发部",
                        "财务部"
                    ],
                    "export_deps": [
                        "百会云计算/运维部",
                        "百会云计算/研发部",
                        "百会云计算/财务部"
                    ],
                    "we_position": "php",
                    "date": "2016-05-22",
                    "week": "日",
                    "iswork": 0,
                    "overtime_times": 0,
                    "overtime": 0
                },
                {
                    "staff_id": "524517",
                    "we_userid": "luoyong",
                    "we_status": "1",
                    "we_name": "罗勇",
                    "we_department": [
                        "运维部",
                        "研发部",
                        "财务部"
                    ],
                    "export_deps": [
                        "百会云计算/运维部",
                        "百会云计算/研发部",
                        "百会云计算/财务部"
                    ],
                    "we_position": "php",
                    "date": "2016-05-23",
                    "week": "一",
                    "iswork": "工作日",
                    "times_id": "72",
                    "title": "四班",
                    "checkin": "9:00",
                    "checkout": "17:00",
                    "times_type": "固定",
                    "checkin_time": "2016-05-23 09:50:00",
                    "checkout_time": "2016-05-23 16:50:00",
                    "absent": 0,
                    "late": 0,
                    "early": 10,
                    "duration_real": 8,
                    "duration_work": 6,
                    "early_0_times": 1,
                    "early_0": 10,
                    "early_times": 1,
                    "approve": [
                        {
                            "id": "1090",
                            "title": "调休",
                            "duration": 5400,
                            "times": 1
                        }
                    ]
                }
            ],
            "next_id": 524517
        }
    }

获取考勤月报

get https://qy.bangongyi.com/attend/api/check/month?ticket=<ticket>

参数 类型 必须 说明
ticket 字符串 接口凭证
start_date 字符串 查询开始日期 示例 2016-06-01
end_date 字符串 查询结束日期 示例 2016-06-16
we_status 整型 员工状态 默认在职员工 1 为全部员工,-1为离职员工
staff_id 整型 指定要查询的员工ID
department_id int 部门ID,获取某个部门的考勤月报 无staff_id参数时才有效
next_id 整型 获取更多时传的值从上次请求返回结果获取

获取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 整型 全局返回码
errmsg 字符串 返回码描述
data - 返回数据
next_id 整型 获取更多时传的值
list 数组 报表结果数组
staff_id 整型 员工ID
we_userid 字符串 员工账号
we_status 整型 员工状态 1=已关注,2=已离职,4=未关注,-1不在微信
we_name 字符串 员工名
we_department 数组 员工所在部门
export_deps 数组 带层级的部门
we_position 字符串 员工职位
days 浮点数 应到天数
attend_days 浮点数 实到天数
duration_work 整型 工作时长 单位为秒
duration_real 整型 记薪时长 单位为秒
absent 整型 旷工时长单位为秒
absent_times 整型 旷工次数
late 整型 总迟到时长单位为分钟
early 整型 总早退时长单位为分钟
late_times 整型 总迟到次数
early_times 整型 总早退次数
late_0 整型 对应相应的迟到等级单位为分钟 如果有二级迟到则相应增加字段 early_1 以此类推
early_0 整型 对应相应的早退等级单位为分钟 如果有二级早退则相应增加字段 early_1 以此类推
late_0_times 整型 对应相应的迟到次数 如果有二级早退则相应增加字段 early_1_times 以此类推
early_0_times 整型 对应相应的早退次数 如果有二级早退则相应增加字段 early_1_times 以此类推
lieu_remain 整型 剩余调休 单位为秒
annual_remain 整型 剩余年假 单位为秒
approve 数组 请假申请
approve.id 整型 申请类型ID
approve.title 字符串 申请类型
approve.duration 整型 申请时长 单位为秒
approve.times 整型 申请次数
    {
        "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,
                    "late_1_times": 1,
                    "late_1": 135,
                    "late_times": 1,
                    "early_0_times": 1,
                    "early_0": 10,
                    "early_times": 1,
                    "lieu_remain": 85.7,
                    "annual_remain": 15,
                    "approve": [
                        {
                            "id": "1088",
                            "title": "外出",
                            "duration": 21600,
                            "times": 2
                        },
                        {
                            "id": "1090",
                            "title": "调休",
                            "duration": 14400,
                            "times": 2
                        },
                        {
                            "id": "1091",
                            "title": "事假",
                            "duration": 28800,
                            "times": 1
                        },
                        {
                            "id": "1089",
                            "title": "加班",
                            "duration": 3600,
                            "times": 1
                        },
                        {
                            "id": "2101",
                            "title": "外出加班",
                            "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/approve/list?ticket=<ticket>

参数 类型 必须 说明
staff_id int 员工ID,获取某个员工的申请记录
start_time varchar 开始时间(2016-05-05 09:00:00)
end_time varchar 结束时间(2016-05-06 09:00:00)
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为已完成的审批单
    {
        "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": "事假",
                "we_userid": "luoyong",
                "reason":"申请说明",
                "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",
                "start_time": "1510675200",
                "end_time": "1510761600",
                "duration": "480",
                "status": "1",
                "create_time": "1510728183",
                "we_name": "罗勇",
                "approve_type_name": "年假",
                "we_userid": "luoyong",
                "reason":"申请说明",
                "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 申请时间
duration string 时间长
reason string 申请说明
status string 申请状态 0为审批中 1已同意2已拒绝,3工资核减,4已退回
approve_type_name string 申请类型名称
approve_type_id string 申请类型id
approve_process array 审批进程
参数 类型 说明
reason string 审批说明
approve_time string 审批时间
level string 审批级别
status string 审批状态 1已同意 2已拒绝,5 已转审
staff hash 审批人信息
cc_staff array 抄送人信息

考勤机写入员工

把平台已有员工写人指定考勤机

https://qy.bangongyi.com/attend/api/device/staff?ticket=<ticket>

POST/GET

参数 类型 必须 说明
sn varchar 考勤机SN码
check_ids varchar 考勤机工号 多个英文逗号隔开 例如(526559,526560,526561)
type varchar 写入信息 1 指纹 11 ID卡 12 人脸 写入信息用英文逗号拼接例如(1,12,11)
    {
        "errno": 0,
        "errmsg": "命令发送成功,请稍后查看结果。"
    }
参数 说明
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

获取考勤机对应的员工

获取考勤机对应的员工 一次最多获取1000条,获取更多传last_id

https://qy.bangongyi.com/attend/api/device/staff-list?ticket=<ticket>

GET

参数 类型 必须 说明
sn varchar 与device_id二选1 考勤机SN码
device_id int 与sn二选1 考勤机关联id
last_id int 获取更多时使用,从上次结果中获取
    {
        "errno": 0,
        "data": {
            "last_id": "526607",
            "list": [
                {
                    "id": "525836",
                    "we_avatar": "",
                    "we_department": "1",
                    "we_name": "胡佩瑶",
                    "we_position": "",
                    "we_userid": "525727_attend",
                    "attend_rule_id": "162",
                    "check_id": "525727"
                },
                {
                    "id": "525883",
                    "we_avatar": "",
                    "we_department": "1",
                    "we_name": "于谦",
                    "we_position": "",
                    "we_userid": "100002_attend",
                    "attend_rule_id": "162",
                    "check_id": "100002"
                },
                {
                    "id": "526559",
                    "we_avatar": "",
                    "we_department": "6",
                    "we_name": "拉拉拉",
                    "we_position": "对的d",
                    "we_userid": "001",
                    "attend_rule_id": "162",
                    "check_id": "526559"
                },
                {
                    "id": "526607",
                    "we_avatar": "",
                    "we_department": "175",
                    "we_name": "毛杰",
                    "we_position": "",
                    "we_userid": "002036",
                    "attend_rule_id": "162",
                    "check_id": "526607"
                }
            ]
        },
        "errmsg": ""
    }
参数 说明
errno 执行状态 0 成功 全局返回码
errmsg 执行结果说明
last_id 获取更多时使用
we_department 员工部门ID
we_avatar 员工头像
we_name 员工姓名
we_position 员工职位
we_userid 员工帐号
check_id 员工考勤机工号

删除考勤机对应的员工

生成一条删除考勤机员工的命令,考勤机将根据该命令执行删除操作

https://qy.bangongyi.com/attend/api/device/staff-del?ticket=<ticket>

POST

参数 类型 必须 说明
sn varchar 考勤机SN码(若不传sn 则删除所有考勤机中该员工的数据)
check_id int 与we_userid二选1 员工考勤机工号
we_userid varchar 与check_id二选1 员工帐号
    {
        "errno": 0,
        "errmsg": "删除考勤机员工命令发送成功"
    }
参数 说明
errno 执行状态 0 成功 全局返回码
errmsg 执行结果说明

考勤打卡补签

补签打卡记录可按部门或员工补签

POST https://qy.bangongyi.com/attend/api/approve/check?ticket=<ticket>

参数 类型 必须 说明
department_ids varchar or array 部门ID数组或','连接的部门ID字符串 例: 121,3222,4445 获取部门列表
we_userids varchar or array 员工帐号数组或','连接的员工帐号字符串 获取成员列表
staff_ids varchar or array 员工ID数组或','连接的员工ID字符串 获取成员列表
datetime varchar 补签打卡时间(2016-05-05 09:00:00)
reason varchar 补签原因
    {
        "errno": 0,
        "errmsg": "考勤补签成功"
    }

追加导入假期时间

追加导入剩余年假/剩余调休

POST https://qy.bangongyi.com/attend/api/approvelog?ticket=<ticket>

参数 类型 必须 说明
type varchar 假期类型 例如:年假或调休
we_userids varchar or array 员工帐号数组或','连接的员工帐号字符串 we_userids或staff_ids 必须传其中一个获取成员列表
staff_ids varchar or array 员工ID数组或','连接的员工ID字符串 获取成员列表
deadline int 10位的时间戳 不传默认永久有效
time int 导入假期时长 单位分钟
reason varchar 导入假期原因
    {
        "errno": 0,
        "errmsg": "导入成功"
    }

获取考勤机信息

获取考勤机信息及在线状态

get https://qy.bangongyi.com/attend/api/device/info?ticket=<ticket>

参数 类型 必须 说明
sn varchar 考勤机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 最后在线时间