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

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 
priceListReferenceWildcard search by the price-list's referenceStringnopriceListReference=Ref-6*
itemUnitIdFilters by item unitIntegerno 
itemReferenceWildcard search by the item's referenceStringnoitemReference=Ref-6*
unitReferenceWildcard search by the unit's referenceStringnounitReference=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:

NameDescriptionTypeRequiredExample values
idThe numerical ID of the desired priceLongYes777

URL with external_id:

https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringYeseliteBook_820
unitIdreference of the unitStringYesPiéce
priceListIdreference of the price listStringYesDL-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:

NameDescriptionTypeRequiredExample values
itemIdThe numerical ID of itemLong/Stringyes 
unitIdThe numerical ID of unitLong/Stringyes 
priceListIdThe numerical ID of price-listLong/Stringyes 
valueThe price valueDoubleyes 
unitPriceThe unit price valueDoubleno 
marginRateMargin percentageDoubleno 
useExternalIdBy default, it is set to false. set it to true if you want to use external ids.Booleannotrue , 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:

NameDescriptionTypeRequiredExample values
idThe numerical ID of the desired priceLongyes123
itemIdThe numerical ID of itemLongyes 
unitIdThe numerical ID of unitLongyes 
priceListIdThe numerical ID of price-listLongyes 
valueThe price valueDoubleyes 
unitPriceThe unit price valueDoubleno 
marginRateMargin percentageDoubleno 

URL with external_id:

https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringYeseliteBook_820
unitIdreference of the unitStringYesPiéce
priceListIdreference of the price listStringYesDL-001
valueThe price valueDoubleyes 
unitPriceThe unit price valueDoubleno 
marginRateMargin percentageDoubleno 

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:

NameDescriptionTypeRequiredExamples values
valueThe price valueDoubleyes 
unitPriceThe unit price valueDoubleno 
marginRateMargin percentageDoubleno 

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:

NameDescriptionTypeRequiredExample values
idThe numerical ID of the desired priceLongyes123

URL with external_id:

https://BASE_URL/api/VERSION/prices/reference/{itemId}/{unitId}/{priceListId}

Parameters:

NameDescriptionTypeRequiredExamples values
itemIdreference of the itemStringYeseliteBook_820
unitIdreference of the unitStringYesPiece
priceListIdreference of the price listStringYesDL-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."
}