Full Feed JSON Data Format
This page describes the data format to follow when implementing a JSON integration with Fredhopper.
Overview
Fredhopper uses 3 JSON files to model your item data and import this into FAS. These are:
meta.json
Defines the hierarchical category structure for the product catalogue and lists all of the attributes that are used, including their base-type.
products-n.json
Defines products and associates them with categories.Defines products, associates them with categories and lists the actual values for each product / attribute combination.
variants-n.json
Defines variants, associates them with a product and lists the actual values for each variant / attribute combination (optional).
If your data model is such that there is no concept of variants, then the variants JSON file(s) can be omitted.
The products and variants JSON files should only ever contain a maximum of 10,000 items within them in order to be processed successfully in a timely manner.
Additional files should be added and the item data should be split out when there are more than 10,000 products and/or 10,000 variants, e.g. products-0.json, products-1.json, products-2.json, variants-0.json, variants-1.json, variants-2.json etc.
meta.json
The meta.json file must adhere to the following guidelines:
All categories and the meta data for the attributes must be provided in a file named meta.json
UTF-8 encoded
Only printable characters, i.e. no control characters
All category_id values must start with a lowercase letter
The category_id values can only contain lowercase alphanumeric characters (a-z and 0-9)
The category_id values must never contain hyphens '-' or underscores '_'
The attribute_id values can only contain lowercase alphanumeric and underscore characters (a-z, 0-9 and _)
The best practice is to set the top-level category_id value as 'catalog01'
The top-level category is always a single category
Collection of meta attributes.
Attribute identifier. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
Attribute type.
Collection of attributes names.
Specified locale for the attribute name (i18n localisation, e.g. en_GB or fr_FR).
Localised attribute name.
Collection of all category trees.
Unique identifier of the category. A category_id should only ever contain lowercase alphanumeric characters only and should not contain underscores '_'. Whitespace, hypens, quotation marks, etc. are not allowed.
Collection of category names in different locales.
Locale for category name (i18n localisation, e.g. en_GB or fr_FR).
Category name in this particular locale.
Collection of child categories with the same structure.
Child category ID value. A category_id should only ever contain lowercase alphanumeric characters only and should not contain underscores '_'. Whitespace, hypens, quotation marks, etc. are not allowed.
Collection of Child category names in different locales.
Specifies locale for the Child category name (i18n localisation, e.g. en_GB or fr_FR).
Localised Child category name value.
Example
A single universe (catalog01) called 'Store' with one locale (en_GB)
products-n.json
Each products-n.json file must adhere to the following guidelines:
All products and their attributes must be provided in a file name products-0.json
A maximum of 10,000 product items should exist in each JSON file, with the file names increasing incrementally in ascending order where necessary, i.e. products-0.json, products-1.json, products-2.json etc.
UTF-8 encoded
Only printable characters (i.e. no control characters)
Line breaks and other formatting can be used within the attribute value fields only, e.g. the html tag <br> can be used to add a line break to descriptive text
The product_id values can only contain lowercase alphanumeric and underscore characters (a-z, 0-9 and _)
The value_id values can only contain lowercase alphanumeric and underscore characters (a-z, 0-9 and _)
Collection of all products.
Identifier of the product. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
Collection of locales (i18n localisation, e.g. en_GB or fr_FR).
Collection of product attributes.
Attribute identifier from the meta.json file. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
List of attributes values.
Language/country combination for which the value applies (i18n localisation, e.g. en_GB or fr_FR).
Unique identifier of the attribute value (this is only required for list and set attribute types). A unique value_id must be assigned to each unique value that exists for the attribute across the catalogue. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
Value of product attribute.
Example
Two products in one locale (en_GB) each with three attributes
You do not have to supply a locale value for attributes with non-localisable base-types int, float and text.
variants-n.json
Each variants-n.json file must adhere to the following guidelines:
All variants and their attributes must be provided in a file name variants-0.json
A maximum of 10,000 variant items should exist in each JSON file, with the file names increasing incrementally in ascending order where necessary, i.e. variants-0.json, variants-1.json, variants-2.json etc.
UTF-8 encoded
Only printable characters (i.e. no control characters)
Line breaks and other formatting can be used within the attribute value fields only, e.g. the html tag <br> can be used to add a line break to descriptive text
The variant_id values can only contain lowercase alphanumeric and underscore characters (a-z, 0-9 and _)
The value_id values can only contain lowercase alphanumeric and underscore characters (a-z, 0-9 and _)
Collection of all variants.
Identifier of the variant. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
Identifier of the product to which this variant is related. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
Collection of locales (i18n localisation, e.g. en_GB or fr_FR).
Collection of variant attributes.
Attribute identifier from the meta.json file. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
List of attributes values.
Language/country combination for which the value applies (i18n localisation, e.g. en_GB or fr_FR).
Unique identifier of the attribute value (this is only required for list and set attribute types). A unique value_id must be assigned to each unique value that exists for the attribute across the catalogue. Lowercase alphanumeric and underscore characters only (a-z, 0-9 and _). Whitespace, hypens, quotation marks etc. are not allowed.
Value of variant attribute.
Example
Two products that each have two variants which are based on different colour options
You do not have to supply a locale value for attributes with non-localisable base-types int, float and text.
Last updated