Import
API actions¶
API calls to import employees.
API actions¶
API path: /employee/import/
.
start
¶
Starting the background process of importing employees.
Parameters¶
name | description | type |
---|---|---|
filename | Name of file preloaded with /data/spreadsheet/parse | string |
headers | List of files' headers, see available fields above | string array |
user_headers | Optional. List of user labels for headers | string array |
Available fields:
first_name
middle_name
last_name
email
phone
driver_license_number
driver_license_cats
driver_license_issue_date
driver_license_valid_till
hardware_key
address
lat
lng
radius
personnel_number
ssn
tracker_label
tags
undefined
(if a meaning of a field is not known)
Response¶
{
"success": true,
"id": <int>
}
Example¶
curl -X POST "https://api.navixy.com/v2/employee/import/start" \
-H "Content-Type: application/json" \
--data-binary @- << EOF
{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"filename": "tmp-sheet640571613016981796.tsv",
"headers": ["label", "model", "max_speed", "type", "subtype", "reg_number", "fuel_grade", "fuel_tank_volume", "free_insurance_policy_number", "free_insurance_valid_till", "tracker_label", "tags"],
"user_headers": [ "Model", "Max speed", "Type", "Subtype", "Reg. number", "Fuel grade", "Fuel tank volume", "Free insurance policy number", "Free insurance valid till", "Object", "Tags"]
}
EOF
Errors¶
- 15 - Too many requests (rate limit exceeded) - if too many imports in progress
- 233 - No data file
- 234 - Invalid data format
- 247 - Entity already exists - there is another identical import with the same file
read
¶
Returns an import process with specified ID.
Parameters¶
name | description | type |
---|---|---|
process_id | Process ID | int |
Response¶
{
"success": true,
"value": {
"id": <int>,
"user_id": <int>,
"created": <date>,
"type": "Employee",
"params": {
"headers": [<string>, <string>,...] // List of files' headers
},
"filename": <string>, // Name of preloaded TSV.
"status": <string>, // created | in_progress | done | failed | finished
"status_change_date": <date>,
"progress": {
"imported": <int>,
"failed": <int>,
"percent": <int>, // approximate percentage of processed
"processed_lines": <int>,
"warnings": [{line:<int>, error: <string>}], // first 25
"errors": [{line:<int>, error: <string>}], // first 25
}
}
}
Example¶
curl -X POST "https://api.navixy.com/v2/employee/import/read" \
-H "Content-Type: application/json" \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "process_id": 1}'
Errors¶
- 201 – Not found in database (if import is not found)
list
¶
Returns the list of the user's employee import processes.
Response¶
{
"success" : true,
"list" : [ {
"id": <int>,
"user_id": <int>,
"created": <date>,
"type": "Employee",
"params": {
"headers": [<string>, <string>,...] // List of files' headers
},
"filename": <string>, // Name of preloaded TSV.
"status": <string>, // created | in_progress | done | failed
"status_change_date": <date>,
"progress": {
"imported": <int>,
"failed": <int>,
"percent": <int>, // approximate percentage of processed
"processed_lines": <int>,
"warnings": [{line:<int>, error: <string>}], // first 25
"errors": [{line:<int>, error: <string>}], // first 25
}
}, ...]
}
Example¶
curl -X POST "https://api.navixy.com/v2/employee/import/list" \
-H "Content-Type: application/json" \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'
download_failed
¶
Retrieve a file with lines that contained errors and did not pass validation.
Parameters¶
name | description | type |
---|---|---|
process_id | Process ID | int |
Response¶
File (standard file download).
Example¶
curl -X POST "https://api.navixy.com/v2/employee/import/download_failed" \
-H "Content-Type: application/json" \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "process_id": 7}'
Errors¶
- 201 – Not found in database (if import is not found)
- 204 – Entity not found (if file is not found)
Last update: October 16, 2024