Pricing API
Retrieve current pricing on one or more ABC Supply product items in real time to easily create estimates and place orders.
Please ensure that your use of this API endpoint complies with the API Terms of Use. Using the ABC Supply API to offer price comparisons with competitive third-party services is in violation of the API Terms of Use.
The Price Items endpoint returns pricing information for products offered to a given account and branch location. The price is provided as a number with a localized currency symbol, and ISO 4217 currency code for currency conversion purposes. The request must include branch number, account number, request purpose, and item number. Multiple items may be priced at one time.
This endpoint does not reflect real-time availability of the products. Please use the Product Availability endpoints to determine real-time availability of products.
PRicing API
Price Items
POST /prices
Get real-time customer-specific pricing
Sandbox
Production
Authorization
For Individuals and Businesses, use OAuth 2.0 server or user token with the pricing.read scope.
For Third-Party Aggregators, use OAuth 2.0 user token with the pricing.read scope.
Request
Name
Type
Description
requestId
string
The request ID to track the price request. This may be a order draft number, estimate number or any other number key to your application. Can only be returned if supplied in the request body.
shipToNumber
string
The ship-to account number for the pricing request.
branchNumber
string
The ABC Supply branch number identifying the branch location sourcing the item.
purpose
enum
The purpose of the price request (e.g., “estimating”, “quoting”, “ordering”).
lines
array
The array containing the information about the line items being priced.
lines[].id
string
The unique ID of the line item. This may be an order line item or any other number key to your application. Can only be returned if supplied in the request body.
lines[].itemNumber
string
The unique ABC Supply item number for the product being priced.
lines[].quantity
integer
The quantity of items to be priced. Some items may be priced lower above certain quantities.
lines[].uom
string
The unit of measurement for the line item.
lines[].length
object
The object containing the information about the length of the line item. At this time, none of ABC’s products is priced by dimensions. ABC Supply is planning to support variations of items in the future and provide prices based on a given attribute such as length, width, or other variations.
lines[].length.value
float
The length of the line item. Can only be returned if provided in the request body.
lines[].length.uom
enum
The unit of measurement of the item (e.g., “ft“: feet, “in”: inches).
Example Request
Simple request to price one item number for an account at a given location
POST /api/pricing/v2/prices HTTP/1.1
Host: partner.abcsupply.com
Authorization: Bearer <TOKEN>
{
"shipToNumberPOST /api/pricing/v2/prices HTTP/1.1
Host: partner.abcsupply.com
Authorization: Bearer <TOKEN>
{
"requestId": "Quote: 312345",
"shipToNumber": "393939",
"branchNumber": "294",
"purpose": "ordering",
"lines": [
{
"id": "10",
"itemNumber": "AAE23AL",
"quantity": 1,
"uom": "PC",
"length": {
"value": 17,
"uom": "in"
}
}
]
}": "393939",
"branchNumber": "294",
"purpose": "ordering",
"lines": [
{
"itemNumber": "AAE23AL",
"quantity": 1,
"uom": "PC"
}
]
}
Response
Example Response
Simple price response for an item number for an account at a given location
{
"requestId": "Quote: 312345",
"shipToNumber": "393939",
"branchNumber": "294",
"purpose": "ordering",
"lines": [
{
"id": "1",
"itemNumber": "ABE34WH",
"quantity": 1,
"uom": "PC",
"unitPrice": 13.30,
"currency": {
"code": "USD",
"symbol": "$"
},
"length": {
"value": 8,
"uom": "ft"
},
"status": {
"code": "OK",
"message": "Priced Successfully"
}
}
]
}
Name
Type
Description
requestId
string
The Request ID to track the price request. Can only be returned if supplied in the request body.
shipToNumber
string
The ship-to account number for the pricing request.
branchNumber
string
The ABC Supply branch number for the branch location sourcing the item
purpose
enum
The purpose of the price request (e.g., “estimating”, “quoting”, “ordering”).
lines
array
The array containing the information about the line items being priced.
lines[].id
string
The unique ID of the line item. This may be an order line item or any other number key to your application. Can only be returned if supplied in the request body.
lines[].itemNumber
string
The unique ABC item number identifying the product being priced.
lines[].quantity
integer
Integer specifying the quantity of items to be priced. Same items may be priced lower above certain quantities.
lines[].uom
string
The unit of measurement for the line item. Defaults to product’s ordering unit of measure if not provided in the request body. Use the product API to determine the meaning of each unit of measurement code (e.g., “PC”: Pieces, “CT”: Cartons).
lines[].unitPrice
float
Price per unit.
lines[].currency
object
The object containing the information about the currency for the item price.
lines[].currency.symbol
float
The currency symbol for the price amount (e.g., “$”).
lines[].length
object
The object containing the information about the length of the line item.
At this time, none of ABC’s products is priced by dimensions. ABC Supply is planning to support variations of items in the future and provide prices based on a given attribute such as length, width or other variations. Can only be returned if supplied in the request body.
lines[].length.value
float
The length of the line item provided in the request body.
lines[].length.uom
enum
The unit of measure of the request (e.g., “ft”: feet, “in”: inches).
lines[].status
object
The object containing the information about the status of the price request.
lines[].status.code
string
Code indicating the status of the price request (e.g., “OK”).
lines[].status.message
string
Message indicating the outcome of request (e.g., “Priced successfully”, “Error: not found”). NOTE: HTTP status code 200 will be returned regardless of errors within line items.
lines[].status
object
The object containing the information about the status of the price request.
lines[].status.code
string
Code indicating the status of the price request (e.g., “OK”).
lines[].status.message
string
Message indicating the outcome of request (e.g., “Priced successfully”, “Error: not found”). NOTE: HTTP status code 200 will be returned regardless of errors within line items.
HTTP Status Codes
Name
Type
Description
503
string
Price service not available.
500
string
Server error.
Additional Examples
Example Response
Response to price one order for an account at a given location
{
"requestId": "Quote: 312345",
"shipToNumber": "393939",
"branchNumber": "294",
"purpose": "estimating",
"lines": [
{
"id": "10",
"itemNumber": "ADS2310WH",
"quantity": 1,
"uom": "PC",
"unitPrice": 18.70,
"currency": {
"code": "USD",
"symbol": "$"
},
"status": {
"code": "OK",
"message": "Priced successfully"
}
},
{
"id": "20",
"itemNumber": "31SMFH3618",
"quantity": 1,
"uom": "PC",
"unitPrice": 210.75,
"currency": {
"code": "USD",
"symbol": "$"
},
"length": {
"value": 6,
"uom:": "ft"
},
"status": {
"code": "OK",
"message": "Priced successfully"
}
}
]
}
Example Request
Request with invalid item
POST /api/pricing/v2/prices HTTP/1.1
Host: partners.abcsupply.com
Authorization: Bearer <TOKEN>
{
"requestId": "Quote: 312345",
"shipToNumber": "393939",
"branchNumber": "090",
"purpose": "estimate",
"items": [{
"id": "10",
"itemNumber": "AAE23AL",
"quantity": 1,
"uom": "PC"
},
{
"id": "20",
"itemNumber": "U58X?",
"quantity": 1,
"uom": "PC",
"length": {
"value": 8,
"uom:": "ft"
}
}
]
}
Example Response
Response with invalid item
{
"requestId": "Quote: 312345",
"shipToNumber": "393939",
"branchNumber": "090",
"purpose": "estimating",
"lines": [
{
"id": "10",
"itemNumber": "AAE23AL",
"quantity": 1,
"uom": "PC",
"unitPrice": 2.90,
"currency": {
"code": "USD",
"symbol": "$"
},
"message": "Priced sucessfully"
},
{
"id": "20",
"itemNumber": "U58X?",
"quantity": 1,
"uom": "PC",
"unitPrice": null,
"currency": {
"code": "USD",
"symbol": "$"
},
"length": {
"value": 9,
"uom:": "ft"
},
"status": {
"code": "Error",
"message": "Cannot price item U58X?, item not found. Call for pricing."
}
}
]
}
Example Request
Request with invalid ship-to number
POST /api/pricing/v2/prices HTTP/1.1
Host: partners.abcsupply.com
Authorization: Bearer <TOKEN>
{
"shipToNumber": "123456",
"branchNumber": "090",
"purpose": "ordering",
"lines": [
{
"itemNumber": "300"
}
]
}
Example Response
Response for invalid ship-to number
{
"message": "Cannot price request - 123456 is an invalid ship-to number. Provide a valid ship-to account"
}
Example Request
Request with invalid branch number
POST /api/pricing/v2/prices HTTP/1.1
Host: partners.abcsupply.com
Authorization: Bearer <TOKEN>
{
"requestId": "Quote: 312345",
"shipToNumber": "393000",
"branchNumber": "099",
"purpose": "estimate",
"items": [{
"id": "10",
"itemNumber": "300",
"quantity": 1,
"uom": "PC"
},
{
"id": "20",
"itemNumber": "U58X",
"quantity": 1,
"uom": "PC",
"length": {
"value": 8,
"uom:": "ft"
}
}
]
}
Example Response
Response for invalid branch number
{
"message": "Cannot price request - 099 is an invalid branch number. Provide a valid branch number"
}