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