API Name:
rfid_v2/offline_attendance/store_attendances
We use this API to send offline attendance data to iFlow. When one of our devices cannot send live attendance data due to internet issues, when it reconnects it will call this api with it's own device access_token and with a list of rfid scans.
Quick info:
Full url: https://app.iflow.ro/api/rfid_v2/offline_attendance/store_attendances
Method: GET
Parameters:
access_token
The access token is used to identify a rfid device in iFlow. Generate a random number and register it in iFlow (settings -> rfid devices)
csv_data
An array of objects that represent a scan.
"csv_data": [ { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "11111111", "errorMsg": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "2222222", "errorMsg": "" } ],
version
Your client version ex: 1.0
Returns:
Ok response:
If everything is ok, you get a list of attendances with no errors.
[ { "date": "2022-09-05", "time": "11:46:41", "rfidTag": "1", "error_authenticate": "", "error_check_in_out": "", "error_csv": "" }, { "date": "2022-09-05", "time": "11:46:41", "rfidTag": "2", "error_authenticate": "", "error_check_in_out": "", "error_csv": "" }, { "date": "2022-09-05", "time": "11:46:41", "rfidTag": "3", "error_authenticate": "", "error_check_in_out": "", "error_csv": "" }, { "date": "2022-09-05", "time": "11:46:41", "rfidTag": "4", "error_authenticate": "", "error_check_in_out": "", "error_csv": "" }, { "date": "2022-09-05", "time": "11:46:41", "rfidTag": "5", "error_authenticate": "", "error_check_in_out": "", "error_csv": "" }, ]
Error response:
If an error ocurs on an attendance, you will get the text of the error on one of the error_ keys
[ { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "1", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Nu se poate adăuga - prezență duplicată: 53201", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "2", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Nu se poate adăuga - prezență duplicată: 53201", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "3", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Nu se poate adăuga - prezență duplicată: 53201", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "4", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Nu se poate adăuga - prezență duplicată: 53201", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "5", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Nu se poate adăuga - prezență duplicată: 53201", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "6", "errorMsg": "", "error_authenticate": "Angajatul nu se poate ponta în afara perioadei de angajare.", "error_check_in_out": "", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "7", "errorMsg": "", "error_authenticate": "Niciun angajat nu este asociat acestei cartele de tip RFID: 7", "error_check_in_out": "", "error_csv": "" }, { "date": "2022-08-05", "time": "11:30:41", "rfidTag": "1", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Oprea Radu - Acest interval se suprapune cu următorul interval: 05/08/2022 14:46:41 - gol", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "1", "errorMsg": "", "error_authenticate": "", "error_check_in_out": "Nu se poate adăuga - prezență duplicată: 53201", "error_csv": "" }, { "date": "2022-08-05", "time": "11:46:41", "rfidTag": "", "errorMsg": "", "error_authenticate": "Niciun angajat nu este asociat acestei cartele de tip RFID: ", "error_check_in_out": "", "error_csv": "" } ]