(Quick Reference)

76 Routes - Reference Documentation

Version: 2.1

76 Routes

76.1 List

Service: List of routes

Description: This web service returns a json list of routes.

URL:

https://BASE_URL/api/VERSION/routes

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 
nameWildcard search by the resource's nameStringno 
referenceWildcard search by the resource's 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": 2,
      "reference": "R-RT-001",
      "name": "fast and furious",
      "geographicLocation": {
        "id": 3,
        "name": "Nice",
        "href": "/api/v1.0/regions/3"
      },
      "organization": "entity1",
      "dateCreated": "2016-10-17T14:05:54Z",
      "lastUpdated": "2016-10-18T09:52:10Z"
    },
    {
      "id": 4,
      "reference": "R-RT-002",
      "name": "route XYZ",
      "geographicLocation": {
        "id": 2,
        "name": "Toulouse",
        "href": "/api/v1.0/regions/2"
      },
      "organization": "entity1",
      "dateCreated": "2016-10-17T16:43:20Z",
      "lastUpdated": "2016-10-17T16:43:20Z"
    }
  ]
}

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..."
}

76.2 Show

Service: Show a route

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

URL:

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

URL with external_id:

https://BASE_URL/api/VERSION/routes/reference/{id}

Method: GET

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired recordLong/StringYes777

Success Output

Success case: response.status = 200
{
  "id": 2,
  "reference": "R-RT-001",
  "name": "fast and furious",
  "geographicLocation": {
    "id": 3,
    "name": "Nice",
    "href": "/api/v1.0/regions/3"
  },
  "organization": "entity1",
  "dateCreated": "2016-10-17T14:05:54Z",
  "lastUpdated": "2016-10-18T09:52:10Z"
}

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 route with the id 999 doesn't exist."
}

76.3 Create

Service: Create a new route

Description: This web service is used to add a new route object to the database

URL:

https://BASE_URL/api/VERSION/routes

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
namethe name of the new routeStringYes 
referencethe reference of the new appointmentStringYes 
geographicLocationIdthe id of region which the route will be associatedLongNo 

geographicLocationId must be an ID of a leaf region located within the geographical positions’ hierarchical tree
reference must be unique

Success Output

Success case: response.status = 201
{
  "id": 2,
  "reference": "R-RT-001",
  "name": "fast and furious",
  "geographicLocation": {
    "id": 3,
    "name": "Nice",
    "href": "/api/v1.0/regions/3"
  },
  "organization": "entity1",
  "dateCreated": "2016-10-17T14:05:54Z",
  "lastUpdated": "2016-10-18T09:52:10Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "invalid_param_type",
  "error_description": "The type of parameter geographicLocationId you provided is not valid for this request."
}
{
  "error": "missing_param",
  "error_description": "name parameter is missing"
}
{
  "error": "not_unique",
  "error_description": "reference already used"
}
{
  "error": "save_failed",
  "error_description": "Failed to save instance"
}

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

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

76.4 Update

Service: Update a route

Description: This web service is used to update an existing route object of specified id to the database

URL:

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

URL with external_id:

https://BASE_URL/api/VERSION/routes/reference/{id}

Method: PUT

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired record to updateLong/StringYes123
namethe name of the new routeStringYes 
referencethe reference of the new appointmentStringYes 
geographicLocationIdthe id of region which the route will be associatedLongNo 

geographicLocationId must be an ID of a leaf region located within the geographical positions’ hierarchical tree
reference must be unique

Success Output

Success case: response.status = 200
{
  "id": 2,
  "reference": "R-RT-001",
  "name": "fast and furious",
  "geographicLocation": {
    "id": 3,
    "name": "Nice",
    "href": "/api/v1.0/regions/3"
  },
  "organization": "entity1",
  "dateCreated": "2016-10-17T14:05:54Z",
  "lastUpdated": "2016-10-18T09:52:10Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "invalid_param_type",
  "error_description": "The type of parameter geographicLocationId you provided is not valid for this request."
}
{
  "error": "missing_param",
  "error_description": "name parameter is missing"
}
{
  "error": "not_unique",
  "error_description": "reference already used"
}
{
  "error": "save_failed",
  "error_description": "Failed to save instance"
}

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

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

76.5 Upsert

Service: Upsert a route

Description: This web service is used to insert a route object to the database if it does not already exist, or update it.

URL with external_id:

https://BASE_URL/api/VERSION/routes/reference/{id}

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
namethe name of the new routeStringYes 
geographicLocationIdthe id of region which the route will be associatedLongNo 

geographicLocationId must be an ID of a leaf region located within the geographical positions’ hierarchical tree
reference must be unique

Success Output

Success case: response.status = 201
{
  "id": 2,
  "reference": "R-RT-001",
  "name": "fast and furious",
  "geographicLocation": {
    "id": 3,
    "name": "Nice",
    "href": "/api/v1.0/regions/3"
  },
  "organization": "entity1",
  "dateCreated": "2016-10-17T14:05:54Z",
  "lastUpdated": "2016-10-18T09:52:10Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "invalid_param_type",
  "error_description": "The type of parameter geographicLocationId you provided is not valid for this request."
}
{
  "error": "missing_param",
  "error_description": "name parameter is missing"
}
{
  "error": "not_unique",
  "error_description": "reference already used"
}
{
  "error": "save_failed",
  "error_description": "Failed to save instance"
}

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

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

76.6 Delete

Service: Delete a route

Description: This web service is used to delete an existing route object from the database

URL:

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

URL with external_id:

https://BASE_URL/api/VERSION/routes/reference/{id}

Method: DELETE

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired record to deleteLong/StringYes777

When deleting a route instance, all assignments of customers, employees and employee visits relate to this route will be deleted as well.

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 route with the id 999 doesn't exist."
}

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