(Quick Reference)

78 Assign employee to route - Reference Documentation

Version: 2.1

78 Assign employee to route

78.1 List

Service: List of assigned employees to routes

Description: This web service returns a json list of couples (route,employee).

URL:

https://BASE_URL/api/VERSION/routeEmployees

Method: GET

Parameters:

Pagination parameters:

NameDescriptionTypeRequiredPossible values
maxLimits the number of resources requested to return.Integerno 
offsetTells where to start returning records from the entire set of results.Integerno 
orderOrders ascending or descending.Integernoasc,desc
sortOrders the results by the specified field.Stringno 

The max parameter is set to 100 by default.

Filters parameters:

NameDescriptionTypeRequiredExample values
dateCreated_gtFilters by the resource's creation date time and operator greater thanDateno2016-08-15T14:52:48Z
dateCreated_gteFilters by the resource's creation date time and operator greater than or equalDateno 
dateCreated_ltFilters by the resource's creation date time and operator less thanDateno 
dateCreated_lteFilters by the resource's creation date time and operator less than or equalDateno 
lastUpdated_gtFilters by the resource's last-modified date time and operator greater thanDateno 
lastUpdated_gteFilters by the resource's last-modified date time and operator greater than or equalDateno 
lastUpdated_ltFilters by the resource's last-modified date time and operator less thanDateno 
lastUpdated_lteFilters by the resource's last-modified date time and operator less than or equalDateno 
employeeReferenceWildcard search by the resource's employee referenceStringno 
routeReferenceWildcard search by the resource's route referenceStringno 

Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)

Success Output

Success case: response.status=200

{
  "paging": {
    "total": 2,
    "max": 100,
    "offset": 0,
    "previous": null,
    "next": null
  },
  "data": [
    {
      "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"
    },
    {
      "id": 3,
      "rootingDate": "2016-11-10T14:30:00Z",
      "repeatPeriod": "Never",
      "employee": {
        "id": 3,
        "reference": "R-E-001",
        "href": "/api/v1.0/employees/3"
      },
      "route": {
        "id": 4,
        "reference": "R-R-001",
        "href": "/api/v1.0/routes/4"
      },
      "dateCreated": "2016-10-24T09:55:41Z",
      "lastUpdated": "2016-10-24T09:55:41Z"
    }
  ]
}

Failure Output

Failure case:response.status = 400
{
   "error": "invalid_param",
   "error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
{
    "error": "invalid_datetime_format",
    "error_description": "Invalid datetime filter (not ISO-8601 formatted): [2016-08-1Z]"
}
Failure case:response.status = 500
{
   "error": "server_error",
   "error_description": "Oops! Something went wrong..."
}

78.2 Show

Service: Show an assigned employee to a route

Description: This web service return an existing assigned employee to a route object of the specified id in JSON format

URL:

https://BASE_URL/api/VERSION/routeEmployees/{id}

Method: GET

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired recordLongYes777

Success Output

Success case: response.status = 200
{
  "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 id you provided is not valid for this request."
}

Failure case:response.status = 404
{
  "error": "not_found",
  "error_description": "The routeEmployee with the id 999 doesn't exist."
}

78.3 Create

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:

NameDescriptionTypeRequiredExample values
employeeIdthe id of employee to be assignedLongYes111
routeIdthe id of the assigned routeLongYes777
rootingDatethe date of the operationDateYes"2016-12-10"
repeatPeriodrepetition type of the operationStringYesNever, 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..."
}

78.4 Update

Service: Update an assigned route to an employee

Description: This web service is used to update an assigned employee to a route

URL:

https://BASE_URL/api/VERSION/routeEmployees/{id}

Method: PUT

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired record to updateLongYes123
employeeIdthe id of employee to be assignedLongYes111
routeIdthe id of the assigned routeLongYes777
rootingDatethe date of the operationDateYes"2016-12-10"

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 = 200
{
  "id": 1,
  "rootingDate": "2016-12-10T14:30:00Z",
  "repeatPeriod": "Never",
  "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-24T010:30: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": "update_not_authorized",
  "error_description": "the specified route is already assigned to the specified employee"
}
{
  "error": "update_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..."
}

78.5 Delete

Service: Dissociate an employee from a route

Description: This web service is used to dissociate an assigned employee to a route and delete the data from the database

URL:

https://BASE_URL/api/VERSION/routeEmployees/{id}

Method: DELETE

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired record to deleteLongYes777
deleteOccurencesboolean to say if delete will also delete the occurrences instancesBooleanNotrue

When deleteOccurences is set to true, starting from the rooting date of the desired route/employee instance all the route/employee occurrences will be deleted.

Success Output

Success case: response.status = 200
{
  "success": "true",
  "success_description": "Instance deleted successfully"
}

Failure Output

Failure case:response.status = 400
{
	"error":"invalid_param_type",
 	"error_description": "The type of parameter id you provided is not valid for this request."
}

{
	"error": "delete_failed",
	"error_description": "Failed to delete instance."
}

Failure case:response.status = 404
{
  	"error": "not_found",
  	"error_description": "The routeEmployee with the id 999 doesn't exist."
}

Failure case:response.status = 500
{
     "error": "server_error",
     "error_description": "Oops! Something went wrong..."
}