The purpose of this API is to upload attendance logs to modulus®.
Request
API Name | PublicAttendanceLogImport |
---|---|
URL | https://your_account.modulus.biz/api/hr/PublicAttendanceLogImport&token=YOUR_TOKEN |
Method | POST |
Source | Third Party Server |
Recipient | modulus® Server |
Content Type | multipart/form-data |
Query String Parameters
Parameter | Description |
---|---|
token | Security token retrieved from Authentication API. |
Request Body Parameters
Parameter | Description |
---|---|
device_id | The device ID retrieved from the API PublicAttendanceDeviceList. |
log_file | File in CSV format that holds attendance logs to be uploaded. File should be UTF-8 encoded without BOM. |
The uploaded file must be structured as follows:
Employee ID | Date Time | Direction Flag |
---|---|---|
1 | 2018-01-01 10:00:00 | I |
1 | 2018-01-01 16:30:00 | O |
File is in CSV format with PIPE “|” separator, the above table should map to the following file content:
1 | 2018-01-01 10:00:00 | I
1 | 2018-01-01 16:30:00 | O
Notes
- Possible direction flag values: ‘I’ for check-in, ‘O’ for check-out.
- Note that, header row must not be included in the uploaded file.
- The direction flag is necessary if the device setup on modulus® is marked to accept this flag (i.e. device direction set to “IN/OUT” value)
- If the device direction is set to “IN”, modulus® accepts all logs as “check-in”, regardless of the direction flag.
- If the device direction is set to “OUT”, modulus® accepts all logs as “check-out”, regardless of the direction flag.
- If the device direction is set to “NONE”, modulus® decides direction of logs depending on the shifts on relevant date.
- Log file size should not exceed 100KB. Larger log amounts should be split into smaller files of sizes less than 100KB.
Responses
HTTP Status | result | title | message | object |
---|---|---|---|---|
Success Responses | ||||
200 OK | true | Success | Attendance logs imported successfully. | null |
Failure Responses | ||||
400 Bad Request | false | Bad Request | Device ID is missing. Logs file is missing. Upload error #error_number Uploaded file is larger than 100 KB. Invalid file mime type. Invalid file content. Invalid Device ID. Device is disabled. |
null |
500 Internal Server Error | false | Error | Importing file failed. | null |
Example
Request |
|
---|---|
Success Responses | |
200 OK |
|
Failure Responses | |
400 Bad Request |
|
500 Internal Server Error |
|