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 Colors, 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 OpenAPI docs.

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 &gt; 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"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}