UTimeMaster API User Manual
UTimeMaster API User Manual
1. API Description.................................................................................................................................................................2
5. Device API......................................................................................................................................................................... 8
6. Employee API..................................................................................................................................................................11
7. Department API..............................................................................................................................................................20
7.1 Get Department List API........................................................................................................................................ 20
8. Area API........................................................................................................................................................................... 23
9. Position API.....................................................................................................................................................................26
UTimeMaster 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.
There are two kinds of auth token for software system user : JWT auth token and general auth token.
2.1 Get JWT Auth Token
(1) Request Instruction
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"
}
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": []
URI /iclock/api/terminals/
[Link]
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:
Response:
{
"count": 1,
"next": null,
"previous": null,
"msg": "",
"code": 0,
"data": [
"id": 1,
"sn": "ACEZ185060382",
"ip_address": "[Link]",
"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,
"area_name": "Not Authorized"
Example:
Response:
"id": 1,
"sn": "ACEZ185060382",
"ip_address": "[Link]",
"alias": "ACEZ185060382_name",
"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,
6. Employee API
URI /personnel/api/employees/
[Link]
&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:
Response JSON Format
[Link]
Response:
{
"count": 1,
"next": null,
"previous": null,
"msg": "",
"code": 0,
"data": [
"id": 5,
"emp_code": "employee1",
"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
}
6.2 Get Employee Object Info API
Example:
Response:
"emp_code": "employee333",
"first_name": "emp3_first_name",
"last_name": "emp3_last_name",
"nickname": null,
"device_password": null,
"card_no": null,
"department": 1,
Response JSON Format
"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:
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",
"last_name": "emp3_last_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:
Request Parameter
[Link]
Request Address:
[Link]
Resquest Body:
"first_name": "emp3_first_name_update",
"last_name": "emp3_last_name_update",
Response Data:
"id": 6,
"emp_code": "employee333",
"first_name": "emp3_first_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>/
7. Department API
URI /personnel/api/departments/
[Link]
Request Address =**&dept_code=**&dept_name=**&parent_dept=**
page, limit, dept_code, dept_name, parent_dept are optional filter fields.
Request address:
[Link]
URI /personnel/api/departments/<id>/
Request Address:
[Link]
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:
Request Parameter
[Link]
Request Address
[Link]
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
}
7.4 Update Department API
Reference:
Request Parameter
[Link]
Request Address
[Link]
Resquest Body
{
"dept_name": "Department222_update"
}
Request Address:
[Link]
Response JSON Format
Resquest Body:
{}
8. Area API
URI /personnel/api/areas/
[Link]
Request Address a_code=**&area_name=**&parent_area=**
page, limit, area_code, area_name, parent_area are optional filter fields.
Request address:
[Link]
URI /personnel/api/areas/<id>/
Request address:
[Link]
URI /personnel/api/areas/
Request Body
{
"area_code": "222",
"area_name": "Department222",
"parent_area": 1
Response JSON Format }
Response Data
{
"id": 2,
"area_code": "222",
"area_name": "Department222",
"parent_area": 1
}
8.4 Update Area API
Resquest Body
{
"area_name": "Area222_update"
}
URI /personnel/api/areas/<id>/
Request Address:
[Link]
Response JSON Format
Resquest Body:
{}
9. Position API
[Link]
**&position_code=**&position_name=**&parent_position=**
Request Address
page, limit, position_code, position_name, parent_position are optional filter
fields.
Request address:
[Link]
URI /personnel/api/positions/<id>/
Request Address:
Response JSON Format [Link]
Request Body:
{
"id": 1,
"position_code": "1",
"position_name": "Position",
"parent_position": null,
"parent_position_name": null
}
URI /personnel/api/positions/
Request Address
[Link]
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
}
9.4 Update Position API
Request Address
[Link]
Resquest Body
{
"position_name": "Position222_update"
}
URI /personnel/api/positions/<id>/
Request Address:
[Link]
Response JSON Format
Resquest Body:
{}
10. Transaction API
10.1 Get Transaction List API
/iclock/api/transctions/
URI
[Link]
=**&end_time=**
Request Address
page , limit, emp_code, terminal_sn, start_time, end_time are optional filter
fields.
Request Address:
[Link]
_time=2019-03-01 [Link]&end_time=2019-04-1 [Link]