Marketplaces / ASOS - Technical Scope / ASOS - Taxonomy

ASOS - Taxonomy

The purpose of this page is to give detailed explanations of how we will download the taxonomy for MIRAKL.

The taxonomy must be stored in classes, which should be available for exports from the UI in Export Taxonomy table. The taxonomy is used for internal validation and we will need to map the values and push the codes to MIRAKL.

Note: Every time we send products for creation we have to do internal check if all required attributes are part of the the product as Item Specifics according to their taxonomy which we download and store on the instance. Please note that for the ASOS we will have only 5 categories that we will use! Also, there are no required attributes and values

To download the taxonomy, we should follow the steps:

  • GET H11 - List Catalog categories

Using this call, we are able to get all available categories for MIRAKL.

API Call:/api/hierarchies

API Docs: https://asosuk-dev.mirakl.net/help/api-doc/seller/mmp.html#H11

Example response:

{
    "hierarchies": [
        {
            "code": "accessories",
            "label": "Accessories",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Accessories"
                }
            ],
            "level": 1,
            "parent_code": ""
        },
        {
            "code": "clothing",
            "label": "Clothing",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Clothing"
                },
                {
                    "locale": "fr",
                    "value": "Vêtements"
                }
            ],
            "level": 1,
            "parent_code": ""
        },
        {
            "code": "depth",
            "label": "Depth",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Depth"
                }
            ],
            "level": 1,
            "parent_code": ""
        },
        {
            "code": "footwear",
            "label": "Footwear",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Footwear"
                }
            ],
            "level": 1,
            "parent_code": ""
        },
        {
            "code": "skincare",
            "label": "Skincare",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Skincare"
                },
                {
                    "locale": "fr",
                    "value": "Soins"
                }
            ],
            "level": 1,
            "parent_code": ""
        },
        {
            "code": "width",
            "label": "Width",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Width"
                }
            ],
            "level": 1,
            "parent_code": ""
        }
    ]
}
  • GET PM11 - Get the product attribute configuration

Via this call, we are able to obtain the attributes for the categories.

API Call: /api/products/attributes

API Docs: https://asosuk-dev.mirakl.net/help/api-doc/seller/mmp.html#PM11

Example response:

{
    "attributes": [
        {
            "code": "product-category",
            "default_value": null,
            "description": null,
            "description_translations": [],
            "example": null,
            "hierarchy_code": "",
            "label": "Product Category",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Product Category"
                }
            ],
            "required": false,
            "requirement_level": "OPTIONAL",
            "roles": [
                {
                    "parameters": [],
                    "type": "CATEGORY"
                }
            ],
            "type": "TEXT",
            "type_parameter": null,
            "type_parameters": null,
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "seller-sku",
            "default_value": null,
            "description": "The seller Stock Keeping Unit (Shop SKU)",
            "description_translations": [
                {
                    "locale": "en",
                    "value": "The seller Stock Keeping Unit (Shop SKU)"
                }
            ],
            "example": null,
            "hierarchy_code": "",
            "label": "Seller product Identifier",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Seller product Identifier"
                }
            ],
            "required": true,
            "requirement_level": "REQUIRED",
            "roles": [
                {
                    "parameters": [],
                    "type": "SHOP_SKU"
                }
            ],
            "type": "TEXT",
            "type_parameter": null,
            "type_parameters": null,
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "name",
            "default_value": null,
            "description": "Name of the Product",
            "description_translations": [
                {
                    "locale": "en",
                    "value": "Name of the Product"
                }
            ],
            "example": "Oversized sweatshirt in beige with flower back print",
            "hierarchy_code": "",
            "label": "Name",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Name"
                }
            ],
            "required": true,
            "requirement_level": "REQUIRED",
            "roles": [
                {
                    "parameters": [],
                    "type": "TITLE"
                }
            ],
            "type": "TEXT",
            "type_parameter": null,
            "type_parameters": null,
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "description",
            "default_value": null,
            "description": null,
            "description_translations": [],
            "example": null,
            "hierarchy_code": "",
            "label": "Description",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Description"
                }
            ],
            "required": true,
            "requirement_level": "REQUIRED",
            "roles": [
                {
                    "parameters": [],
                    "type": "DESCRIPTION"
                }
            ],
            "type": "LONG_TEXT",
            "type_parameter": null,
            "type_parameters": null,
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "brand",
            "default_value": null,
            "description": "Brand of the Product",
            "description_translations": [
                {
                    "locale": "en",
                    "value": "Brand of the Product"
                }
            ],
            "example": null,
            "hierarchy_code": "",
            "label": "Brand",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Brand"
                }
            ],
            "required": false,
            "requirement_level": "RECOMMENDED",
            "roles": [
                {
                    "parameters": [],
                    "type": "BRAND"
                }
            ],
            "type": "LIST",
            "type_parameter": "brand",
            "type_parameters": [
                {
                    "name": "LIST_CODE",
                    "value": "brand"
                }
            ],
            "values": null,
            "values_list": "brand",
            "variant": false
        },
        {
            "code": "ean",
            "default_value": null,
            "description": null,
            "description_translations": [],
            "example": null,
            "hierarchy_code": "",
            "label": "EAN",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "EAN"
                }
            ],
            "required": true,
            "requirement_level": "REQUIRED",
            "roles": [
                {
                    "parameters": [
                        {
                            "name": "code",
                            "value": "EAN"
                        }
                    ],
                    "type": "UNIQUE_IDENTIFIER"
                }
            ],
            "type": "TEXT",
            "type_parameter": null,
            "type_parameters": null,
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "image-1",
            "default_value": null,
            "description": "Main image of the Product",
            "description_translations": [
                {
                    "locale": "en",
                    "value": "Main image of the Product"
                }
            ],
            "example": null,
            "hierarchy_code": "",
            "label": "Main image",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Main image"
                }
            ],
            "required": false,
            "requirement_level": "RECOMMENDED",
            "roles": [
                {
                    "parameters": [],
                    "type": "MAIN_IMAGE"
                }
            ],
            "type": "MEDIA",
            "type_parameter": "1024",
            "type_parameters": [
                {
                    "name": "MAX_SIZE",
                    "value": "1024"
                },
                {
                    "name": "TYPE",
                    "value": "IMAGE"
                }
            ],
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "color",
            "default_value": null,
            "description": null,
            "description_translations": [],
            "example": null,
            "hierarchy_code": "",
            "label": "Color",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Color"
                }
            ],
            "required": false,
            "requirement_level": "OPTIONAL",
            "roles": [],
            "type": "LIST",
            "type_parameter": "color",
            "type_parameters": [
                {
                    "name": "LIST_CODE",
                    "value": "color"
                }
            ],
            "values": null,
            "values_list": "color",
            "variant": true
        },
        {
            "code": "supplier-ref",
            "default_value": null,
            "description": "Supplier Reference used to regroup Products as being Variations",
            "description_translations": [
                {
                    "locale": "en",
                    "value": "Supplier Reference used to regroup Products as being Variations"
                }
            ],
            "example": null,
            "hierarchy_code": "",
            "label": "Supplier Reference",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Supplier Reference"
                }
            ],
            "required": false,
            "requirement_level": "RECOMMENDED",
            "roles": [
                {
                    "parameters": [],
                    "type": "VARIANT_GROUP_CODE"
                }
            ],
            "type": "TEXT",
            "type_parameter": null,
            "type_parameters": null,
            "values": null,
            "values_list": null,
            "variant": false
        },
        {
            "code": "skinType",
            "default_value": null,
            "description": "Skin Type",
            "description_translations": [
                {
                    "locale": "en",
                    "value": "Skin Type"
                }
            ],
            "example": "Dry",
            "hierarchy_code": "skincare",
            "label": "Skin Type",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Skin Type"
                }
            ],
            "required": false,
            "requirement_level": "RECOMMENDED",
            "roles": [],
            "type": "LIST",
            "type_parameter": "skinType",
            "type_parameters": [
                {
                    "name": "LIST_CODE",
                    "value": "skinType"
                }
            ],
            "values": null,
            "values_list": "skinType",
            "variant": false
        }
    ]
}
  • GET VL11 - Get information about operator's value lists

With this API call, we get all available values for each attribute.

API Call: /api/values_lists

API Docs: https://asosuk-dev.mirakl.net/help/api-doc/seller/mmp.html#VL11

Example response:

{
    "values_lists": [
        {
            "code": "brand",
            "label": "Brand",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Brand"
                }
            ],
            "values": [
                {
                    "code": "adidas",
                    "label": "Adidas",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Adidas"
                        }
                    ]
                },
                {
                    "code": "puma",
                    "label": "PUMA",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "PUMA"
                        }
                    ]
                },
                {
                    "code": "nike",
                    "label": "Nike",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Nike"
                        }
                    ]
                },
                {
                    "code": "new-balance",
                    "label": "New Balance",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "New Balance"
                        }
                    ]
                }
            ]
        },
        {
            "code": "color",
            "label": "Color",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Color"
                }
            ],
            "values": [
                {
                    "code": "black",
                    "label": "Black",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Black"
                        }
                    ]
                },
                {
                    "code": "white",
                    "label": "White",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "White"
                        }
                    ]
                },
                {
                    "code": "blue",
                    "label": "Blue",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Blue"
                        }
                    ]
                }
            ]
        },
        {
            "code": "skinType",
            "label": "Skin Type",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Skin Type"
                },
                {
                    "locale": "fr",
                    "value": "Type de peau"
                }
            ],
            "values": [
                {
                    "code": "all",
                    "label": "All Skin Types",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "All Skin Types"
                        },
                        {
                            "locale": "fr",
                            "value": "Tous types de peaux"
                        }
                    ]
                },
                {
                    "code": "normal",
                    "label": "Normal",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Normal"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "dry",
                    "label": "Dry",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Dry"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "oily",
                    "label": "Oily",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Oily"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "combination",
                    "label": "Combination",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Combination"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                }
            ]
        },
        {
            "code": "texture",
            "label": "Texture",
            "label_translations": [
                {
                    "locale": "en",
                    "value": "Texture"
                },
                {
                    "locale": "fr",
                    "value": ""
                }
            ],
            "values": [
                {
                    "code": "cream",
                    "label": "Cream",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Cream"
                        },
                        {
                            "locale": "fr",
                            "value": "Crème"
                        }
                    ]
                },
                {
                    "code": "gel",
                    "label": "Gel",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Gel"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "lotion",
                    "label": "Lotion",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Lotion"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "milk",
                    "label": "Milk",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Milk"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "bi-phase",
                    "label": "Bi-Phase",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Bi-Phase"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "mousse",
                    "label": "Mousse",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Mousse"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                },
                {
                    "code": "spray",
                    "label": "Spray",
                    "label_translations": [
                        {
                            "locale": "en",
                            "value": "Spray"
                        },
                        {
                            "locale": "fr",
                            "value": ""
                        }
                    ]
                }
            ]
        }
    ]
}

Taxonomy export file

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

Please find example file structure how it should look like after exported. We store for each category separate file.

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
Is this article helpful?
0 0 0