(Quick Reference)
Service: Assign a route to an employee
Description: This web service is used to assign an employee which is not assigned before to a route
URL:
https://BASE_URL/api/VERSION/routeEmployees
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
employeeId | the id of employee to be assigned | Long | Yes | 111 |
routeId | the id of the assigned route | Long | Yes | 777 |
rootingDate | the date of the operation | Date | Yes | "2016-12-10" |
repeatPeriod | repetition type of the operation | String | Yes | Never, Weekly, Monthly |
repeatPeriod
can only be one of this value : "Never", "Weekly", "Monthly"
In order to assign an employee to a route, all the customers assigned to this route must be already assigned
to the specified employee
In the same rooting date we can't assign an employee to a route if the are already assigned to each other.
Success Output
Success case: response.status = 201
{
"id": 1,
"rootingDate": "2016-12-10",
"repeatPeriod": "Monthly",
"employee": {
"id": 3,
"reference": "R-E-001",
"href": "/api/v1.0/employees/3"
},
"route": {
"id": 2,
"reference": "R-RT-001",
"href": "/api/v1.0/routes/2"
},
"dateCreated": "2016-10-19T10:42:09Z",
"lastUpdated": "2016-10-24T09:32:13Z"
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param_type",
"error_description": "The type of parameter routeId you provided is not valid for this request."
}
{
"error": "missing_param",
"error_description": "employeeId parameter is missing"
}
{
"error": "invalid_date_format",
"error_description": "Invalid date filter (not ISO-8601 formatted): rootingDate"
}
{
"error": "save_not_authorized",
"error_description": "the specified route is already assigned to the specified employee"
}
{
"error": "save_not_authorized",
"error_description": "Not all the assigned customers to the route are assigned to the employee"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The employee with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}