PriceHandler
This class provides RESTful services to retrieve entitled and range prices.
Method Name | HTTP Method | URL | Query Parameters | Description | Authentication | Example |
---|---|---|---|---|---|---|
findPricesByQuery | POST | store/{storeId}/price/ | currency={currency}&profile={profile}&responseFormat={responseFormat} | Find prices in a store. The body of this POST request contains a query structure that determines the product prices requested and other parameters that may be either specific to each product, or set globally for all requested products. If there is a conflict between a globally specified value and a value specific to a product, the product-specific value will be used. A 'currency' query parameter may be specified in the URL that is applied to all products. A 'profile' query parameter may also be specified in the URL that specifies the type of data returned. Setting the 'profile' to 'default' or not specifying the 'profile' will result in normal prices being returned. A 'profile' value of 'range' will return the normal prices, and in addition, will return a list of range prices, which includes the minimum and maximum quantities as well as the price for each range. The body of the request must include a 'query' object which contains the remaining parameters of the query. Within the 'query', a 'name' must be included. Valid names are 'byProductID' (which requires product IDs to be given for each product) and 'byPartNumber' (which requires part numbers to be given for each product). Both queries also allow contracts, dates, currencies and quantities to be specified. Within the 'query' object, a 'products' array must be given. Each object in the 'products' array specifies product-specific information. The only required product-specific information is the 'productId' or 'partNumber', depending on the query. A 'contractIds' array may be specified, which specifies the contracts to use. If one or more incorrect contracts are given, an exception will be thrown. If 'contractIds' is not specified or is empty, the store default contract will be used. A global 'contractIds' array may also be specified which applies to all products, unless product-specific contracts are supplied. A 'dates' array may be specified, which specifies the dates for the prices. The date format is the same as for the EntitledPrice service. A global 'dates' array may also be specified which applies to all products, unless product-specific dates are supplied. A product-specific 'currencies' array may be specified. Each value is a three-letter currency code. The global equivalent is not specified in the 'query' object. Instead, it is supplied in the query parameter as mentioned earlier, and only one global curreny may be specified (it is not an array). If no currency is provided in the request, the store default currency will be used. A product-specific 'quantities' array may be specified. Each object in the array contains a 'quantity' which specifies the amount, and a 'uom' which specifies the unit of measure for the quantity. If no quantities are provided, a default quantity of 1.0 and unit of measure of 'C62' will be used. | No,HTTP | Sample |