(Quick Reference)
36 Prices - Reference Documentation
Version: 2.1
36 Prices
36.1 List
Service: List prices
Description: This web service return the list of prices in JSON format.
URL:
https://BASE_URL/api/VERSION/prices
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 | |
priceListReference | Wildcard search by the price-list's reference | String | no | priceListReference=Ref-6* |
itemUnitId | Filters by item unit | Integer | no | |
itemReference | Wildcard search by the item's reference | String | no | itemReference=Ref-6* |
unitReference | Wildcard search by the unit's reference | String | no | unitReference=Ref-9* |
Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)
Success Output
Success case: response.status=200
{
"paging": {
"total": 25,
"max": 5,
"offset": 0,
"previous": null,
"next": "/api/v1.0/prices?max=5&offset=5&sort=dateCreated&order=asc"
},
"data": [
{
"id": 1,
"priceList": {
"id": 1,
"reference": "cost_based_pricing",
"name": "Cost-based Pricing",
"href": "/api/v1.0/priceLists/1"
},
"itemReference": "bracelet-GRP09062",
"unitReference": "pcs",
"itemUnit": {
"id": 1,
"href": "/api/v1.0/itemUnits/1"
},
"value": 22,
"unitPrice": 20,
"marginRate": 10,
"organization": "entity1",
"dateCreated": "2015-12-17T08:18:27Z",
"lastUpdated": "2015-12-17T08:18:27Z"
},…
]
}
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..."
}
36.2 Show
Service: Show a price
Description: This web service return an existing price of the specified id in JSON format
Method: GET
URL:
https://BASE_URL/api/VERSION/prices/{id}
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The numerical ID of the desired price | Long | Yes | 777 |
URL with external_id:
https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}
Parameters:
Name | Description | Type | Required | Examples values |
---|
itemId | reference of the item | String | Yes | eliteBook_820 |
unitId | reference of the unit | String | Yes | Piéce |
priceListId | reference of the price list | String | Yes | DL-001 |
Success Output
Success case: response.status=200
{
"id": 1,
"priceList": {
"id": 1,
"reference": "cost_based_pricing",
"name": "Cost-based Pricing",
"href": "/api/v1.0/priceLists/1"
},
"itemReference": "bracelet-GRP09062",
"unitReference": "pcs",
"itemUnit": {
"id": 1,
"href": "/api/v1.0/itemUnits/1"
},
"value": 22,
"unitPrice": 20,
"marginRate": 10,
"organization": "entity1",
"dateCreated": "2015-12-17T08:18:27Z",
"lastUpdated": "2015-12-17T08:18:27Z"
}
Failure Output
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The price 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."
}
36.3 Create
Service: Create a price
Description: Returns the created price in json format when successful. Returns a json response, describing the failure condition when unsuccessful.
URL:
https://BASE_URL/api/VERSION/prices
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
itemId | The numerical ID of item | Long/String | yes | |
unitId | The numerical ID of unit | Long/String | yes | |
priceListId | The numerical ID of price-list | Long/String | yes | |
value | The price value | Double | yes | |
unitPrice | The unit price value | Double | no | |
marginRate | Margin percentage | Double | no | |
useExternalId | By default, it is set to false. set it to true if you want to use external ids. | Boolean | no | true , false |
Success Output
Status: HTTP/1.1 201 Created
{
"id": 1,
"priceList": {
"id": 1,
"reference": "cost_based_pricing",
"name": "Cost-based Pricing",
"href": "/api/v1.0/priceLists/1"
},
"itemReference": "bracelet-GRP09062",
"unitReference": "pcs",
"itemUnit": {
"id": 1,
"href": "/api/v1.0/itemUnits/1"
},
"value": 22,
"unitPrice": 20,
"marginRate": 10,
"organization": "entity1",
"dateCreated": "2015-12-17T08:18:27Z",
"lastUpdated": "2015-12-17T08:18:27Z"
}
Failure Output
Status: HTTP/1.1 400 Bad Request
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "not_unique",
"error_description": "Price already used"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: marginRate (must be a Double)"
}
Status: HTTP/1.1 404 Not Found
{
"error": "not_found",
"error_description": "The item with the id 4945 doesn't exist."
}
{
"error": "not_found",
"error_description": "The unit with the id 123 doesn't exist."
}
36.4 Update
Service: Update a price
Description: Returns the updated price in json format when successful. Returns a json response, describing the failure condition when unsuccessful.
Method: PUT
Request content type: application/json
URL:
https://BASE_URL/api/VERSION/prices/{id}
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The numerical ID of the desired price | Long | yes | 123 |
itemId | The numerical ID of item | Long | yes | |
unitId | The numerical ID of unit | Long | yes | |
priceListId | The numerical ID of price-list | Long | yes | |
value | The price value | Double | yes | |
unitPrice | The unit price value | Double | no | |
marginRate | Margin percentage | Double | no | |
URL with external_id:
https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}
Parameters:
Name | Description | Type | Required | Examples values |
---|
itemId | reference of the item | String | Yes | eliteBook_820 |
unitId | reference of the unit | String | Yes | Piéce |
priceListId | reference of the price list | String | Yes | DL-001 |
value | The price value | Double | yes | |
unitPrice | The unit price value | Double | no | |
marginRate | Margin percentage | Double | no | |
Success Output
Status: HTTP/1.1 200 OK
{
"id": 1,
"priceList": {
"id": 1,
"reference": "cost_based_pricing",
"name": "Cost-based Pricing",
"href": "/api/v1.0/priceLists/1"
},
"itemReference": "bracelet-GRP09062",
"unitReference": "pcs",
"itemUnit": {
"id": 1,
"href": "/api/v1.0/itemUnits/1"
},
"value": 22,
"unitPrice": 20,
"marginRate": 10,
"organization": "entity1",
"dateCreated": "2015-12-17T08:18:27Z",
"lastUpdated": "2015-12-17T08:21:07Z"
}
Failure Output
Status: HTTP/1.1 404 Not Found
{
"error": "not_found",
"error_description": "The price with the id 70 doesn't exist."
}
{
"error": "not_found",
"error_description": "The item with the id 4945 doesn't exist."
}
{
"error": "not_found",
"error_description": "The unit with the id 123 doesn't exist."
}
Status: HTTP/1.1 400 Bad Request
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "not_unique",
"error_description": "Price already used"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: marginRate (must be positive)"
}
36.5 Upsert
Service: Upsert a price
Description: This web service is used to insert a price object to the database if it does not already exist, or update it.
URL with external_id:
https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Examples values |
---|
value | The price value | Double | yes | |
unitPrice | The unit price value | Double | no | |
marginRate | Margin percentage | Double | no | |
Success Output
Status: HTTP/1.1 201 Created
{
"id": 1,
"priceList": {
"id": 1,
"reference": "cost_based_pricing",
"name": "Cost-based Pricing",
"href": "/api/v1.0/priceLists/1"
},
"itemReference": "bracelet-GRP09062",
"unitReference": "pcs",
"itemUnit": {
"id": 1,
"href": "/api/v1.0/itemUnits/1"
},
"value": 22,
"unitPrice": 20,
"marginRate": 10,
"organization": "entity1",
"dateCreated": "2015-12-17T08:18:27Z",
"lastUpdated": "2015-12-17T08:18:27Z"
}
Failure Output
Status: HTTP/1.1 400 Bad Request
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
{
"error": "not_unique",
"error_description": "Price already used"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: marginRate (must be a Double)"
}
Status: HTTP/1.1 404 Not Found
{
"error": "not_found",
"error_description": "The item with the id 4945 doesn't exist."
}
{
"error": "not_found",
"error_description": "The unit with the id 123 doesn't exist."
}
36.6 Delete
Service: Delete a price
Description: Returns a json response.
Method: DELETE
URL:
https://BASE_URL/api/VERSION/prices/{id}
Parameters:
Name | Description | Type | Required | Example values |
---|
id | The numerical ID of the desired price | Long | yes | 123 |
URL with external_id:
https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}
Parameters:
Name | Description | Type | Required | Examples values |
---|
itemId | reference of the item | String | Yes | eliteBook_820 |
unitId | reference of the unit | String | Yes | Piece |
priceListId | reference of the price list | String | Yes | DL-001 |
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 price with the id 70 doesn't exist."
}