Setup and Data Examples
For this guide, you'll find a few examples on how to set up the various data feeds that are crucial to feeding Hello Retail with all the relevant data from your webshop. The examples are a part of the General setup — data synchronization requirements guide.
Product feed — sample product:
[ { "type": "configurable", "id": 917, "sku": "2heu28371prop", "ean": "1234576251872", "productNumber": "837192837217", "price": 100, "priceNoTax": 80, "previousPrice": 130, "previousPriceNoTax": 104, "hasPriceRange": false, "currency": "DKK", "title": "Cool Bike helmet", "description": "This bike helmet has a great fit with an adjustable strap. comes in two colors.", "hierarchies":[ [ "equipment", "bike equipment", "helmets" ], [ "equipment", "outlet" ] ], "attributes": { "color": [ "blue", "red" ], "size": [ "unisex" ] }, "keywords": "helmet safety cycling", "tags": [ "safety", "outdoor" ], "url": "https://www.domain.com/cool-bike-helmet", "imgUrl": "https://www.domain.com/cache/250x250/cool-bike-helmet.jpg", "secondaryImgUrls": [ "https://www.domain.com/cache/250x250/cool-bike-helmet-blue.jpg", "https://www.domain.com/cache/250x250/cool-bike-helmet-red.jpg", "https://www.domain.com/cache/250x250/cool-bike-helmet-2.jpg" ], "overlay": [ "https://www.domain.com/cache/25x25/saving-badge.jpg" ], "visibility": "search/catalog", "instock": true, "quantity": 5, "createdDate": "2019-05-12 10:04:05", "isNews": false, "variants": [ { "type": "variant", "id": "918", "sku": "2heu28371propblue", "ean": "1234576251823", "productNumber": "837192837218", "price": 100, "priceNoTax": 80, "previousPrice": 130, "previousPriceNoTax": 104, "hasPriceRange": false, "currency": "DKK", "title": "Cool Bike helmet blue", "description": "This blue bike helmet has a great fit with an adjustable strap. it also comes in red.", "hierarchies": [ [ "equipment", "bike equipment", "helmets" ], [ "equipment", "outlet" ] ], "attributes": { "color": [ "blue" ], "size": [ "unisex" ] }, "keywords": "helmet safety cycling", "tags": [ "safety", "outdoor" ], "url": "https://www.domain.com/cool-bike-helmet-918", "imgUrl": "https://www.domain.com/cache/250x250/cool-bike-helmet-blue.jpg", "secondaryImgUrls": [ "https://www.domain.com/cache/250x250/cool-bike-helmet-2.jpg" ], "overlay": [ "https://www.domain.com/cache/25x25/saving-badge.jpg" ], "visibility": "search/catalog", "instock": true, "quantity": 3, "createdDate": "2019-05-12 10:04:05", "isNews": false }, { "...": "...", "...": "..." } ] } ]
Back to General setup - data synchronization.
Sample order:
[ { "id": 888, "orderNumber": "91826od", "orderProducts": [ { "id": 144, "url": "https://www.domain.com/cool-bike-helmet", "productNumber": "738237238232", "quantity": 1, "price": 100, "priceNoTax": 80 }, { "id": 322, "url": "https://www.domain.com/bike-gloves", "productNumber": "837192837217-xxl", "quantity": 1, "price": 100, "priceNoTax": 80 } ], "createdDate": "2019-05-12 10:04:05", "total": 200, "email": "purchase@much.com" } ]
Back to General setup - data synchronization.
Sample category:
[ { "id": "72", "url": "https://www.domain.com/equipment/bike-equipment/helmets", "title": "Helmets", "hierarchy": [ "equipment", "bike equipment", "helmets" ], "keywords": "safety bike helmets", "description": "Helmets for everyone", } ]
Back to General setup - data synchronization.
productData fields specifications:
type: string
Configurable, simple, bundle, etc. whatever your shop platform calls the different product types.
id: string
Id of the product.
sku: string
Sku (Stock-keeping unit) of the product.
ean: string
Ean of the product.
productNumber: string
Product number of the product.
price: string or float
Current price in default or requested currency as shown on website incl. tax.
priceNoTax: string or float
Current price in default or requested currency as shown on website excl. tax.
previousPrice: string or float
The standard price in default or requested currency of the product incl. tax - will be the same as the price for products not on sale.
previousPriceNoTax: string or float
The standard price in default or requested currency of the product excl. tax - will be the same as priceNoTax for products not on sale.
hasPriceRange: bool
Indicates if the product is available in a range of prices (ie. through variants).
currency: string
Currency used for the price.
title: string
Product title in default or requested language.
description: string
Product description in default or requested language.
hierarchies: list of hierarchy lists
A hierarchy can be compared with the breadcrumb navigation on the site. It's a list of categories going from root category to the most nested subcategory in the hierarchical order.
Hierarchies are simply a list of hierarchies which is useful as products often exist in multiple categories.
If one of the hierarchies is to be considered a default then that should be listed first.
attributes: object with key-value pairs - each product attribute should be assigned here. key = attribute name, value = list of attribute values assigned to the product.
keywords: string
Product keywords separated by spaces.
tags: list
List of product tags
url: string
Product URL for default or requested language.
imgUrl: string
Default image URL - preferably scaled to the size used by the shops' catalog pages.
secondaryImgUrls: list
List of secondary/alternative image URL - preferably scaled to the size used by the shop's catalog pages.
overlay: list
A list of HTML, image URLs or others is used to display badges/overlays on the product tile.
visibility: string
Indicates the product's visibility setting - search, search/catalog, hidden, etc.
instock: bool
Indicates if the product is in stock or not.
quantity: string or number
Indicates the quantity in stock. For products with variants, it would be a sum of all the variants.
createdDate: string
The timestamp of the product creation date formatted as yyyy-MM-dd HH:mm:ss.
isNews: bool
It indicates if the product should be considered as news or not.
variants: list of productData
List of product variants. If one of the variants is to be considered a default then that should be listed first.
Back to General setup - data synchronization.