WELCOME
Points of Interest
Welcome to the Advance Professional Web Services Getting Started Guide. Advance Professional Web Services is a suite of SOA architected services comprised of all the essential services needed to find parts, ensure fitment, verify availability and pricing, and place an order.
Integration of these Web services into your shop management system will not only provide a seamless transference of data from our systems to your customer management systems, but they will also allow you the freedom to maintain and preserve the presentation “look and feel” of your shop management system to the requirements and guidelines set forth by your business needs.
This document is intended to serve as a “Getting Set Up and Started” guide for implementing the Advance Professional Web Services into a shop management system. It describes how to approach a typical implementation of this service, but variations can be developed, depending upon the core language and the skill set of the development team.
Advance highly recommends that SMS development teams consider the opportunity to develop their management applications so that they maximize the Advance Web Services offerings. This will maximize flexibility, performance and feature management and allow the SMS development unit to create seamless integrations that incorporate all the Advance offerings.
Audience
This guide is intended for technical business representatives and developers who want a quick overview of and “how to start” integrating with Advance Auto Parts’ Web Services.
Required Knowledge and Skill
Advance’s Professional Web Services are based on the REST protocol. An integrator should understand the basics of interacting with REST services.
Contract and License Requirements
To use Advance’s Web Services, you must have a signed NDA with Advance and must agree not to distribute any documentation or authentication keys to anyone outside of your organization.
Credential Issuance
All web services require a client id and a client secret for authorization. Upon signing a NDA, an unique client id and client secret can be issued to your organization.
Getting Started
Overview of the Advance Web Services
The Web Service offerings at Advance are designed in a logical group that provides specific services that balance and manage business functionality with an SOA approach for scalability and growth.
The available offerings include:
Category Service
Advance has implemented a series of Category Tree structures that provide you with a unique opportunity to organize and manage the presentation of data in a variety of different ways.
There are three primary category structures:
•Application – Original equipment and aftermarket parts that will fit only specific vehicles.
•Non-Application – Comprised of various products, chemicals, tools and accessories. These do not have a specific vehicle association.
•Job Packages – A collection of parts, labor, and associated data elements that would be anticipated or needed for industry vehicle repairs. These collections are created and managed by the Advance Catalog Department and are based on research and polling of Advance commercial customers.
There are four additional category structures which comprise the primary eData categories:
Labor – Labor data containing descriptive labor jobs and corresponding Mitchell labor time, combination time, skill level and/or additional time estimates.
Specification – fluid specifications associated with specific vehicles.
Tires – Tire information and data associated with specific vehicles.
Vehicle System Diagrams – specific belt routing and exhaust system diagrams, vehicle specific applications.
Inventory Service
The Inventory Service provides endpoints that allow an integrator to check the real-time availability and pricing of products. With a valid Advance customer account number this service will return the availability of a list of products from the customer’s primary store, the supporting network stores and supporting DC(s). In addition, these endpoints can provide the pricing information for the customer.
Order Service
The Order Service provides 3 endpoints:
•Order Review (Quote)
•Order Placement
•Cart Pricing
An Order Review provides the final pricing (including any taxes, fees, or additional charges) and the fulfillment locations for items. The Order Service receives the information on items ordered and returns the confirmation. Cart Pricing provides a lighter weight summary of what’s in cart and includes final pricing on all items.
Product Service
The product service provides an endpoint to get product detail information and image urls.
Search Service
The search service provides endpoints to lookup products at Advance. There is an endpoint that is used to support category searching that works in conjunction with the category service. In addition, searching by partnumber is also supported. When searching by this method the results can also contain interchange parts that might be helpful to the user. Finally, there is an endpoint that is for keyword searching. This endpoint can search free-text strings. It is important to note that if this endpoint determines the search string is a partnumber it will limit the results to matching partnumbers and interchanges.
Vehicle Service
Proper vehicle identification is an essential key to guarantee that the end user customer selects the correct parts associated with that vehicle.
Advance recognizes this and has built and based the vehicle service on the ACES (Aftermarket Catalog Enhanced Standard) VCdb version 1.0 structure. This structure defines the industry standard for the identification of vehicles by the classification and logical grouping of vehicle attributes. The vehicle service methods provide a convenient way to uniquely identify a vehicle.
The Vehicle Configuration Database, which backs the vehicle service, is updated monthly. The database includes fully normalized coded listings of passenger cars and light trucks, medium duty trucks and “othermotive” applications in the U.S., Mexico and Canada. These extend from the current model year back as far as 1896. The ACES VCdb does not include any OE or aftermarket parts information.
Service Details and Examples
Header Values
All endpoints require the same header values be sent with each request.
X-Correlation-Id
Required: true
Description: This is a vendor generated string up to 36 characters. While uniqueness is not enforced the intent of this field is to allow the tracking of individual requests from a vendor in order to troubleshoot issues.
Min Length: 1
Max Length: 36
Type: String
Example: 123e4567-e89b-42d3-a456-556642440000
Vendor-Id
Required: true
Description: This is an id provided by Advance that a vendor must include in their requests. This will be validated in production.
Min Length: 1
Max Length: 64
Type: String
Example: 5baa3ab2-245b-4040-a120-05f41844fd4d
Client-Version-Id
Required: false
Description: This is an optional field that allows a vendor to pass in the version of their application at the time of the request. This is logged and used for troubleshooting.
Min Length: 1
Max Length: 20
Type: String
Example: 1.2.40
User-Id
Required: true
Description: This is the user id from the software that is calling this service. This is not used for authentication but for troubleshooting.
Min Length: 1
Max Length: 60
Type: String
Example: testuser@app.com
Locale
Required: false
Description: This is a placeholder for future use. For now this is ignored.
Min Length: 1
Max Length: 20
Type: String
Example: en-us
Pro-Account-Number
Required: true
Description: This is the Advance customer account number of the end user.
Min Length: 1
Max Length: 13
Type: String
Example: 9640000126
Error Handling
There seems to be different schools of thought when it comes to the use of http codes and how they should be used with a rest api. Advance has decided to keep separate http errors from errors or empty result sets in the API. For example, if a valid request is made to a service but a pro-account is not found, the http code will be 200 and an error message in the json will be returned indicating the problem. Likewise, if a search service is used to look for a partnumber that does not exist in our system a 200 will be returned and an empty result set. Http error codes will be used to indicate that something went wrong with the service itself. If a request is not well-formed then a 400 will be returned. If a user does not have access to an endpoint, then a 403 will be returned. If an endpoint does not exist, then a 404 will be returned and if there is a failure then a 500 will be returned.
Category Service
The Category Service has 3 endpoints. These endpoints are designed to allow easy display and traversal of the taxonomy. All 3 endpoints share a common json response structure. An important point is to understand that only leaf level categories can be used in category search for searching.
Endpoint: /category-service/root-categories
HTTP Method: Get
Description: Get the top categories of the taxonomy.
Input Parameters
None
Output
Shared response, outlined after all endpoint definitions.
Endpoint: /category-service/category-tree
HTTP Method: Get
Description: Allows traversal of a parent category by one or more levels at a time. Typically, this endpoint is used to get one or more levels under a root category. If a YMM (Year, Make, Model) is specified for then the categories returned will be applicable to that YMM. This doesn’t guarantee search results, but it does remove categories known to not have any results for a given YMM. For example, no fuel pump categories will be returned if a Tesla is defined by the YMM.
Input Parameters
parentCategoryId
Required: true
Description: Id of parent category to traverse
Type: Integer
Example: -2 or 2
depth
Required: true
Description: The number of child levels to return, -1 means return all
Type: Integer
Example: -1 or 1 or 2 …
year
Required: conditionally required on the presence of the make and model parameters. All should be included or none.
Description: The year id of a vehicle. This would come from the vehicle service.
Type: Integer
Example: 2002
make
Required: conditionally required on the presence of the year and model parameters. All should be included or none.
Description: The model id of a vehicle. This would come from the vehicle service.
Type: Integer
Example: 1245
model
Required: conditionally required on the presence of the year and make parameters. All should be included or none.
Description: The make id of a vehicle. This would come from the vehicle service.
Type: Integer
Example: 1444
Output
Shared response, outlined after all endpoint definitions.
Endpoint: /category-service/leaf-categories
HTTP Method: Get
Description: Returns all leaf categories for a given parent. When working with the category search service only leaf categories can be used to search.
Input Parameters
parentCategoryId
Required: true
Description: Id of parent category to traverse
Type: Integer
Example: -2 or 2
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Categories not found”
categories
Required: true
Description: An array of category objects
Type: array
Properties
category
Required: true
Description: category object
Type: object
Properties
categoryId
Required: true
Description: Internal id for category
Type: integer
categoryName
Required: true
Description: Name of category
Type: string
hasChildren
Required: true
Description: Boolean – true if category has at least 1 child, otherwise false (false means it’s a leaf category).
Type: Boolean
children
Required: false
Description: Recursive list of children category objects. Will not be empty unless the category is a leaf category or if request did not require expansion past the current level.
Type: array of category objects
Inventory Service
The Inventory Service has 1 endpoint. This endpoint provides availability and pricing for a given list of products. All header values described above are applicable. Currently up to 50 products may be requested at one time.
Endpoint: /v2/inventory-details
HTTP Method: Post
Description: Return product availability and pricing for a given list of products.
Post Body
productList
Required: true
Description: An array of products.
Type: array
Min Size: 1
Max Size: 50
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The number of the product requested
Type: integer
Min: 1
Max: 999
includeAvailability
Required: true
Description: Boolean – if true then availability information will be returned. If false, no availability information will be returned. If includePricing flag is false then this flag must be true
Type: Boolean
includePricing
Required: true
Description: Boolean – if true then pricing information will be returned. If false, no availability information will be returned. If includeAvailability flag is false then this flag must be true
Type: Boolean
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
productList
Required: true
Description: List of products with availability and/or pricing details
Type: array
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The requested quantity
Type: integer
Min: 1
Max: 999
pricing
Required: false
Description: Pricing object
Type: object
Properties
listPrice
Required: true
Description: The msrp
Type: double
Example: 19.99
unitPrice
Required: true
Description: The unit price paid by customer
Type: double
Example: 15.99
coreCharge
Required: false
Description: The core charge for an item
Type: double
Example: 9.99
fulfillLocationList
Required: false
Description: Array of locations with availability
Type: array
Properties
locationNumber
Required: true
Description: Advance store number
Type: integer
Example: 1234
locationName
Required: true
Description: Advance store description
Type: string
Example: 103277 – WP West Montrose Avenue – 19780 - 9644
locationType
Required: true
Description: Advance location type
Type: string
Example: Store, DC, PDQ
availableQuantity
Required: true
Description: quantity of product available at location
Type: integer
Example: 2
deliveryEstimate
Required: true
Description: Estimate date and time when item can be delivered
Type: string
Example: 1/5/2024 3:30 PM
Endpoint: /v4/inventory-details
HTTP Method: Post
Description: Return product availability and pricing for a given list of products.
Post Body
productList
Required: true
Description: An array of products.
Type: array
Min Size: 1
Max Size: 50
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The number of the product requested
Type: integer
Min: 1
Max: 999
includeAvailability
Required: true
Description: Boolean – if true then availability information will be returned. If false, no availability information will be returned. If includePricing flag is false then this flag must be true
Type: Boolean
includePricing
Required: true
Description: Boolean – if true then pricing information will be returned. If false, no availability information will be returned. If includeAvailability flag is false then this flag must be true
Type: Boolean
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
productList
Required: true
Description: List of products with availability and/or pricing details
Type: array
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The requested quantity
Type: integer
Min: 1
Max: 999
pricing
Required: false
Description: Pricing object
Type: object
Properties
listPrice
Required: true
Description: The msrp
Type: double
Example: 19.99
unitPrice
Required: true
Description: The unit price paid by customer
Type: double
Example: 15.99
coreCharge
Required: false
Description: The core charge for an item
Type: double
Example: 9.99
fulfillLocationList
Required: false
Description: Array of locations with availability
Type: array
Properties
locationNumber
Required: true
Description: Advance store number
Type: integer
Example: 1234
locationName
Required: true
Description: Advance store description
Type: string
Example: 103277 – WP West Montrose Avenue – 19780 - 9644
locationType
Required: true
Description: Advance location type
Type: string
Example: Store, DC, PDQ
availableQuantity
Required: true
Description: quantity of product available at location
Type: integer
Example: 2
ranking
Required: true
Description: The rank in which a store is considered for fulfillment
Type: integer
deliveryEstimate
Required: false
Description: Delivery estimate statement
Type: string
Max Length: 120
Example: Today 3:30pm
cutOffDateTime
Required: false
Description: The time a user should order by in order to get the product by the delivery estimate
Type: date and time
Example: 2024/08/01 02:34 PM
marketingEvents
Required: false
Description: List of marketing event objects which are connected to this product
Anonymous Object
name
Required: true
Type: string
Description: A name of the marketing event
Min Size: 1
Max Size: 50
description
Required: true
Type: string
Description: A description of the marketing event
Min Size: 1
Max Size: 200
type
Required: true
Type: string
Description: The AAP defined type of marketing event – currently will always be “Bundle”
Min Size: 1
Max Size: 50
endDate
Required: false
Type: date
Description: Date when marketing event ends. Null means no designated ending
Example: 2024-08-01
Order Service
The Order Service has 3 endpoints. The place order service allows the review the order, getting the totals & savings of the cart, and placement of an order. All header values described above are applicable. Currently up to 50 products may be requested at one time.
Endpoint: /v2/place-order
HTTP Method: Post
Description: An endpoint to place an order
Post Body
HTTP Method: Post
poNumber
Required: true
Description: Customer PO Number
Type: string
Example: PO-12345
comment
Required: false
Description: Order comment
Type: string
Max Length: 150
Example: Go to backdoor
orderLineRejectionEnabled
Required: false
Description: If true the order will continue to be processed even if during pre-processing an item is rejected. Default is false.
Type: Boolean
customOrderDataList
Required: false
Description: A list of custom data objects at the order level that consist of key/value pairs. This should only be included if directed by Advance.
Type: array
Max Length: 15
Properties
key
Required: true
Description: key to reference value
Type: string
Max Length: 50
value
Required: true
Description: value to be referenced by key
Type: string
Max Length: 100
orderlines
Required: true
Description: An array of items to be ordered
Type: array
Min Size: 1
Max Size: 50
Properties
product
Required: true
Description: A product object
Type: object
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The number of the product requested
Type: integer
Min: 1
Max: 999
baseVehicleID
Required: false
Description: Base vehicle id associated with product
Type: integer
customProductDataList
Required: false
Description: A list of custom data objects that consist of key/value pairs. This should only be included if directed by Advance.
Type: array
Max Length: 15
Properties
key
Required: true
Description: key to reference value
Type: string
Max Length: 50
value
Required: true
Description: value to be referenced by key
Type: string
Max Length: 100
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
orderNumber
Required: true
Description: Order reference number
Type: string
Max Length: 40
orderDateTime
Required: true
Description: Order date and timestamp
Type: string
Max Length: 60
orderStatus
Required: true
Description: The status of the order
Type: string
Max Length: 60
placeOrderDetail
Required: true
Description: order detail object
Type: object
Properties
orderTotal
Required: true
Description: Total of the placed order
Type: double
Example: 125.25
freight
Required: false
Description: Total freight charges
Type: double
Example: 20.20
totalTax
Required: true
Description: Total tax for order – could be 0.0 if tax exempt
Type: double
Example: 16.25
productList
Required: true
Description: List of products with availability and/or pricing details
Type: array
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The requested quantity
Type: integer
Min: 1
Max: 999
productDescription
Required: true
Description: The description of the product
Type: string
Max Length: 120
manufacturer
Required: true
Description: Manufacturer of the product
Type: string
Max Length: 120
productImageUrl
Required: true
Description: Link to the image of the product
Type: string
Max Length: 200
Example: https://img.wp-static.com/image/view?size=1500&image=WPA-112424626.JPG
partNumber
Required: true
Description: Part number of the product
Type: string
Max Length: 60
lineCode
Required: true
Description: Either PLA or the exploris line code
Type: string
Max Length: 20
vehicleYear
Required: false
Description: The year of the vehicle if a base vehicle id was in the request
Type: integer
vehicleMake
Required: false
Description: The make of the vehicle if a base vehicle id was in the request
Type: string
Max Length: 30
vehicleModel
Required: false
Description: The make of the vehicle if a base vehicle id was in the request
Type: string
Max Length: 30
deliveryEstimate
Required: false
Description: Estimated date/time to deliver product. Will not always be populated
Type: string
Max Length: 20
pricing
Required: true
Description: pricing object
Type: object
Properties
msrp
Required: true
Description: msrp or “list price” of the product
Type: double
unitPrice
Required: true
Description: Unit price of the product. What the customer pays
Type: double
coreCharge
Required: true
Description: Core charge of the product
Type: double
fulfillmentList
Required: true
Description: array of fulfillment locations
Type: array
Properties
locationNumber
Required: true
Description: Advance location number
Type: string
Max Length: 10
locationName
Required: true
Description: Advance location description
Type: string
Max Length: 120
fulfillQuantity
Required: true
Description: Quantity of product fulfilled from this location
Type: integer
rejectedOrderLines
Required: true
Description: array of rejected orderlines. Included if orderLineRejectionEnabled is true
Type: array
Properties
product
Required: true
Description: Product object
Type: object
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The requested quantity
Type: integer
Min: 1
Max: 999
Endpoint: /review-order
HTTP Method: Post
Description: An endpoint to review an order (get a quote)
Post Body
HTTP Method: Post
orderlines
Required: true
Description: An array of items to be ordered
Type: array
Min Size: 1
Max Size: 50
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The number of the product requested
Type: integer
Min: 1
Max: 999
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
clientTransactionID (Deprecated)
Required: true
Description: Correlation id
Type: string
Max Length: 36
orderReviewDetail
Required: true
Description: Order review object
Type: object
orderTotal
Required: true
Description: Total of the order
Type: double
Example: 125.25
freight
Required: false
Description: Total freight charges
Type: double
Example: 20.20
totalTax
Required: true
Description: Total tax for order – could be 0.0 if tax exempt
Type: double
Example: 16.25
productList
Required: true
Description: List of products with availability and/or pricing details
Type: array
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The requested quantity
Type: integer
Min: 1
Max: 999
productDescription
Required: true
Description: The description of the product
Type: string
Max Length: 120
manufacturer
Required: true
Description: Manufacturer of the product
Type: string
Max Length: 120
productImageUrl
Required: true
Description: Link to the image of the product
Type: string
Max Length: 200
Example: https://img.wp-static.com/image/view?size=1500&image=WPA-112424626.JPG
partNumber
Required: true
Description: Part number of the product
Type: string
Max Length: 60
lineCode
Required: true
Description: Either PLA or the exploris line code
Type: string
Max Length: 20
pricing
Required: true
Description: pricing object
Type: object
Properties
msrp
Required: true
Description: msrp or “list price” of the product
Type: double
unitPrice
Required: true
Description: Unit price of the product. What the customer pays
Type: double
coreCharge
Required: true
Description: Core charge of the product
Type: double
fulfillmentLocations
Required: true
Description: array of fulfillment locations
Type: array
Properties
locationNumber
Required: true
Description: Advance location number
Type: string
Max Length: 10
locationName
Required: true
Description: Advance location description
Type: string
Max Length: 120
fulfillQuantity
Required: true
Description: Quantity of product fulfilled from this location
Type: integer
Pricing Service
Endpoint: /cart-pricing
HTTP Method: Post
Description: An endpoint to get cart totals and savings
Post Body
HTTP Method: Post
cartItems
Required: true
Description: An array of items in a “cart”.
Type: array
Min Size: 1
Max Size: 50
Properties
product*
Description: An object representing a product to be ordered.
Type: object
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The number of the product requested
Type: integer
Min: 1
Max: 999
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
cartDetail
Required: true
Description: An object representing a cart
Type: object
cartTotal
Required: true
Description: Total of the order
Type: double
Example: 125.25
totalSavings
Required: true
Description: The sum of savings on each product.
Type: double
Example: 16.25
productList
Required: true
Description: List of products with pricing and savings details
Type: array
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Size: 1
Max Size: 120
Example: 123456789 or 123456789:abc:64-a:false
quantity
Required: true
Description: The requested quantity
Type: integer
Min: 1
Max: 999
productDescription
Required: true
Description: The description of the product
Type: string
Max Length: 120
manufacturer
Required: true
Description: Manufacturer of the product
Type: string
Max Length: 120
productImageUrl
Required: true
Description: Link to the image of the product
Type: string
Max Length: 200
Example: https://img.wp-static.com/image/view?size=1500&image=WPA-112424626.JPG
partNumber
Required: true
Description: Part number of the product
Type: string
Max Length: 60
lineCode
Required: true
Description: Either PLA or the exploris line code
Type: string
Max Length: 20
pricing
Required: true
Description: pricing object
Type: object
Properties
listPrice
Required: true
Description: Manufacturer suggested retail price or “list price” of the product
Type: double
unitPrice
Required: true
Description: Unit price of the product. What the customer pays
Type: double
coreCharge
Required: false
Description: Core charge of the product
Type: double
quantity
Required: true
description: The number of the product requested by the customer
Type: integer
extendedPrice
Required: true
Description: Total price for the product (unitPrice times the quantity) - unitPrice * quantity
Type: double
savings
Required: false
Description: Savings on this product
Type: double
Product Service
The Product Service has one endpoint. This service allows the user to get product details, along with image URLs, asset Links and vehicle fitment details (Buyer's guide) based on the catalogProductIdentifier as input. All header values described above are applicable.
Endpoint: /product-detail
HTTP Method: Get
Description: An endpoint to fetch products details like fitment, image URLs, etc.,
Input Parameters
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Length: 1
Max Length: 120
Example: 123456789 or 123456789:abc:64-a:false
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
productLine
Required: true
Description: Product manufacturer
Type: string
Max Length: 120
Example: Fram
partNumber
Required: true
Description: Manufacturer part number
Type: string
Max Length: 60
Example: 24-c
productLineAbbreviation
Required: true
Description: Product line abbreviation
Type: string
Max Length: 20
Example: RCH
sku
Required: true
Description: Stock Keeping Unit number
Type: string
Max Length: 20
Example: 12345
partTypeDescription
Required: true
Description: Part type description
Type: string
Max Length: 120
Example: battery
productDescription
Required: true
Description: Product’s description
Type: string
Max Length: 200
Example: battery
weight
Required: false
Description: Product’s weight
Type: string
Max Length: 20
Example: 2.5lbs
marketingCopyText
Required: false
Description: Marketing text
Type: string
Max Length: 2000
Example: DieHard Platinum AGM (Absorbent Glass Mat) …
shortProductDescription
Required: true
Description: Short description of the product
Type: string
Max Length: 200
Example: DieHard Platinum AGM (Absorbent Glass Mat)
imageLinks
Required: false
Description: Image link object
Type: object
Properties
thumbUrl
Required: false
Description: URL of thumb image
Type: string
Max Length: 200
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
miniUrl
Required: false
Description: URL of mini image
Type: string
Max Length: 200
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
medUrl
Required: false
Description: URL of medium image
Type: string
Max Length: 200
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
largestUrl
Required: false
Description: URL of largest image
Type: string
Max Length: 200
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
assetLinks
Required: false
Description: Array of asset links
Type: array
Properties
assetLink
Required: false
Description: An asset object
Type: object
Properties
fileTypeCode
Required: false
Description: File type
Type: string
Example: PDF
fileName
Required: false
Description: File name
Type: string
Example: 17968a45-ae8f-48ae-b0bb-60914d81c6c9
assetTypeCode
Required: false
Description: Asset Type
Type: string
Example: MSD
assetTypeName
Required: false
Description: Asset Type name
Type: string
Example: Material Safety Data Sheet
assetUrl
Required: false
Description: Asset URL
Type: string
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
vehicleSummaryList
Required: false
Description: List of vehicle’s product fits
Type: array
Properties
vehicleSummary
Required: false
Description: Object of Vehicle summary
Type: object
Properties
summary
Required: false
Description: Summary
Type: string
Max Length: 2000
Example: "Chevrolet - Camaro (2010-2015) - Front; Equinox (2010-2017) - Front; Impala (2014-2020) - Front; Malibu (2013-2015) - Front; Malibu Limited (2016) - Front"s
Search Service
The Search Service has three endpoints. The Category Search service allows the user to search for products by Category ID. All header values described above are applicable.
Endpoint: /category-search
HTTP Method: Post
Description: An endpoint to lookup for parts by Category ID
Post Body
HTTP Method: Post
categories
Required: true
Description: List of selected categories
Type: array
Max Size: 20 Category IDs
Properties
category
Required: true
Description: A category Object
Type: Object
categoryId
Required: true
Description: Selected Category ID
Type: Integer
Example: 100003030
includeAvailabilityAndPricing
Required: false
Description: flag to include pricing and availability in response - default is true
Type: boolean
Example: false
vehicleFitment
Required: false
Description: A vehicle fitment object
Type: Object
Properties
year
Required: Conditionally required
Description: Year ID
Type: Integer
Example: 2001
make
Required: Conditionally required
Description: Make ID
Type: Integer
Example: 1234
model
Required: Conditionally required
Description: Model ID
Type: Integer
Example: 1234
attributeLimitList
Required: false
Description: List of attributes to limit the results
Type: array
Properties
vehicleAttribute
Required: false
Description: A vehicle attribute object
Type: object
Properties
vehicleAttributeName
Required: false
Description: Name of vehicle attribute
Type: string
Max Length: 30
Example: submodel
vehicleAttributeId
Required: false
Description: ID of vehicle attribute
Type: string
Example: 1234
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
searchResult
Required: true
Description: An object holding search results
Type: object
Properties
totalResults
Required: true
Description: count of total number of results including superseded and alternate parts
Type: integer
Example: 24
products
Required: true
Description: An array of product objects
Type: array
Properties
product
Required: Conditionally required when products array exists
Description: A product object
Type: object
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Length: 1
Max Length: 120
Example: 123456789 or 123456789:abc:64-a:false
partNumber
Required: true
Description: manufacturer part number
Type: string
Max Length: 60
Example: 24-c
productLineAbbreviation
Required: true
Description: Product line abbreviation
Type: string
Max Length: 20
Example: RCH
productLine
Required: true
Description: manufacturer of the product
Type: string
Max Size: 120
Example: Driveworks
sku
Required: false
Description: Stock Keeping Unit number
Type: string
Max Length: 20
Example: 12345
partTypeDescription
Required: false
Description: Part type description
Type: string
Max Length: 120
Example: ?
productDescription
Required: false
Description: description of products
Type: string
Max Length: 200
Example: ?
hasSupersedeChildren
Required: false
Description: That, there are products that supersede this one
Type: Boolean, default “false”
supersededPartNumber
Required: false
Description: Partnumber that this product supersedes
Type: string
Max Length: 30
hasAlternateChildren
Required: false
Description: That, this product has alternates
Type: Boolean, default “false”
alternatePartNumber
Required: false
Description: The alternate product’s partnumber
Type: string
Max Length: 30
generalNotes
Required: true
Description: Notes
Type: array
Properties
generalNote
Required: false
Description: General notes
Type: string
category
Required: false
Description: This product’s category, if exists
Type: string
Max Length: 200
Example: Oil Filter
partTerminologyName
Required: false
Description: This product’s part terminology, if exists
Type: string
Max Length: 200
Example: Steering Tie Rod End
position
Required: false
Description: This product’s position fitment, if exists
Type: string
Max Length: 200
Example: Left Outer
perCarQty
Required: false
Description: The per car quantity if value exists
Type: integer
thumbUrl
Required: false
Description: link to thumb image
Type: string
Max size: 5?
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
weight
Required: false
Description: Weight of the product
Type: string
Example: 1.76
prop65
Required: false
Description: California warnings
Type: string
Max size: 200
Example: Cancer and Reproductive
warranty
Required: false
Description: Warranty description
Type: string
Example: REPLACE OR REFUND AT MGR DISCRETION
unspsc
Required: false
Description: Standard UN code
Type: string
pricing
Required: Conditional required, returned if includeAvailabilityAndPricing is True in request
Description: A pricing object
Type: object
Properties
listPrice
Required: false
Description: Manufacturer Suggested Retail Price
Type: integer
Example: 19.99
unitPrice
Required: false
Description: Price per unit
Type: integer
Example: 12.99
coreCharge
Required: false
Description: Core charge for item
Type: integer
Example: 20.00
fulfillLocationList
Required: Conditional required, returned if includeAvailabilityAndPricing is True in request
Description: List of locations with inventory
Type: array
Properties
location
Required: true
Description: Location that will fulfill all or part of order
Type: object
Properties
locationNumber
Required: true
Description: AAP Store number
Type: string
Max Length: 10
Example: 1234
locationName
Required: true
Description: AAP Store description
Type: string
Max Length: 120
Example: ?
locationType
Required: true
Description: Type of store - primary, network, DC
Type: string
Example: Primary
availableQuantity
Required: true
Description: Available quantity at this location
Type: integer
deliveryEstimate
Required: false
Description: Delivery estimate statement
Type: string
Max Length: 120
Example: Today 3:30pm
neededVehicleAttributeName
Required: true
Description: name of vehicle attribute
Type: string
Max length: 30
Example: Engine
neededVehicleAttributeValues
Required: true
Description: Possible values for missing vehicle attribute
Type: array
Properties
vehicleAttributeValue
Required: true
Description: a possible value for a vehicle configuration
Type: object
Properties
vehicleAttributeDesc
Required: true
Description: Description of vehicle attribute value
Type: string
Example: 1.5L L4 -cid 1497cc Turbocharged VIN - GAS FI
vehicleAttributeId
Required: false
Description: ID associated with attribute description
Type: integer
Example: 1234
collectionAttributes
Required: false
Description: An array of attributes that make up vehicle attribute description
Type: array
Properties
vehicleAttributeName
Required: Conditional required, should exist if this object exists
Description: name of vehicle attribute
Type: string
Example: engineBase
vehicleAttributeId
Required: Conditional required, should exist if this object exists
Description: ID of vehicle attribute (Comma separated values)
Type: string
Example: 2118,1493,6792,7462
Endpoint: /partnumber-search
HTTP Method: Get
Description: An endpoint to lookup for parts by specific Part number.
Input Parameters
partNumberSearchTerm
Required: true
Description: Part number to search for
Type: string
Min Length: 1
Max Length: 40
Example: 1234567890
includeAvailabilityAndPricing
Required: false
Description: flag to include pricing and availability in response - default is true
Type: boolean
Example: false
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
searchResult
Required: true
Description: An object holding search results
Type: object
Properties
totalResults
Required: true
Description: count of total number of results
Type: integer
Example: 24
products
Required: true
Description: An array of product objects
Type: array
Properties
product
Required: Conditionally required when products array exists
Description: A product object
Type: object
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Length: 1
Max Length: 120
Example: 123456789 or 123456789:abc:64-a:false
partNumber
Required: true
Description: Manufacturer part number
Type: string
Max Length: 60
Example: 24-c
productLineAbbreviation
Required: true
Description: Product line abbreviation
Type: string
Max Length: 20
Example: RCH
productLine
Required: true
Description: Manufacturer of the product
Type: string
Max Size: 120
Example: Driveworks
sku
Required: false
Description: Stock Keeping Unit number
Type: string
Max Length: 20
Example: 12345
partTypeDescription
Required: false
Description: Part type description
Type: string
Max Length: 120
Example: ?
productDescription
Required: false
Description: Product’s description
Type: string
Max Length: 200
Example: ?
hasSupersedeChildren
Required: false
Description: That, there are products that supersede this one
Type: Boolean, default “false”
supersededPartNumber
Required: false
Description: Part number that this product supersedes
Type: string
Max Length: 30
hasAlternateChildren
Required: false
Description: That, this product has alternates
Type: Boolean, default “false”
alternatePartNumber
Required: false
Description: The alternate product’s part number
Type: string
Max Length: 30
generalNotes
Required: true
Description: Notes
Type: array
Properties
generalNote
Required: false
Description: General notes
Type: string
category
Required: false
Description: This product’s category, if exists
Type: string
Max Length: 200
Example: Oil Filter
partTerminologyName
Required: false
Description: This product’s part terminology, if exists
Type: string
Max Length: 200
Example: Steering Tie Rod End
perCarQty
Required: false
Description: The per car quantity if value exists
Type: integer
thumbUrl
Required: false
Description: link to thumb image
Type: string
Max size: 5?
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
weight
Required: false
Description: Weight of the product
Type: string
Example: 1.76
prop65
Required: false
Description: California warnings
Type: string
Max size: 200
Example: Cancer and Reproductive
warranty
Required: false
Description: Warranty description
Type: string
Example: REPLACE OR REFUND AT MGR DISCRETION
unspsc
Required: false
Description: Standard UN code
Type: string
pricing
Required: Conditional required, returned if includeAvailabilityAndPricing is True in request
Description: A pricing object
Type: object
Properties
listPrice
Required: false
Description: Manufacturer Suggested Retail Price
Type: integer
Example: 19.99
unitPrice
Required: false
Description: Price per unit
Type: integer
Example: 12.99
coreCharge
Required: false
Description: Core charge for item
Type: integer
Example: 20.00
fulfillLocationList
Required: Conditional required, returned if includeAvailabilityAndPricing is True in request
Description: List of locations with inventory
Type: array
Properties
location
Required: true
Description: Location that will fulfill all or part of order
Type: object
Properties
locationNumber
Required: true
Description: AAP Store number
Type: string
Max Length: 10
Example: 1234
locationName
Required: true
Description: AAP Store description
Type: string
Max Length: 120
Example: ?
locationType
Required: true
Description: Type of store - primary, network, DC
Type: string
Example: Primary
availableQuantity
Required: true
Description: Available quantity at this location
Type: integer
deliveryEstimate
Required: false
Description: Delivery estimate statement
Type: string
Max Length: 120
Example: Today 3:30pm
Endpoint: /product-classification-search
HTTP Method: Post
Description: An endpoint to search the catalog by product classification ids
Post Body
HTTP Method: Post
productClassIds
Required: true
Description: list of pcdb ids
Type: array
Max Length: 20
includeAvailabilityAndPricing
Required: false
Description: flag to include pricing and availability in response - default is true
Type: boolean
Example: false
vehicleFitment
Required: false
Description: A vehicle fitment object
Type: Object
Properties
year
Required: Conditionally required
Description: Year ID
Type: Integer
Example: 2001
make
Required: Conditionally required
Description: Make ID
Type: Integer
Example: 1234
model
Required: Conditionally required
Description: Model ID
Type: Integer
Example: 1234
attributeLimitList
Required: false
Description: List of attributes to limit the results
Type: array
Properties
vehicleAttribute
Required: false
Description: A vehicle attribute object
Type: object
Properties
vehicleAttributeName
Required: false
Description: Name of vehicle attribute
Type: string
Max Length: 30
Example: submodel
vehicleAttributeId
Required: false
Description: ID of vehicle attribute
Type: string
Example: 1234
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
searchResult
Required: true
Description: An object holding search results
Type: object
Properties
totalResults
Required: true
Description: count of total number of results including superseded and alternate parts
Type: integer
Example: 24
products
Required: true
Description: An array of product objects
Type: array
Properties
product
Required: Conditionally required when products array exists
Description: A product object
Type: object
Properties
catalogProductIdentifier
Required: true
Description: This is the unique identifier for a product. This field will be returned with search results and its format depends on some internal Advance factors.
Type: string
Min Length: 1
Max Length: 120
Example: 123456789 or 123456789:abc:64-a:false
partNumber
Required: true
Description: manufacturer part number
Type: string
Max Length: 60
Example: 24-c
productLineAbbreviation
Required: true
Description: Product line abbreviation
Type: string
Max Length: 20
Example: RCH
productLine
Required: true
Description: manufacturer of the product
Type: string
Max Size: 120
Example: Driveworks
sku
Required: false
Description: Stock Keeping Unit number
Type: string
Max Length: 20
Example: 12345
partTypeDescription
Required: false
Description: Part type description
Type: string
Max Length: 120
Example: ?
productDescription
Required: false
Description: description of products
Type: string
Max Length: 200
Example: ?
hasSupersedeChildren
Required: false
Description: That, there are products that supersede this one
Type: Boolean, default “false”
supersededPartNumber
Required: false
Description: Partnumber that this product supersedes
Type: string
Max Length: 30
hasAlternateChildren
Required: false
Description: That, this product has alternates
Type: Boolean, default “false”
alternatePartNumber
Required: false
Description: The alternate product’s partnumber
Type: string
Max Length: 30
generalNotes
Required: true
Description: Notes
Type: array
Properties
generalNote
Required: false
Description: General notes
Type: string
category
Required: false
Description: This product’s category, if exists
Type: string
Max Length: 200
Example: Oil Filter
partTerminologyName
Required: false
Description: This product’s part terminology, if exists
Type: string
Max Length: 200
Example: Steering Tie Rod End
position
Required: false
Description: This product’s position fitment, if exists
Type: string
Max Length: 200
Example: Left Outer
perCarQty
Required: false
Description: The per car quantity if value exists
Type: integer
thumbUrl
Required: false
Description: link to thumb image
Type: string
Max size: 5?
Example: http://imageserverurl/assets/epc125xepc125/std.lang.all/1021442754.jpg
weight
Required: false
Description: Weight of the product
Type: string
Example: 1.76
prop65
Required: false
Description: California warnings
Type: string
Max size: 200
Example: Cancer and Reproductive
warranty
Required: false
Description: Warranty description
Type: string
Example: REPLACE OR REFUND AT MGR DISCRETION
unspsc
Required: false
Description: Standard UN code
Type: string
pricing
Required: Conditional required, returned if includeAvailabilityAndPricing is True in request
Description: A pricing object
Type: object
Properties
listPrice
Required: false
Description: Manufacturer Suggested Retail Price
Type: integer
Example: 19.99
unitPrice
Required: false
Description: Price per unit
Type: integer
Example: 12.99
coreCharge
Required: false
Description: Core charge for item
Type: integer
Example: 20.00
fulfillLocationList
Required: Conditional required, returned if includeAvailabilityAndPricing is True in request
Description: List of locations with inventory
Type: array
Properties
location
Required: true
Description: Location that will fulfill all or part of order
Type: object
Properties
locationNumber
Required: true
Description: AAP Store number
Type: string
Max Length: 10
Example: 1234
locationName
Required: true
Description: AAP Store description
Type: string
Max Length: 120
Example: ?
locationType
Required: true
Description: Type of store - primary, network, DC
Type: string
Example: Primary
ranking
Required: true
Description: The rank in which a store is considered for fulfillment
Type: integer
availableQuantity
Required: true
Description: Available quantity at this location
Type: integer
deliveryEstimate
Required: false
Description: Delivery estimate statement
Type: string
Max Length: 120
Example: Today 3:30pm
cutOffDateTime
Required: false
Description: The time a user should order by in order to get the product by the delivery estimate
Type: date and time
Example: 2024/08/01 02:34 PM
Example: 1.5L L4 -cid 1497cc Turbocharged VIN - GAS FI
neededVehicleAttributeName
Required: true
Description: name of vehicle attribute
Type: string
Max length: 30
Example: Engine
neededVehicleAttributeValues
Required: true
Description: Possible values for missing vehicle attribute
Type: array
Properties
vehicleAttributeValue
Required: true
Description: a possible value for a vehicle configuration
Type: object
Properties
vehicleAttributeDesc
Required: true
Description: Description of vehicle attribute value
Type: string
Example: 1.5L L4 -cid 1497cc Turbocharged VIN - GAS FI
vehicleAttributeId
Required: false
Description: ID associated with attribute description
Type: integer
Example: 1234
collectionAttributes
Required: false
Description: An array of attributes that make up vehicle attribute description
Type: array
Properties
vehicleAttributeName
Required: Conditional required, should exist if this object exists
Description: name of vehicle attribute
Type: string
Example: engineBase
vehicleAttributeId
Required: Conditional required, should exist if this object exists
Description: ID of vehicle attribute (Comma separated values)
Type: string
Example: 2118,1493,6792,7462
Vehicle Service
The Vehicle Service has 5 endpoints. These endpoints are designed to identify the vehicle information like attributes and specification based on different parameters like vehicle year, make and model etc, and also enable filtering of results based on some additional attributes.
Endpoint: /vehicle-years
HTTP Method: GET
Description: An endpoint to get a list of distinct year. These represents either year in which vehicles manufactured or the year to which vehicle model belongs.
Input
NONE
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store not found”
attributeName
Description: Name of attribute
Required: true
Type: String
Max Size: 30
Example: “year”
attributeValues
Description: List of attribute values
Required: true
Type: Array
Properties
attributeValue
Description: Object containing attribute values
Required: true
Type: Object
Properties
attributeValueId
Description: Id of attribute value
Type: Integer
Required: true
example: 2020
description
Description: Description of the attribute value.( For this service this will be year value)
Required: true
Type: String
Max Size: 120
example: “2020”
elements
Description: Array of elements representing the parameters of the attribute
Type: Array
Properties
elementName
Description: Name of the element
Type: String
Example: “displacement”
elementValue
Description: Value of the element
Type: String
Example: “3778”
uom
Description: Unit of measurement for the element
Type: String
Example: “cc”
Endpoint: /vehicle-makes
HTTP Method: GET
Description: An endpoint to get a list of vehicle manufacturers (makes) for a given year.
Input
Query parameters
year
Required: true
Description: Year for which make details are need
Type: Integer
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
attributeName
Description: Name of attribute for which we are searching for (in this case the value could be “make”)
Required: true
Type: String
Max Size: 30
Example: “make”
attributeValues
Description: List of attribute values
Required: true
Type: Array
Properties
attributeValue
Description: Object containing attribute values
Required: true
Type: Object
Properties
attributeValueId
Description: Id of attribute value
Type: Integer
Required: true
example: 1234
description
Description: Description of the attribute value. (For this service this value will be vehicle manufacturer name)
Required: true
Type: String
Max Size: 120
example: “Ferrari”
elements
Description: Array of elements representing the parameters of the attribute
Type: Array
Properties
elementName
Description: Name of the element
Type: String
Example: “displacement”
elementValue
Description: Value of the element
Type: String
Example: “3778”
uom
Description: Unit of measurement for the element
Type: String
Example: “cc”
Endpoint: /vehicle-model
HTTP Method: GET
Description: An endpoint to get a list of vehicle models belonging to a manufacturer and year.
Input
Query parameters
year
Required: true
Description: Year to which the vehicle model belongs
Type: String
make
Required: true
Description: Vehicle manufacturer Id
Type: Integer
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
attributeName
Description: Name of attribute
Required: true
Type: String
Properties
Max Size: 30
Example: “year”
attributeValues
Description: List of attribute values
Required: true
Type: Array
Properties
attributeValue
Description: Object containing attribute values
Required: true
Type: Object
Properties
attributeValueId
Description: Id of attribute value
Type: Integer
Required: true
example: 1234
description
Description: Description of the attribute value. (For this service this will be vehicle model name)
Type: String
Max Size: 120
example: “458 Spider”
Required: true
elements
Description: Array of elements representing the parameters of the attribute
Type: Array
Properties
elementName
Description: Name of the element
Type: String
Example: “displacement”
elementValue
Description: Value of the element
Type: String
Example: “3778”
uom
Description: Unit of measurement for the element
Type: String
Example: “cc”
Endpoint: /vehicle-attribute
HTTP Method: POST
Description: An endpoint to a list of vehicle attribute values for a requested attribute
Input
Request body
year
Required: true
Description: Attribute id of year to which the vehicle model belongs
Type: Integer
make
Required: true
Description: Attribute id of the vehicle manufacturer.
Type: Integer
model
Required: true
Description: Attribute id of vehicle model.
Type: Integer
requestedAttribute
Required: true
Description: Name of attribute the response should provide values for.
Type: String
Max Size: 30
attributeLimitList
Required: false
Description: A list of attributes to limit the results by.
Type: Array
Properties
vehicleAttribute
Description: Vehicle attribute object containing the requested attribute name and id. If this is provided, then both vehicleAttributeId and vehicleAttributeName
Type: Object
Properties
vehicleAttributeId
Description: Vehicle attribute id
Type: Integer
vehicleAttributeName
Description: Vehicle attribute name
Type: String
Max Size: 30
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
attributeName
Description: Requested vehicle attribute name
Required: true
Type: String
Max Size: 30
Example: “engineBase”
attributeValues
Description: List of attribute values for the requested attribute
Required: true
Type: Array
Properties
attributeValue
Description: Object containing attribute value id and description
Required: true
Type: Object
Properties
attributeValueId
Description: Id of attribute value
Type: Integer
Required: true
example: 1234
description
Description: Description of the attribute value. (For this service this value will be vehicle manufacturer name)
Required: true
Type: String
Max Size: 120
example: “3.8L V6 231cid 3778cc”
elements
Description: Array of elements representing the parameters of the attribute
Type: Array
Properties
elementName
Description: Name of the element
Type: String
Example: “displacement”
elementValue
Description: Value of the element
Type: String
Example: “3778”
uom
Description: Unit of measurement for the element
Type: String
Example: “cc”
Endpoint: /vehicle-specification
HTTP Method: POST
Description: An endpoint to get a vehicle specification
Input
Request Body
year
Required: true (if baseVehicleId is not provided)
Description: Attribute id of year to which the vehicle model belongs
Type: Integer
make
Required: true (if baseVehicleId is not provided)
Description: Attribute id of the vehicle manufacturer.
Type: Integer
model
Required: true (if baseVehicleId is not provided)
Description: Attribute id of vehicle model.
Type: Integer
requestedAttribute
Required: true
Description: Name of attribute the response should provide values for.
Type: String
Max Size: 30
baseVehicleId
Required: true (if year, make and model and not provided)
Description: Vehicle Id
Type: Integer
attributeLimitList
Required: false
Description: A list of attributes to limit the results by.
Type: Array
Properties
vehicleAttribute
Description: Vehicle attribute object containing the requested attribute name and id. If this is provided, then both vehicleAttributeId and vehicleAttributeName
Type: Object
Properties
vehicleAttributeId
Description: Vehicle attribute id
Type: Integer
vehicleAttributeName
Description: Vehicle attribute name
Type: String
Max Size: 30
Output
Http Status: 200
status
Required: true
Description: An object representing the status of the response.
Type: object
Properties
code
Required: true
Description: Advance code status of the response (not http code).
Type: string
message
Required: true
Description: An object representing the message of the response.
Type: object
Properties
id
Description: id of message returned
Type: string
Example: SMS1234
text
Description: Message text
Type: string
Example: “Store no found”
vehicleDescription
Description: Vehicle description object containing vehicle specification list with attributes and their values
Required: true
Type: Object
Properties
attributes
Description: List of attribute objects with attribute name and values.
Required: true
Type: Array
Properties
attributeValueId
Description: Id of attribute value
Type: Integer
Required: true
example: 1234
attributeName
Description: Name of attribute
Required: true
Type: String
Max Size: 30
Example: “year”
description
Description: Description of the attribute value. (For this service this will be vehicle model name)
Type: String
Max Size: 120
example: “2020”
Required: true
elements
Description: Array of elements representing the parameters of the attribute
Type: Array
Properties
elementName
Description: Name of the element
Type: String
Example: “displacement”
elementValue
Description: Value of the element
Type: String
Example: “3778”
uom
Description: Unit of measurement for the element
Type: String
Example: “cc”
vehicle
Description: Summary object for the vehicle attributes
Required: true
Type: Object
Properties
baseVehicleId
Description: Vehicle Id
Type: Integer
attributeSummaryList
Description: List of vehicle attribute objects with attribute name and values.
Required: true
Type: Array
Properties
attributePair
Description: Object representing the vehicle attribute name and id
Type: Object
attributeName
Description: Name of attribute
Required: true
Type: String
Max Size: 30
Example: “bodyType”
attributeId
Description: Id of attribute
Type: Integer
Required: true
example: 11
Note: For /vehicle-years, /vehicle-make and /vehicle-model end points, elements object in response will be always null. Whereas for /vehicle-attribute and /vehicle-specification end points this object value will appear based on the requested attribute
Contact
If you have any questions, please contact us at B2BAPIIntegrationsTeam@advance-auto.com.
Version
|
Version |
Comments |
Date |
|
1.0 |
Initial document |
2/9/24 |
|
1.1 |
Added keyword-search endpoint |
3/7/24 |
|
1.2 |
Added product-classification-search endpoint |
|
|
1.3 |
Added Order Review Endpoint |
6/10/24 |
|
1.4 |
Added /v4 version of inventory and updated product-classification-search endpoint to include ranking and cutoff date time |
8/1/24 |
|
1.5 |
Added /cart-pricing to order service |
9/24/24 |