(Quick Reference)
77 Assign customer to route - Reference Documentation
Version: 2.1
77 Assign customer to route
77.1 List
Service: List of couples route and customer
Description: This web service returns a json list of couples (route,customer).
URL:
https://BASE_URL/api/VERSION/routeCustomers
Method: GET
Parameters:
Pagination parameters:
Name | Description | Type | Required | Possible values |
---|
max | Limits the number of resources requested to return. | Integer | no | |
offset | Tells where to start returning records from the entire set of results. | Integer | no | |
order | Orders ascending or descending. | Integer | no | asc,desc |
sort | Orders the results by the specified field. | String | no | |
The max
parameter is set to 100
by default.
Filters parameters:
Name | Description | Type | Required | Example values |
---|
dateCreated_gt | Filters by the resource's creation date time and operator greater than | Date | no | 2016-08-15T14:52:48Z |
dateCreated_gte | Filters by the resource's creation date time and operator greater than or equal | Date | no | |
dateCreated_lt | Filters by the resource's creation date time and operator less than | Date | no | |
dateCreated_lte | Filters by the resource's creation date time and operator less than or equal | Date | no | |
lastUpdated_gt | Filters by the resource's last-modified date time and operator greater than | Date | no | |
lastUpdated_gte | Filters by the resource's last-modified date time and operator greater than or equal | Date | no | |
lastUpdated_lt | Filters by the resource's last-modified date time and operator less than | Date | no | |
lastUpdated_lte | Filters by the resource's last-modified date time and operator less than or equal | Date | no | |
customerReference | Wildcard search by the resource's customer reference | String | no | |
routeReference | Wildcard search by the resource's route reference | String | no | |
Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)
Success Output
Success case: response.status=200
{
"paging": {
"total": 3,
"max": 100,
"offset": 0,
"previous": null,
"next": null
},
"data": [
{
"id": 1,
"rank": 2,
"route": {
"id": 2,
"reference": "R-RT-001",
"href": "/api/v1.0/routes/2"
},
"customer": {
"id": 19,
"reference": "R-C-003",
"href": "/api/v1.0/customers/19"
},
"organization": "entity1",
"dateCreated": "2016-10-18T13:30:02Z",
"lastUpdated": "2016-10-19T07:55:52Z"
},
{
"id": 2,
"rank": 2,
"route": {
"id": 2,
"reference": "R-RT-001",
"href": "/api/v1.0/routes/2"
},
"customer": {
"id": 2,
"reference": "R-CUS2",
"href": "/api/v1.0/customers/2"
},
"organization": "entity1",
"dateCreated": "2016-10-18T14:42:24Z",
"lastUpdated": "2016-10-18T14:42:24Z"
},
{
"id": 3,
"rank": null,
"route": {
"id": 4,
"reference": "R-R-001",
"href": "/api/v1.0/routes/4"
},
"customer": {
"id": 19,
"reference": "R-C-003",
"href": "/api/v1.0/customers/19"
},
"organization": "entity1",
"dateCreated": "2016-10-18T16:06:24Z",
"lastUpdated": "2016-10-18T16:06:24Z"
}
]
}
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..."
}
77.2 Show
Service: Show an assigned customer to a route
Description: This web service return an existing assigned customer to a route object of the specified id in JSON format
Method: GET
URL:
https://BASE_URL/api/VERSION/routeCustomers/{id}
Parameters:
Name | Description | Type | Required | Example values |
---|
id | id of the desired record | Long | Yes | 777 |
URL with external_id:
https://BASE_URL/api/VERSION/routeCustomers/reference/{routeId}/{customerId}
Parameters:
Name | Description | Type | Required | Examples values |
---|
routeId | reference of the route | String | Yes | R-002 |
customerId | reference of the customer | String | Yes | C-001 |
Success Output
Success case: response.status = 200
{
"id": 2,
"rank": 2,
"route": {
"id": 2,
"reference": "R-RT-001",
"href": "/api/v1.0/routes/2"
},
"customer": {
"id": 2,
"reference": "R-CUS2",
"href": "/api/v1.0/customers/2"
},
"organization": "entity1",
"dateCreated": "2016-10-18T14:42:24Z",
"lastUpdated": "2016-10-18T14:42:24Z"
}
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 routeCustomer with the id 999 doesn't exist."
}
77.3 Create
Service: Assign a route to a customer
Description: This web service is used to assign a list of customers to a route whitch each one of them is not assigned before
URL:
https://BASE_URL/api/VERSION/routeCustomers
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
routeId | the id of the assigned route | Long/String | Yes | 777 |
customers | A list of couple (id,rank) of customer | Array | Yes | {id:1,rank:2},{id:"C-001",rank:1} |
useExternalId | By default, it is set to false. set it to true if you want to use external ids. | Boolean | no | true , false |
A customer can only be assigned one time to a route
Each customer of the same route has a unique rank
Success Output
Success case: response.status = 201
[
{
"id": 12,
"rank": 1,
"route": {
"id": 2,
"reference": "R-RT-001",
"href": "/api/v1.0/routes/2"
},
"customer": {
"id": 2,
"reference": "R-CUS2",
"href": "/api/v1.0/customers/2"
},
"organization": "entity1",
"dateCreated": "2016-10-26T13:43:48Z",
"lastUpdated": "2016-10-26T13:43:48Z"
},
{
"id": 13,
"rank": 2,
"route": {
"id": 2,
"reference": "R-RT-001",
"href": "/api/v1.0/routes/2"
},
"customer": {
"id": 19,
"reference": "R-C-003",
"href": "/api/v1.0/customers/19"
},
"organization": "entity1",
"dateCreated": "2016-10-26T13:43:48Z",
"lastUpdated": "2016-10-26T13:43:48Z"
}
]
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": "routerId parameter is missing"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: rank of a customer (must be Less than 2)"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: rank (must be Integer)"
}
{
{
"error": "not_unique",
"error_description": "rank already used"
}
}
{
"error": "save_not_authorized",
"error_description": "the specified route is already assigned to the specified customer"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The customer with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
77.4 Update
Service: Update an assigned route to a customer
Description: This web service is used to update an assigned customer to a route
URL:
https://BASE_URL/api/VERSION/routeCustomers/{id}
Method: PUT
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
id | id of the desired record to update | Long | Yes | 123 |
customerId | the id of customer to be assigned | Long | Yes | 111 |
routeId | the id of the assigned route | Long | Yes | 777 |
rank | | Integer | Yes | |
URL with external_id:
https://BASE_URL/api/VERSION/routeCustomers/reference/{routeId}/{customerId}
Parameters:
Name | Description | Type | Required | Examples values |
---|
routeId | reference of the route | String | Yes | R-002 |
customerId | reference of the customer | String | Yes | C-001 |
rank | | Integer | Yes | |
A customer can only be assigned one time to a route
Success Output
Success case: response.status = 200
{
"id": 7,
"rank": 4,
"route": {
"id": 4,
"reference": "R-R-001",
"href": "/api/v1.0/routes/4"
},
"customer": {
"id": 2,
"reference": "R-CUS2",
"href": "/api/v1.0/customers/2"
},
"organization": "entity1",
"dateCreated": "2016-10-19T09:33:05Z",
"lastUpdated": "2016-10-19T09:42:20Z"
}
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": "customerId parameter is missing"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: rank (must be Integer)"
}
{
"error": "update_not_authorized",
"error_description": "the specified route is already assigned to the specified customer"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: rank of a customer (must be Less than 2)"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The customer with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
77.5 Delete
Service: Dissociate a customer from a route
Description: This web service is used to dissociate an assigned customer to a route and delete the data from the database
Method: DELETE
URL:
https://BASE_URL/api/VERSION/routeCustomers/{id}
Parameters:
Name | Description | Type | Required | Example values |
---|
id | id of the desired record to delete | Long | Yes | 777 |
URL with external_id:
https://BASE_URL/api/VERSION/routeCustomers/reference/{routeId}/{customerId}
Parameters:
Name | Description | Type | Required | Examples values |
---|
routeId | reference of the route | String | Yes | R-002 |
customerId | reference of the customer | String | Yes | C-001 |
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 routeCustomer with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}