(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:

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

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 
referenceWildcard search by the resource's referenceStringnoreference=Ref-6* , reference=*ef-6 , reference=*ef-6*
nameWildcard search by the resource's nameStringno 
discountFilters by the resource's discountDoubleno 
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:

NameDescriptionTypeRequiredExample values
idThe ID of the desired discount listLong/StringYes777

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:

NameDescriptionTypeRequiredExample values
reference Stringyes 
name Stringyes 
percentageDiscountThe percentage discountDoubleyes 
billingCategoryA billing category is a root item categoryString/Longno 
itemCategoriesA list of item categoriesJSON listno[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:

NameDescriptionTypeRequiredExample values
idThe ID of the desired discount listLong/Stringyes123
reference Stringyes 
name Stringyes 
percentageDiscountThe percentage discountDoubleyes 
billingCategoryA billing category is a root item categoryString/Longno 
itemCategoriesA list of item categoriesJSON listno[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:

NameDescriptionTypeRequiredExample values
name Stringyes 
percentageDiscountThe percentage discountDoubleyes 
billingCategoryA billing category is a root item categoryString/Longno 
itemCategoriesA list of item categoriesJSON listno[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:

NameDescriptionTypeRequiredExample values
idThe ID of the desired discount listLong/Stringyes123

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