Marketplaces / Walmart / Walmart Product Management / Walmart Taxonomy OLD

Walmart Taxonomy OLD

The purpose of this document is to define the standards of how how to work with Walmart Taxonomy

Version Date Created / Updated Notes
v1.0 N/A Danail First publish
v1.1 28/08/2024 Hristiyan Taxonomy response payload was updated

Taxonomy Validation and Product Optimization

The structure of the Walmart taxonomy is we have only leaf category within category groups which we will use as navigation paths. Also they have Orderable and Visible attributes and DO support sub-attributes structure. In order to comply with all the specifics we will need to do the following:

End Point - GET https://marketplace.walmartapis.com/v3/items/taxonomy

Doc - https://developer.walmart.com/api/us/mp/items#operation/getTaxonomyResponse

<v1.1>Sample Response (200):

{
  "success": "SUCCESS",
  "payload": [
    {
      "categoryName": "Alcoholic Beverages",
      "categoryId": "alcoholic_beverages"
    },
    {
      "categoryName": "Animal Accessories",
      "categoryId": "animal_accessories"
    },
    {
      "categoryName": "Animal Food",
      "categoryId": "animal_food"
    },
    {
      "categoryName": "Animal Health & Grooming",
      "categoryId": "animal_health_and_grooming"
    },
    {
      "categoryName": "Animal Other",
      "categoryId": "animal_other"
    },
    {
      "categoryName": "Art & Craft",
      "categoryId": "art_and_craft_other"
    },
    {
      "categoryName": "Baby Clothing",
      "categoryId": "baby_clothing"
    },
    {
      "categoryName": "Baby Diapering, Care, & Other",
      "categoryId": "baby_other"
    },
    {
      "categoryName": "Baby Food",
      "categoryId": "baby_food"
    },
    {
      "categoryName": "Baby Furniture",
      "categoryId": "baby_furniture"
    },
    {
      "categoryName": "Baby Toys",
      "categoryId": "baby_toys"
    },
    {
      "categoryName": "Baby Transport",
      "categoryId": "child_car_seats"
    },
    {
      "categoryName": "Beauty, Personal Care, & Hygiene",
      "categoryId": "personal_care"
    },
    {
      "categoryName": "Bedding",
      "categoryId": "bedding"
    },
    {
      "categoryName": "Books & Magazines",
      "categoryId": "books_and_magazines"
    },
    {
      "categoryName": "Building Supply",
      "categoryId": "building_supply"
    },
    {
      "categoryName": "Cameras & Lenses",
      "categoryId": "cameras_and_lenses"
    },
    {
      "categoryName": "Carriers & Accessories",
      "categoryId": "carriers_and_accessories_other"
    },
    {
      "categoryName": "Cases & Bags",
      "categoryId": "cases_and_bags"
    },
    {
      "categoryName": "Cell Phones",
      "categoryId": "cell_phones"
    },
    {
      "categoryName": "Ceremonial Clothing & Accessories",
      "categoryId": "ceremonial_clothing_and_accessories"
    },
    {
      "categoryName": "Clothing",
      "categoryId": "clothing_other"
    },
    {
      "categoryName": "Computer Components",
      "categoryId": "computer_components"
    },
    {
      "categoryName": "Computers",
      "categoryId": "computers"
    },
    {
      "categoryName": "Costumes",
      "categoryId": "costumes"
    },
    {
      "categoryName": "Cycling",
      "categoryId": "cycling"
    },
    {
      "categoryName": "Decorations & Favors",
      "categoryId": "decorations_and_favors"
    },
    {
      "categoryName": "Electrical",
      "categoryId": "electrical"
    },
    {
      "categoryName": "Electronics Accessories",
      "categoryId": "electronics_accessories"
    },
    {
      "categoryName": "Electronics Cables",
      "categoryId": "electronics_cables"
    },
    {
      "categoryName": "Electronics Other",
      "categoryId": "electronics_other"
    },
    {
      "categoryName": "Food & Beverage",
      "categoryId": "food_and_beverage_other"
    },
    {
      "categoryName": "Footwear",
      "categoryId": "footwear_other"
    },
    {
      "categoryName": "Fuels & Lubricants",
      "categoryId": "fuels_and_lubricants"
    },
    {
      "categoryName": "Funeral",
      "categoryId": "funeral"
    },
    {
      "categoryName": "Furniture",
      "categoryId": "furniture_other"
    },
    {
      "categoryName": "Garden & Patio",
      "categoryId": "garden_and_patio_other"
    },
    {
      "categoryName": "Gift Supply & Awards",
      "categoryId": "gift_supply_and_awards"
    },
    {
      "categoryName": "Grills & Outdoor Cooking",
      "categoryId": "grills_and_outdoor_cooking"
    },
    {
      "categoryName": "Hardware",
      "categoryId": "hardware"
    },
    {
      "categoryName": "Health & Beauty Electronics",
      "categoryId": "health_and_beauty_electronics"
    },
    {
      "categoryName": "Home Decor, Kitchen, & Other",
      "categoryId": "home_other"
    },
    {
      "categoryName": "Household Cleaning Products & Supplies",
      "categoryId": "cleaning_and_chemical"
    },
    {
      "categoryName": "Instrument Accessories",
      "categoryId": "instrument_accessories"
    },
    {
      "categoryName": "Jewelry",
      "categoryId": "jewelry_other"
    },
    {
      "categoryName": "Land Vehicles",
      "categoryId": "land_vehicles"
    },
    {
      "categoryName": "Large Appliances",
      "categoryId": "large_appliances"
    },
    {
      "categoryName": "Medical Aids & Equipment",
      "categoryId": "medical_aids"
    },
    {
      "categoryName": "Medicine & Supplements",
      "categoryId": "medicine_and_supplements"
    },
    {
      "categoryName": "Movies",
      "categoryId": "movies"
    },
    {
      "categoryName": "Music Cases & Bags",
      "categoryId": "music_cases_and_bags"
    },
    {
      "categoryName": "Music",
      "categoryId": "music"
    },
    {
      "categoryName": "Musical Instruments",
      "categoryId": "musical_instruments"
    },
    {
      "categoryName": "Office",
      "categoryId": "office_other"
    },
    {
      "categoryName": "Optical",
      "categoryId": "optical"
    },
    {
      "categoryName": "Optics",
      "categoryId": "optics"
    },
    {
      "categoryName": "Other",
      "categoryId": "other_other"
    },
    {
      "categoryName": "Photo Accessories",
      "categoryId": "photo_accessories"
    },
    {
      "categoryName": "Plumbing & HVAC",
      "categoryId": "plumbing_and_hvac"
    },
    {
      "categoryName": "Printers, Scanners, & Imaging",
      "categoryId": "printers_scanners_and_imaging"
    },
    {
      "categoryName": "Safety & Emergency",
      "categoryId": "safety_and_emergency"
    },
    {
      "categoryName": "Software",
      "categoryId": "software"
    },
    {
      "categoryName": "Sound & Recording",
      "categoryId": "sound_and_recording"
    },
    {
      "categoryName": "Sport & Recreation Other",
      "categoryId": "sport_and_recreation_other"
    },
    {
      "categoryName": "Storage",
      "categoryId": "storage"
    },
    {
      "categoryName": "TV Shows",
      "categoryId": "tv_shows"
    },
    {
      "categoryName": "TVs & Video Displays",
      "categoryId": "tvs_and_video_displays"
    },
    {
      "categoryName": "Tires",
      "categoryId": "tires"
    },
    {
      "categoryName": "Tools & Hardware Other",
      "categoryId": "tools_and_hardware_other"
    },
    {
      "categoryName": "Tools",
      "categoryId": "tools"
    },
    {
      "categoryName": "Toys",
      "categoryId": "toys_other"
    },
    {
      "categoryName": "Vehicle Other",
      "categoryId": "vehicle_other"
    },
    {
      "categoryName": "Vehicle Parts & Accessories",
      "categoryId": "vehicle_parts_and_accessories"
    },
    {
      "categoryName": "Video Games",
      "categoryId": "video_games"
    },
    {
      "categoryName": "Video Projectors",
      "categoryId": "video_projectors"
    },
    {
      "categoryName": "Watches",
      "categoryId": "watches_other"
    },
    {
      "categoryName": "Watercraft",
      "categoryId": "watercraft"
    },
    {
      "categoryName": "Weapons",
      "categoryId": "weapons"
    },
    {
      "categoryName": "Wheels & Wheel Components",
      "categoryId": "wheels_and_wheel_components"
    }
  ]
}

</v1.1>

Sub-Attribute Logic: If we have Attribute with Sub Attributes we will have it like “attribute>subattribute” and every other if any sub sub attribute will be added with additional “>” like “attribute>subattribute >subsubattribute”.

For every category we must have attributes:

Attribute Name Required Mapping Comment
productIdentifiers>productIdType
productIdentifiers>productId Yes Product Details > EAN

Product Details > UPC Product Details > MPN (refers to GTIN) Product Details > ISBN | Here we can have ISBN, GTIN, UPC and EAN depends from which field we are picking we are sending the correct productId Type. The Priority is as follows: If we have EAN we push EAN if EAN is empty the second field is MPN is MPN is empty we push UPC and last one is ISBN for books only | | sku | Yes | Product Details > SKU | | | productName | Yes | Product Account > Title | | | brand | Yes | Product Account > Item Specific | | | price | Yes | Product Account > Price | | | fulfillmentLagTime | No | | | | ShippingWeight | Yes | Product Details > Weight | | | floorPrice | No | | | | pricePerUnit | No | | | | electronicsIndicator | No | | | | batteryTechnologyType | No | | | | chemicalAerosolPesticide | No | | | | multipackQuantity | No | | | | shipsInOriginalPackaging | No | | | | startDate | No | | | | endDate | No | | | | MustShipAlone | No | | | | ProductIdUpdate | No | | | | SkuUpdate | No | | |

Apart from the Orderable attributes which applies for every category we have Visible attributes which are specific for each category. Lets take for example category - Footwear

The payload is structured the way that in every category after the properties we have required node where we have a list of required attributes for that category:

"properties": {}
"required": [
                                    "shortDescription",
                                    "mainImageUrl"
                                ],

If a specific attribute has required values they are available in each property as enum:

"smallPartsWarnings": {
                                        "$schema": "http://json-schema.org/draft-04/schema#",
                                        "type": "array",
                                        "title": "Small Parts Warning Code",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "0 - No warning applicable",
                                                "5 - Choking hazard is a marble",
                                                "4 - Choking hazard balloon",
                                                "6 - Choking hazard contains a marble",
                                                "2 - Choking hazard contains small ball",
                                                "3 - Choking hazard contains small parts",
                                                "1 - Choking hazard is a small ball"
                                            ]
                                        },
                                        "heelHeight": {
                                        "$schema": "http://json-schema.org/draft-04/schema#",
                                        "type": "object",
                                        "properties": {
                                            "measure": {
                                                "type": "number",
                                                "title": "Measure",
                                                "minimum": 0,
                                                "maximum": 10000000000000000,
                                                "exclusiveMaximum": false,
                                                "multipleOf": 0.001
                                            },
                                            "unit": {
                                                "type": "string",
                                                "title": "Unit",
                                                "enum": [
                                                    "mm",
                                                    "in"
                                                ]
                                            }
                                        },

Regarding the product optimisation its a bit tricky because there are different perspectives in terms of product optimisation, product validation, clear and understandable format. In order to achieve this the product optimisation should look like:

Category: For the Category we will be using a standard for navigation path {ParentCategoryName} > {ChildCategory} > {ChildCategoryName} … In short ' > ' with spaces included will be separator for the Labels of the Category.

Attributes structure: title - Item Specific Name enum - Item Specific Value (if any otherwise free text)

Sub-Attributes Structure: For the sub-attribute we will need to have the following structure in Item Specifics name we always start with the primary attribute heelHeight then every next sub attribute is separated with > likeheelHeight>measure. Every next sub-attrbiute will be on a separate line thus we will have: heelHeight>measureheelHeight>unit We will treat this as two separate Item Specifics which depends on each other. By default if we have only one value for heelHeight we will have it like: heelHeight>measureheelHeight>unit but if we have more than one value we will need to add the indexes heelHeight[0]>measureheelHeight[0]>unitheelHeight[1]>measureheelHeight[1]>unitheelHeight[2]>measureheelHeight[2]>unit This way we are flexible and expandable in cases of sub sub attributes we will just add the final attribute as last position heelHeight>measure > typeheelHeight>unit and so on.

Taxonomy export file

In order to generate the taxonomy file we will need to create a new record in Taxonomy export with: Marketplace = Walmart Status = pending Category for Export = all (or we can specify which exact categories) Email = email to which the file will be send

Please find more details on the file structure how it should look like after exported here - Taxonomy General requirements .

  1. When we are grouping the values in a single cell depends on the number of enums we may hit the limit of the sell 32,767 characters and will cut the rest of the enumeration.
  2. The files may get too big
  3. We may hit the excel rows limit 1,048,576
Column Column Column Column Column Column Column Column
PrimaryCatID PrimaryCatName Category Path Is Leaf Item Specifics Required Enumeration Values
123 Shoes Yes Color Yes No
123 Shoes Yes Size Yes No
123 Shoes Yes Material No Yes Red White Black
123 Shoes Yes Type No Yes 40 41 42 43 44
1234 Gloves Yes Color Yes No
1234 Gloves Yes Size Yes No

PrimaryCatID and PrimaryCatName- will be the same Category path - Will have only the name Is Leaf - Always yes Item Specifics - Will be the same and for the sub-attributes we will have to store them as we expect to be optimized like fabricContent>materialPercentage fabricContent>materialName Required - we get this from the required node Enumeration - we set it as Yes if any enumerations are available Values - we add all enumeration for the attribute separated by | (pipe). If we have sub-attributes we add all enums for the main attribute

The only thing we do not have is to add additional column which will group the dependable attributes like fabricContent or HeelSize. The new column can be called groups and have the main attribute which will indicates that for fabricContent we must have the MaterialName and the MaterialPercentage. The second new column will be multicount which will indicate if we have multi value attributes like heelHeight[]>measure and heelHeight[]>unit. This will be simply yes or no.

Is this article helpful?
0 0 0