BioTime 8.5 API User Manual
BioTime 8.5 API User Manual
BioTime 8.5
Version: 1.0
Date: Sep 2019
BIOTIME 8.5 | API USER MANUAL
Contents
1. Get System User Auth Token ................................................................................................................................ 4
4. Device API............................................................................................................................................................... 8
API Description
BioTime 8.5 API is dedicated to the platform data connection for the third-party system. The third-party
system can read and set business data flexibly, which effectively reduces the complexity of the third-party
system business integration and provides convenient, fast standard connection mode and data structure.
URI /jwt-api-token-auth/
Parameter Description username: string, is required, the username to login the system.
{
Request Herders "Content-Type":"application/json"
}
{
"username":"username",
Request Body
"password":"pwd"
}
1) Get token via browser, input the following link in the browser:
http://serverIP:serverPort/api/docs/#jwt-api-token-auth
1) Get token via browser, input the following link in the browser:
http://serverIP:serverPort/api/docs/#api-token-auth
JWT Token
{
"Content-Type":"application/json",
"Authorization":"JWT ey.........oQi98"
}
Request Herders General Token
{
"Content-Type":"application/json",
"Authorization":"Token
ae600ca0f1d0aeed8af3f93c8530a69c714752b7"
}
"count": 0,
"next": null,
"previous": null,
"code": 0,
"results": [],
"data": []
4. Device API
4.1 Get Device List API
URI /iclock/api/terminals/
http://serverIP:serverPort/iclock/api/terminals/?sn=**&page=**&limit=**&ali
as=**&area=**
Request Address
sn, page, limit, alias , area are optional filter field, use & as connector
While the request address without any filter field, you will get all devices list.
Example:
Request Address:
http://192.168.217.8:8090/iclock/api/terminals/?sn=ACEZ185060382
Response:
"count": 1,
"next": null,
"previous": null,
"msg": "",
"code": 0,
"data": [
"id": 1,
Response JSON Format
"sn": "ACEZ185060382",
"ip_address": "127.0.0.1",
"alias": "ACEZ185060382_name",
"terminal_name": null,
"fw_ver": null,
"push_ver": "",
"state": 1,
"terminal_tz": 8,
"area": {
"id": 1,
"area_code": "1",
},
"last_activity": null,
"user_count": null,
"fp_count": null,
"face_count": null,
"palm_count": null,
"transaction_count": null,
"push_time": null,
"transfer_time": "00:00;14:05",
"transfer_interval": 10,
"is_attendance": true,
Example:
Response:
{
Response JSON Format
"id": 1,
"sn": "ACEZ185060382",
"ip_address": "127.0.0.1",
"alias": "ACEZ185060382_name",
"terminal_name": null,
"fw_ver": null,
"push_ver": "",
"state": 1,
"terminal_tz": 8,
"area": {
"id": 1,
"area_code": "1",
},
"last_activity": null,
"user_count": null,
"fp_count": null,
"face_count": null,
"palm_count": null,
"transaction_count": null,
"push_time": null,
"transfer_time": "00:00;14:05",
"transfer_interval": 10,
"is_attendance": true,
5. Employee API
5.1 Get Employee List API
URI /personnel/api/employees/
http://serverIP:serverPort/personnel/api/employee/?emp_code=**&page=**
&first_name=**&last_name=**&department=**&app_status=**
Request Address
page, limit, emp_code, first_name, last_name, department, app_status are
optional filter fields.
Example:
Request Address:
http://192.168.218.8:8090/personnel/api/employee/?emp_code=employee1
Response:
"count": 1,
"next": null,
"previous": null,
"msg": "",
"code": 0,
"data": [
"id": 5,
"emp_code": "employee1",
Response JSON Format
"first_name": "emp1_first_name",
"last_name": "emp1_last_name",
"nickname": "",
"device_password": "",
"card_no": "",
"department": {
"id": 1,
"dept_code": "1",
"dept_name": "Department"
},
"dept_name": "Department",
"position": null,
"position_name": null,
"hire_date": "2019-04-02",
"gender": "",
"birthday": null,
"verify_mode": null,
"emp_type": null,
"contact_tel": "",
"office_tel": "",
"mobile": "",
"national": "",
"city": "",
"address": "",
"postcode": "",
"email": "",
"enroll_sn": "",
"ssn": "",
"religion": "",
"enable_att": false,
"enable_overtime": false,
"enable_holiday": false,
"dev_privilege": null,
"self_password":
"pbkdf2_sha256$36000$XIJACl8JIXWA$a4hztrK8RSMjBgd9sWL3lTMQS3O9M
z+QwaGU/RBiXRU=",
"flow_role": [],
"area": [
"id": 1,
"area_code": "1",
],
"app_status": 0,
"app_role": null
Example:
Response:
"emp_code": "employee333",
"first_name": "emp3_first_name",
"last_name": "emp3_last_name",
"nickname": null,
"device_password": null,
Response JSON Format
"card_no": null,
"department": 1,
"position": null,
"hire_date": "2019-04-02",
"gender": null,
"birthday": null,
"verify_mode": -1,
"emp_type": null,
"contact_tel": null,
"office_tel": null,
"mobile": null,
"national": null,
"city": null,
"address": null,
"postcode": null,
"email": null,
"enroll_sn": null,
"ssn": null,
"religion": null,
"enable_att": true,
"enable_overtime": false,
"enable_holiday": true,
"dev_privilege": 1,
"self_password":
"pbkdf2_sha256$36000$XBVRNMOywdNI$P4W7MIZVa3Ho2VBdU2SewS/pb8
GavBYSGBXM/bgL+N0=",
"flow_role": [],
"area": [
],
"app_status": 0,
"app_role": 1
URI /personnel/api/employees/
Request Address:
http://192.168.218.8:8090/personnel/api/employees/
Request Body:
"emp_code": "employee333",
"first_name": "emp3_first_name",
"last_name": "emp3_last_name",
"area": [1],
"department": 1
Response Data:
"id": 6,
"emp_code": "employee333",
"first_name": "emp3_first_name",
"nickname": null,
"device_password": null,
"card_no": null,
"department": {
"id": 1,
"dept_code": "1",
"dept_name": "Department"
},
"dept_name": "Department",
"position": null,
"position_name": null,
"hire_date": "2019-04-02",
"gender": null,
"birthday": null,
"verify_mode": -1,
"emp_type": null,
"contact_tel": null,
"office_tel": null,
"mobile": null,
"national": null,
"city": null,
"address": null,
"postcode": null,
"email": null,
"enroll_sn": null,
"ssn": null,
"religion": null,
"enable_att": true,
"enable_overtime": false,
"enable_holiday": true,
"dev_privilege": 0,
"self_password":
"pbkdf2_sha256$36000$XBVRNMOywdNI$P4W7MIZVa3Ho2VBdU2SewS/pb8
GavBYSGBXM/bgL+N0=",
"flow_role": [],
"area": [
"id": 1,
"area_code": "1",
],
"app_status": 0,
"app_role": 1
Reference: http://serverIP:serverPort/api/personnel_docs/#employees-
Request Parameter
update
Request Address:
http://192.168.218.8:8090/personnel/api/employees/6/
Resquest Body:
"first_name": "emp3_first_name_update",
"last_name": "emp3_last_name_update",
Response Data:
"id": 6,
"emp_code": "employee333",
"last_name": "emp3_last_name_update",
"nickname": null,
"device_password": null,
"card_no": null,
"department": 1,
"position": null,
"hire_date": "2019-04-02",
"gender": null,
"birthday": null,
"verify_mode": -1,
"emp_type": null,
"contact_tel": null,
"office_tel": null,
"mobile": null,
"national": null,
"city": null,
"address": null,
"postcode": null,
"email": null,
"enroll_sn": null,
"ssn": null,
"religion": null,
"enable_att": true,
"enable_overtime": false,
"enable_holiday": true,
"dev_privilege": 1,
"self_password":
"pbkdf2_sha256$36000$XBVRNMOywdNI$P4W7MIZVa3Ho2VBdU2SewS/pb8
GavBYSGBXM/bgL+N0=",
"flow_role": [],
"area": [
],
"app_status": 0,
"app_role": 1
URI /personnel/api/employees/<id>/
6. Department API
6.1 Get Department List API
URI /personnel/api/departments/
http://serverIP:serverPort/personnel/api/departments/?dept_code=**&page
Request Address =**&dept_code=**&dept_name=**&parent_dept=**
page, limit, dept_code, dept_name, parent_dept are optional filter fields.
Request address:
http://192.168.218.8:8090/personnel/api/departments/?dept_code=1
URI /personnel/api/departments/<id>/
Request Address:
http://192.168.218.8:8090/personnel/api/departments/1/
Request Body:
{
Response JSON Format "id": 1,
"dept_code": "1",
"dept_name": "Department",
"parent_dept": null,
"parent_dept_name": null
}
URI /personnel/api/departments/
Reference: http://serverIP:serverPort/api/personnel_docs/#departments-
Request Parameter
create
Request Address
http://192.168.218.8:8090/personnel/api/departments/
Request Body
{
Response JSON Format
"dept_code": "222",
"dept_name": "Department222",
"parent_dept": 1
}
Response Data
{
"id": 2,
"dept_code": "222",
"dept_name": "Department222",
"parent_dept": 1
}
Reference: http://serverIP:serverPort/api/personnel_docs/#departments-
Request Parameter
update
Request Address
http://192.168.218.8:8090/personnel/api/departments/2/
Resquest Body
{
"dept_name": "Department222_update"
}
URI /personnel/api/departments/<id>/
Request Address:
http://19.2168.218.8:8090/personnel/api/departments/2/
Response JSON Format
Resquest Body:
{}
7. Area API
7.1 Get Area List API
URI /personnel/api/areas/
http://serverIP:serverPort//personnel/api/areas/?area_code=**&page=**&are
Request Address a_code=**&area_name=**&parent_area=**
page, limit, area_code, area_name, parent_area are optional filter fields.
Request address:
http://192.168.218.8:8090/personnel/api/areas/?area_code=2/
URI /personnel/api/areas/<id>/
Request address:
http://192.168.218.8:8090/personnel/api/areas/2/
URI /personnel/api/areas/
Request Address
http://192.168.218.8:8090/personnel/api/areas/
"area_name": "Department222",
"parent_area": 1
}
Response Data
{
"id": 2,
"area_code": "222",
"area_name": "Department222",
"parent_area": 1
}
Request Address
http://192.168.218.8:8090/personnel/api/areas/2/
Resquest Body
{
"area_name": "Area222_update"
}
URI /personnel/api/areas/<id>/
Request Address:
http://19.2168.218.8:8090/personnel/api/areas/2/
Response JSON Format
Resquest Body:
{}
8. Position API
8.1 Get Position List API
URI /personnel/api/positions/
http://serverIP:serverPort/personnel/api/positions/?position_code=**&page=
**&position_code=**&position_name=**&parent_position=**
Request Address
page, limit, position_code, position_name, parent_position are optional filter
fields.
Request address:
http://192.168.218.8:8090/personnel/api/positions/?position_code=1
{
"id": 1,
"position_code": "1",
"position_name": "Department",
"parent_position": null,
"parent_position_name": null
}
]
}
URI /personnel/api/positions/<id>/
Request Address:
http://192.168.218.8:8090/personnel/api/positions/1/
Request Body:
{
Response JSON Format "id": 1,
"position_code": "1",
"position_name": "Position",
"parent_position": null,
"parent_position_name": null
}
URI /personnel/api/positions/
Request Address
http://192.168.218.8:8090/personnel/api/positions/
Request Body
{
"position_code": "222",
"position_name": "Position222",
"parent_position": 1
Response JSON Format }
Response Data
{
"id": 2,
"position_code": "222",
"position_name": "Position222",
"parent_position": 1
}
Request Address
http://192.168.218.8:8090/personnel/api/positions/2/
Resquest Body
{
"position_name": "Position222_update"
}
URI /personnel/api/positions/<id>/
Request Address:
http://19.2168.218.8:8090/personnel/api/positions/2/
Response JSON Format
Resquest Body:
{}
9. Transaction API
9.1 Get Transaction List API
/iclock/api/transctions/
URI
http://serverIP:serverPort/iclock/api/transactions/?emp_code=**&start_time
=**&end_time=**
Request Address
page , limit, emp_code, terminal_sn, start_time, end_time are optional filter
fields.
Request Address:
http://192.168.218.8:8090/iclock/api/transactions/?emp_code=100001&start
_time=2019-03-01 00:00:00&end_time=2019-04-1 00:00:00
"purpose": 1,
"crc": null,
"is_attendance": 1,
"reserved": null,
"upload_time": "2019-03-04 09:50:00",
"sync_status": 1,
"sync_time": null,
"emp": null,
"terminal": null
},
...
...
...
]
}
Office 1207, Floor 112, Arenco Tower, Media City, Sheikh Zayed Road, Dubai, U.A.E.
Tel: +971 4 3927649
Fax: +971 4 3792752
E-mail: [email protected]
www.zkteco.me