Closed KyusangCho closed 5 months ago
Date | Door | Person ID | Status |
---|---|---|---|
2024-01-26 13:23:56 | Nivel20 | 999(Bryan Cho) | Authorize failed |
2024-01-26 13:23:56 | Nivel16 | 8(Kevin) | Open |
[!NOTE] Suprema BioStar API es una API basada en JSON. Todas las endpoints comienzan con
https://server_ip|domain_name[:port]/api
Primero se debe realizar la autenticacion del usuario administrador.
Endpoint: https://127.0.0.1/api/login
Body:
{
"User": {
"login_id": "admin",
"password": "yourpassword"
}
}
La respuesta devolverá bs-session-id
para autorizar cualquier movimiento en la API. Para aplicar este valor, se agrega en header de la peticion
Descripcion | Endpoint | Body | Tipo |
---|---|---|---|
Lista de usuarios por ID de Grupo ( El valor por defecto es 1 para mostrar todos los usuarios | https://127.0.0.1/api/v2/users/search |
{"limit": 0, "search_text": null, "user_group_id": "1", "order_by": "user_id:false" } |
POST |
Ver usuario por ID | https://127.0.0.1/api/users/:id |
GET | |
Exportar usuarios en .csv Ubicacion: {{Biostar 2 Installation Folder]]\nginx\html\download |
https://127.0.0.1/api/users/csv_export?id=[id here] Colocar * para todos los usuarios o concatenar id de usuarios con '+' |
{"Query": {}} |
POST |
Descripcion | Endpoint | Body | Tipo |
---|---|---|---|
Informacion de usuario en un dispositivo especifico | https://127.0.0.1/api/devices/:id/discover_userdata |
GET |
Primero se debe realizar la autenticacion del usuario administrador.
Endpoint: https://127.0.0.1:3002/tna/login
Body:
{
"User": {
"login_id": "admin",
"password": "yourpassword"
}
}
Se utiliza misma endpoint pero cambia la propiedad report_type
para un reporte en especifico.
Descripcion | Endpoint | Body | Tipo |
---|---|---|---|
Reporte Diario | https://127.0.0.1/tna/report.json |
POST |
{
"limit": 50,
"offset": 0,
"type": "CUSTOM",
"start_datetime": "2021-07-01",
"end_datetime": "2021-07-30",
"user_id_list": [ "1", "2" ],
"group_id_list": [ "1" ],
"report_type": "REPORT_DAILY",
"report_filter_type": "",
"language": "en",
"rebuild_time_card": true,
"columns": [ {} ]
}
Parametros
Descripcion | Endpoint | Body | Tipo |
---|---|---|---|
Reporte Individual: Cambia la propiedad "report_filter_type": "INDIVIDUAL_FILTER_SUMMARY" |
https://127.0.0.1/tna/report.json |
POST |
[!IMPORTANT] Colocar un ID en la propiedad
user_id_list
👇
Body:
{
"limit": 50,
"offset": 0,
"type": "callCreateReport",
"start_datetime": "2020-12-07",
"end_datetime": "2020-12-07",
"report_type": "REPORT_INDIVIDUAL",
"report_filter_type": "INDIVIDUAL_FILTER_SUMMARY",
"user_id_list": [
"2",
],
"language": "en",
"rebuild_time_card": true,
"columns": [
{
"name": "report.userName",
"field": "userName",
"displayName": "Name",
"leaveType": false
},
{
"name": "report.userId",
"field": "userId",
"displayName": "UserID",
"leaveType": false
},
{
"name": "report.department",
"field": "userGroupName",
"displayName": "Department",
"leaveType": false
},
{
"name": "timeCard.regularHours",
"field": "normalRegular",
"displayName": "Regularhours",
"leaveType": false
},
{
"name": "timeCard.overtimeHours",
"field": "normalOvertime",
"displayName": "Overtimehours",
"leaveType": false
},
{
"name": "report.totalWorkTime",
"field": "totalWorkTime",
"displayName": "TotalWorkHours",
"leaveType": false
},
{
"name": "reportHeader.absence",
"field": "absence",
"displayName": "NoofAbsence",
"leaveType": false
},
{
"name": "reportHeader.insufficientWorkTime",
"field": "insufficientWorkTime",
"displayName": "NoofInsufficientWorkTime",
"leaveType": false
},
{
"name": "reportHeader.lateIn",
"field": "lateIn",
"displayName": "NoofLateIn",
"leaveType": false
},
{
"name": "reportHeader.earlyOut",
"field": "earlyOut",
"displayName": "NoofEarlyOut",
"leaveType": false
},
{
"name": "reportHeader.missingEventType",
"field": "missingEventType",
"displayName": "NoofMissingEventType",
"leaveType": false
},
{
"name": "reportHeader.missingPunchIn",
"field": "missingPunchIn",
"displayName": "NoofMissingPunchIn",
"leaveType": false
},
{
"name": "reportHeader.missingPunchOut",
"field": "missingPunchOut",
"displayName": "NoofMissingPunchOut",
"leaveType": false
}
],
"sort_columns": [],
"userCustomFields": {}
}
Attendance up to this point was sent manually as an Excel file to Rosenda by email. This report was exported and then edited to fit the format shown below: