(Quick Reference)
44 Discount lists - Reference Documentation
Version: 2.1
44 Discount lists
44.1 List
Service: List discount lists
Description: This web service return the list of discount lists in JSON format.
URL:
https://BASE_URL/api/VERSION/discountLists
Method: GET
Parameters:
Pagination parameters:
Name | Description | Type | Required | Possible values |
---|
offset | Tells where to start returning records from the entire set of results. | Integer | No | |
max | Limits the number of resources requested to return. | Integer | No | |
sort | Orders the results by the specified field. | String | No | |
order | Orders ascending or descending | Integer | No | asc, desc |
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 | |
reference | Wildcard search by the resource's reference | String | no | reference=Ref-6* , reference=*ef-6 , reference=*ef-6* |
name | Wildcard search by the resource's name | String | no | |
discount | Filters by the resource's discount | Double | no | |
Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)
The discount parameter corresponds to percentageDiscount
Success Output
Success case: response.status=200
{
"paging": {
"total": 8,
"max": 5,
"offset": 0,
"previous": null,
"next": "/api/v1.0/discountLists?max=5&offset=5&sort=dateCreated&order=asc"
},
"data": [
{
"id": 4,
"reference": "discount70",
"name": "70% discount",
"percentageDiscount": 70.0,
"billingCategory": null,
"itemCategories": [],
"organization": "entity1",
"dateCreated": "2016-06-30T12:23:56Z",
"lastUpdated": "2016-07-01T10:22:39Z"
},…
]
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param",
"error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
44.2 Show
Service: Show a discount list
Description: This web service return an existing discount list of the specified id in JSON format
URL:
https://BASE_URL/api/VERSION/discountLists/{id}
URL with external_id:
https://BASE_URL/api/VERSION/discountLists/reference/{id}
Method: GET
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The ID of the desired discount list | Long/String | Yes | 777 |
Success Output
Success case: response.status=200
{
"id": 4,
"reference": "discount70",
"name": "70% discount",
"percentageDiscount": 70.0,
"billingCategory": null,
"itemCategories": [],
"organization": "entity1",
"dateCreated": "2016-06-30T12:23:56Z",
"lastUpdated": "2016-07-01T10:22:39Z"
}
Failure Output
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The discount list with the id 10 doesn't exist."
}
Failure case:response.status = 400
{
"error": "invalid_param_type",
"error_description": "The type of parameter id you provided is not valid for this request."
}
44.3 Create
Service: Create a discount list
Description: Returns the created discount list in json format when successful. Returns a json response, describing the failure condition when unsuccessful.
URL:
https://BASE_URL/api/VERSION/discountLists
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
reference | | String | yes | |
name | | String | yes | |
percentageDiscount | The percentage discount | Double | yes | |
billingCategory | A billing category is a root item category | String/Long | no | |
itemCategories | A list of item categories | JSON list | no | [90,91] |
A discount list should be assigned either to a billing category or to a list of item categories.
If you don't specify any of these parameter (billingCategory
, itemCategories
), discount list will be assigned to all categories.
Success Output
Status: HTTP/1.1 201 Created
{
"id": 4,
"reference": "discount70",
"name": "70% discount",
"percentageDiscount": 70.0,
"billingCategory": null,
"itemCategories": [],
"organization": "entity1",
"dateCreated": "2016-06-30T12:23:56Z",
"lastUpdated": "2016-06-30T12:23:56Z"
}
Failure Output
Status: HTTP/1.1 404 Not Found
{
"error": "not_found",
"error_description": "The item category with the id 1 doesn't exist."
}
Status: HTTP/1.1 400 Bad Request
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: percentageDiscount (must be positive)"
}
{
"error": "not_unique",
"error_description": "reference already used"
}
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "invalid_param",
"error_description": "The billing category should be a root item category"
}
{
"error": "rule_validation_error",
"error_description": "A discount list should be assigned either to a billing category or to a list of item categories."
}
Status: HTTP/1.1 500 Internal Server Error
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
44.4 Update
Service: Update a discount list
Description: Returns the updated discount list in json format when successful. Returns a json response, describing the failure condition when unsuccessful.
URL:
https://BASE_URL/api/VERSION/discountLists/{id}
URL with external_id:
https://BASE_URL/api/VERSION/discountLists/reference/{id}
Method: PUT
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The ID of the desired discount list | Long/String | yes | 123 |
reference | | String | yes | |
name | | String | yes | |
percentageDiscount | The percentage discount | Double | yes | |
billingCategory | A billing category is a root item category | String/Long | no | |
itemCategories | A list of item categories | JSON list | no | [90,91] |
A discount list should be assigned either to a billing category or to a list of item categories.
If you don't specify any of these parameter (billingCategory
, itemCategories
), discount list will be assigned to all categories.
Success Output
Status: HTTP/1.1 200 OK
{
"id": 4,
"reference": "discount70",
"name": "70% discount",
"percentageDiscount": 70.0,
"billingCategory": null,
"itemCategories": [],
"organization": "entity1",
"dateCreated": "2016-06-30T12:23:56Z",
"lastUpdated": "2016-07-01T10:22:39Z"
}
Failure Output
Status: HTTP/1.1 404 Not Found
{
"error": "not_found",
"error_description": "The discount list with the id 404 doesn't exist."
}
{
"error": "not_found",
"error_description": "The item category with the id 1 doesn't exist."
}
Status: HTTP/1.1 400 Bad Request
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: percentageDiscount (must be double)"
}
{
"error": "invalid_param",
"error_description": "The billing category should be a root item category"
}
{
"error": "rule_validation_error",
"error_description": "A discount list should be assigned either to a billing category or to a list of item categories."
}
44.5 Upsert
Service: Upsert a discount list
Description: This web service is used to insert a discount list to the database if it does not already exist, or update it.
URL with external_id:
https://BASE_URL/api/VERSION/discountLists/reference/{id}
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
name | | String | yes | |
percentageDiscount | The percentage discount | Double | yes | |
billingCategory | A billing category is a root item category | String/Long | no | |
itemCategories | A list of item categories | JSON list | no | [90,91] |
A discount list should be assigned either to a billing category or to a list of item categories.
If you don't specify any of these parameter (billingCategory
, itemCategories
), discount list will be assigned to all categories.
Success Output
Status: HTTP/1.1 201 Created
{
"id": 4,
"reference": "discount70",
"name": "70% discount",
"percentageDiscount": 70.0,
"billingCategory": null,
"itemCategories": [],
"organization": "entity1",
"dateCreated": "2016-06-30T12:23:56Z",
"lastUpdated": "2016-06-30T12:23:56Z"
}
Failure Output
Status: HTTP/1.1 400 Bad Request
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: percentageDiscount (must be positive)"
}
{
"error": "not_unique",
"error_description": "reference already used"
}
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
44.6 Delete
Service: Delete a discount list
Description: Returns a json response.
URL:
https://BASE_URL/api/VERSION/discountLists/{id}
URL with external_id:
https://BASE_URL/api/VERSION/discountLists/reference/{id}
Method: DELETE
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The ID of the desired discount list | Long/String | yes | 123 |
Success Output
Status: HTTP/1.1 200 OK
{
"success": "true",
"success_description": "Instance deleted successfully"
}
Failure Output
Status: HTTP/1.1 400 Bad Request
{
"error": "delete_failed",
"error_description": "Failed to delete instance."
}
Status: HTTP/1.1 404 Not Found
{
"error": "not_found",
"error_description": "The discount list with the id 70 doesn't exist."
}