Marketplaces / Amazon SP API - Technical Scope / Amazon SP API Product Management / Amazon SP-API Fitment

Amazon SP-API Fitment

Version Date Created / Updated Notes
v1.0 04/12/2024 Hristiyan First publish

Amazon utilizes vehicle fitment codes, often referred to as KCodes, to specify vehicle compatibility for automotive parts and accessories. These codes are integral to Amazon's fitment system, enabling precise matching of parts to specific vehicle makes and models. Amazon's product type schemas include attributes specifically designed for vehicle fitment, facilitating accurate automotive parts compatibility

First of all our idea is to utilize our existing Kcodes logic and make it usable for both Amazon and eBay since they both use the same types of kcodes (Ktype for eBay and TecDoc for Amazon, which are essentially the same). In order to do this, we first need to start by amending our existing infrastructure. We want to rename the table and some fields, and also add some new fields.

eBay Kcodes” table should be renamed to “Fitment” table. It is still dependant table of Product AccountPlease find the structure below.

Field Old field name Field Type Required Description
KCode KType varchar Yes This is the actual code value to be added to the Product Account
Notes Notes varchar No Additional fitment information, which would be displayed to the buyer
Deletion Deletion varchar No List of year(s) an automotive part does not fit. Use comma " , " to list all deletions.
Type New field! varchar Yes This will be the type of KCode that was imported. Please note that this filed can be filled manually, but also should be filled with the import type (we will have Import type = ePID,
Import type = KType or Import type = TecDoc)

Also we want to make sure the table is also visible for Amazon listings.

After we have the info we need, we then have to send it to Amazon. This is done via the listing create/update (Amazon SP API Listing Create) using the JSON schemas. In the vehicle JSON schemas, there is a vehicle_fitment object in which we provide the info.

Example: (please note this example is strictly for the vehicle_fitment object, all other objects part of the payload are excluded here) :

{
  "vehicle_fitment": [
    {
      "standard": [
        {
          "value": "TecDoc",
          "language_tag": "en_GB"
        }
      ],
      "code": [
        {
          "value": "0035AFR, 59799",
          "language_tag": "en_GB"
        }
      ],
      "note": [
        {
          "value": "0035AFR: Only for model years 2008 and higher, 59799: Only for models with automatic transmissions",
          "language_tag": "en_GB"
        }
      ],
      "marketplace_id": "A1PA6795UKMFR9"
    }
  ]
}

Mapping :

Integration FIeld Hemi Mapping Hemi Notes
vehicle_fitment
standard
value Fitment > Type
language_tag Hardcoded per account region
code
value Fitment > KCode We can have many values which are separated with comma
language_tag Hardcoded per account region
note
value Fitment > Note Needs to be in a format : code: note. Example is in the payload above.
language_tag Hardcoded per account region
marketplace_id Hardcoded per account region

There are no triggers, no validations etc. as this is part of our Listing process and everything related is in there.

As additional note to make things extra clear - even if it seems that nodes code and note are arrays in the example everything we’ve seen so far is that we need to pass the info into only one code and note, combined and separated with a comma (,). This means we need to pick all kcodes associated with the listing and put them all in one value (example: kcode_1, kcode_2, kcode_3, kcode_4, kcode_n) and if they have any notes against them put them in the notes field together again based on the structure explained above (example: kcode_1: note_1, kcode_4: note_4, kcode_n: note_n)

Is this article helpful?
0 0 0