Laredoute Taxonomy
Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)
Version | Date | Created / Updated | Notes |
---|---|---|---|
v1.0 | 06/03/2023 | Hristiyan | First publish |
v1.1 | 09/05/2023 | Bogomil | Marketplace Name change |
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.
Every time we send products for creation we have to do internal check if all required attributes are part of the product as Item Specifics or Variation Specifics according to their taxonomy which we download and store on the instance.
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://laredoutestg-stg.mirakl.net/help/api-doc/seller/mmp.html#H11
{
"hierarchies" : [ {
"code" : "U001",
"label" : "Habillement",
"label_translations" : [ {
"locale" : "fr",
"value" : "Habillement"
} ],
"level" : 1,
"parent_code" : ""
}, {
"code" : "M001",
"label" : "Accessoires",
"label_translations" : [ {
"locale" : "fr",
"value" : "Accessoires"
} ],
"level" : 2,
"parent_code" : "U001"
}, {
"code" : "F001",
"label" : "Accessoires",
"label_translations" : [ {
"locale" : "fr",
"value" : "Accessoires"
} ],
"level" : 3,
"parent_code" : "M001"
}, {
"code" : "S001",
"label" : "Ceinture",
"label_translations" : [ {
"locale" : "fr",
"value" : "Ceinture"
} ],
"level" : 4,
"parent_code" : "F001"
}, {
"code" : "S002",
"label" : "Coiffant",
"label_translations" : [ {
"locale" : "fr",
"value" : "Coiffant"
} ],
"level" : 4,
"parent_code" : "F001"
}
}
- GET PM11 - Get the product attribute configuration
Via this call, we are able to obtain the attributes for the categories.
The link between categories and attributes is the code
= hierarchy_code
API Call: /api/products/attributes
API Docs: https://laredoutestg-stg.mirakl.net/help/api-doc/seller/mmp.html#PM11
{
"attributes" : [ {
"code" : "Product_Publication_ID",
"default_value" : null,
"description" : "Product Publication ID (ID500/ID600) ",
"description_translations" : [ {
"locale" : "fr",
"value" : "Product Publication ID (ID500/ID600) "
} ],
"example" : null,
"hierarchy_code" : "",
"label" : "Product Publication ID (ID500/ID600)",
"label_translations" : [ {
"locale" : "fr",
"value" : "Product Publication ID (ID500/ID600)"
} ],
"required" : false,
"requirement_level" : "OPTIONAL",
"roles" : [ ],
"type" : "TEXT",
"type_parameter" : null,
"type_parameters" : null,
"values" : null,
"values_list" : null,
"variant" : false
}, {
"code" : "Category",
"default_value" : null,
"description" : "Product category",
"description_translations" : [ {
"locale" : "fr",
"value" : "Product category"
} ],
"example" : null,
"hierarchy_code" : "",
"label" : "Category",
"label_translations" : [ {
"locale" : "fr",
"value" : "Category"
} ]
}
Please note there are a lot of attributes which are only for internal use and we need to define them as skipped attributes and do not validate them:
Product_Publication_ID
ConceptNumber
ClapID
Product_Alt_Cod
ProductTitle[en_EN]
Description[en_EN]
Video
Animation_Image01
Animation_Image02
Animation_Image03
Animation_Image04
Animation_Image05
Animation_Image06
Animation_Image07
Animation_Image08
Animation_Image09
Animation_Image10
Animation_Image11
Animation_Image12
Animation_Image13
Animation_Image14
Animation_Image15
Animation_Image16
Animation_Image17
Animation_Image18
Animation_Image19
Animation_Image20
Animation_Image21
Animation_Image22
Animation_Image23
Animation_Image24
Animation_Image25
Animation_Image26
Animation_Image27
Animation_Image28
Animation_Image29
Animation_Image30
Animation_Image31
Animation_Image32
Animation_Image33
Animation_Image34
Animation_Image35
Animation_Image36
Animation_Image37
Animation_Image38
Animation_Image39
Animation_Image40
Animation_Image41
Animation_Image42
Animation_Image43
Animation_Image44
Animation_Image45
Animation_Image46
Animation_Image47
Animation_Image48
360_Image01
360_Image02
360_Image03
360_Image04
360_Image05
360_Image06
360_Image07
360_Image08
360_Image09
360_Image10
360_Image11
360_Image12
360_Image13
360_Image14
360_Image15
360_Image16
360_Image17
360_Image18
360_Image19
360_Image20
360_Image21
360_Image22
360_Image23
360_Image24
360_Image25
360_Image26
Trigger_Synchro_Semarchy_TimeStamp
Image_Dimensions
Master_Product_Alternative_Image1
Master_Product_Alternative_Image2
Master_Product_Alternative_Image3
Master_Product_Alternative_Image4
Master_Product_Alternative_Image5
Master_Product_Alternative_Image6
Master_Product_Alternative_Image7
Master_Product_Alternative_Image8
Master_Product_Alternative_Image9
Master_Product_Alternative_Image10
- GET VL11 - Get information about operator's value lists
With this API call, we get all available values for each attribute.
The link between attributes and values is type_parameter
= code
API Call: /api/values_lists
API Docs: https://laredoutestg-stg.mirakl.net/help/api-doc/seller/mmp.html#VL11
{
"values_lists" : [ {
"code" : "VA0066",
"label" : "Longueur jupe robe",
"label_translations" : [ {
"locale" : "fr",
"value" : "Longueur jupe robe"
} ],
"values" : [ {
"code" : "V000288",
"label" : "Longue",
"label_translations" : [ {
"locale" : "fr",
"value" : "Longue"
} ]
}, {
"code" : "V000289",
"label" : "Genou",
"label_translations" : [ {
"locale" : "fr",
"value" : "Genou"
} ]
}, {
"code" : "V000291",
"label" : "Courte",
"label_translations" : [ {
"locale" : "fr",
"value" : "Courte"
} ]
}, {
"code" : "V092215",
"label" : "Midi, 3/4",
"label_translations" : [ {
"locale" : "fr",
"value" : "Midi, 3/4"
} ]
} ]
}, {
"code" : "VA0022",
"label" : "Matière vetements",
"label_translations" : [ {
"locale" : "fr",
"value" : "Matière vetements"
} ],
"values" : [ {
"code" : "V000022",
"label" : "Synthétique",
"label_translations" : [ {
"locale" : "fr",
"value" : "Synthétique"
} ]
}
}
Taxonomy export file
In order to generate the taxonomy file we will need to create a new record in Taxonomy export with: Marketplace = (v1.1) LaRedoute Mirakl 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 . Also we would like to NOT include the skipped attributes in the taxonomy export file.
The file name need to be the category navigation path.
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 |