Catalogue¶
We provide a normalized data model to store and serve product information
The structure was designed to unify various models used by our customers
In addition to data extracted from customer feed, the catalogue is enriched with InStyle.ai analytics (see Product Tags, Similarity, Shop the look)
Data Model¶
The catalogue model is a tree structure consisting of following levels
- brand
The brand and its metadata, the point is not to store brand metadata with each product but rather only once.
- product
Product groups the common metadata for all its variants
- look
Visually distinct variant of a product (e.g. different color variants)
- variant
Variants of the look (e.g. different size variants)
- item
A particular instance of variant (e.g. could contain information like in-stock or condition)
Additionally we have separate entities for
- product-type
Validation schema for product attributes
- category
A category that groups products (e.g. female-dresses or back-friday-sale), each product can be included in multiple categories
- image
Product photo associated with look, each look can have multiple images
Our focus is on the look, since our analyses parse visual information, and therefore we store the results on this level of catalogue.
API Usage¶
The catalogue is updated automatically by processing customers feed, therefore you only need to worry about reading the data from catalogue.
For more details and complete list of available endpoints see interactive Integration.
Feed Parsing Example¶
Example item in google feed
<entry>
<g:id>1527-5371835</g:id>
<g:title>Firetrap Rhino Infant Boots</g:title>
<g:description><![CDATA[Firetrap Boty Rhino Dětské]]></g:description>
<g:link>https://sk.factcool.com/firetrap-rhino-infant-boots-02001403</g:link>
<g:image_link>https://i.factcool.com/cache2/1400x1400/catalog/products/1/92/f8/1-92-f802001403_xxl.jpg</g:image_link>
<g:brand>Firetrap</g:brand>
<g:mpn>02001403</g:mpn>
<g:gtin>2020014030907</g:gtin>
<g:condition>new</g:condition>
<g:adult>no</g:adult>
<g:availability>in stock</g:availability>
<g:price>0.0 EUR</g:price>
<g:size>C9 (27)</g:size>
<g:color>Black/Black</g:color>
<g:gender>unisex</g:gender>
<g:item_group_id>1527</g:item_group_id>
<g:google_product_category>187</g:google_product_category>
<g:product_type>Oblečení a doplňky > Obuv</g:product_type>
<g:custom_label_0>35</g:custom_label_0>
<g:custom_label_1>stock</g:custom_label_1>
<g:custom_label_2>0</g:custom_label_2>
<g:custom_label_3>0</g:custom_label_3>
<g:custom_label_4>0</g:custom_label_4>
</entry>
Parsed catalogue tree
{
"product_types": {
"all": {
"instance": {}
}
},
"catalog_images": {
"catalog/products/1/92/f8/1-92-f802001403_xxl.jpg": {
"instance": {
"url": "https://i.factcool.com/cache2/1400x1400/catalog/products/1/92/f8/1-92-f802001403_xxl.jpg",
}
}
},
"categories": {
"Oblečení a doplňky": {
"instance": {
"name": "Oblečení a doplňky"
},
"children": {
"Obuv": {
"instance": {
"name": "Obuv"
},
"children": {}
}
}
}
},
"brands": {
"Firetrap": {
"instance": {
"name": "Firetrap"
},
"products": {
"1527": {
"id": "1537",
"instance": {
"title": "Firetrap Rhino Infant Boots",
"description": "Firetrap Boty Rhino Dětské",
"link": "https://sk.factcool.com/firetrap-rhino-infant-boots-02001403",
"google_product_category": "187",
"gender": "unisex",
"adult": "no",
"mpn": "02001403",
"custom_labels": ["35", "stock", "0", "0", "0"]
},
"product_type_code": "all",
"category_paths": [["Oblečení a doplňky", "Obuv"]],
"looks": {
"1527": {
"id": "1527",
"instance": {
"color": "Black/Black"
},
"image_codes": ["catalog/products/1/92/f8/1-92-f802001403_xxl.jpg"],
"similar_look_paths": [],
"variants": {
"5371835": {
"id": "1527-5371835",
"instance": {
"gtin": "2020014030907",
"size": "C9 (27)",
"price": "0.0 EUR"
},
"items": {
"5371835": {
"id": "1527-5371835",
"instance": {
"condition": "new",
"availability": "in stock"
}
}
}
}
}
}
}
}
}
}
}
}