Product Feed

The product feed is the primary means of keeping your products catalog synchronized with Boomtrain Commerce. This information, together with the data tracked by the JavaScript tracker, allows Boomtrain to determine each visitor’s preferences in relation to product characteristics (such as brand, category, price, and other attributes) and make relevant product recommendations.

Security Recommendations

To secure the feed data transfer, make the feed accessible using HTTP basic access authentication over HTTPS (http://en.wikipedia.org/wiki/Basic_access_authentication).

Additionally, please make the feed accessible only from Boomtrain's IPs:
5.9.21.130
5.9.21.154
136.243.8.5
136.243.8.59
144.76.102.133

The Feed Structure

The feed can be provided in JSON or XML format.

For each product please include the following product attributes. The mandatory fields are necessary for minimal functioning of the recommendation engine. For best results, please include as much data for each product as you have.

attributemandatory?typedescription
productidyesnumeric or stringthe same unique product identified (ID or SKU) as that provided via the JavaScript tracker
titleyesstringproduct title
urlyesstringproduct URL (including http://)
imgyesstringthumbnail image URL (including http://)
priceyesfloatproduct price
stockyesboolthe number of items in stock (or 1 to signal the product is in stock if exact quantity is not available)
currency_1nostringmain currency
price_1nofloatproduct price
currency_2nostringadditional currency (for multi-currency shops)
price_2nofloatproduct price in second currency
currency_nnostringadditional product currencies
price_nnofloatproduct price in additional currencies
oldpricenofloatthe original product price prior to discount (for discounted items)
discountnoboolthe discount of the product in percents (for discounted items)
ratingnofloatproduct rating
prioritynoboolshould the product have priority in recommendations?
isonsalenoboolis the product on sale?
isnewnoboolis the product recently added to the catalog?
cat1nostringthe title of the root category in which the product can be found
cat1urlnostringthe URL of the root category
cat2nostringthe title of the level 2 category
cat2urlnostringthe URL of the level 2 category
cat3nostringthe title of the level 3 category
cat3urlnostringthe URL of the level 3 category
colornostringthe product color
brandnostringthe product brand
gendernostringthe product gender

Notes:

  • Please be sure to include all the products available on your site – even those currently out of stock
  • For the URL fields please provide the exact URLs used on-site and make sure these do not redirect.
  • All the URLs must use the same HTTP/HTTPS protocol.

JSON Feed Format

Please use the following format for your JSON feeds. To check for validity you can use a validator such as that at http://jsonlint.com/.

{
"products" :[
  {
    "productid": "903360000100",
    "description": "The product description",
    "oldprice": "123.45", //The old price of the product (numeric format)
    "discount": "25%", //The discount of the product (as percent)
    "rating": "4.5", //The rating of the product (if available)
    "priority": "0", //Has the product priority in recommendations? (1/0)
    "isonsale": "1", //Is the product on sale? (1/0)
    "isnew": "0", //Is the product recently added to the catalog? (1/0)
    "cat1": "Category 1", //The title of the main category in which the product can be found
    "cat1url": "https://url.com/category1", //The URL of the main category in which the product can be found
    "cat2": "Category 2",
    "cat2url": "https://url.com/category2",
    "cat3": "Category 3",
    "cat3url": "https://url.com/category3",
    "color": "green", //The color specific to the product (if available)
    "brand": "Boomtrain", //The brand of the product (if available)
    "gender": "F" //The gender specific to the product (if available)
  },
  {
    "description": "Other product description",
    "oldprice": "123.45", //The old price of the product (numeric format)
    "discount": "25%", //The discount of the product (as percent)
    "rating": "9.5", //The rating of the product (if available)
    "priority": "1", //Has the product priority in recommendations? (1/0)
    "isonsale": "1", //Is the product on sale? (1/0)
    "isnew": "0", //Is the product recently added to the catalog? (1/0)
    "cat1": "Category 1", //The title of the main category in which the product can be found
    "cat1url": "https://url.com/category1", //The URL of the main category in which the product can be found
    "cat2": "Category 5",
    "cat2url": "https://url.com/category5",
    "cat3": "Category 6",
    "cat3url": "https://url.com/category6",
    "color": "blue", //The color specific to the product (if available)
    "brand": "Boomtrain", //The brand of the product (if available)
    "gender": "F" //The gender specific to the product (if available)
  }]
}

XML Feed Format

If you choose to use an XML feed, please use the following format. Once implemented, you can check it for validity using an online tool such as that at http://www.w3schools.com/xml/xml_validator.asp.

<?xml version="1.0" encoding="UTF-8" ?>
  <products>
    <product>
        <productid>903360000100</productid>
        <title><![CDATA[ The title of the product.]]></title>
        <url><![CDATA[ The URL of the product.]]></url>
        <img><![CDATA[ The image URL source of the product.]]></img>
        <price>199.99</price>
        <stock>1/0</stock>
        <description><![CDATA[ The product description.]]></description>
        <oldprice>399.98</oldprice>
        <discount>-50%</discount>
        <brand><![CDATA[ The brand of the product.]]></brand>
        <color><![CDATA[ The color specific to the product.]]></color>
        <cat1><![CDATA[ The title of the main product category.]]></cat1>
        <cat1url><![CDATA[ The URL of the main product category.]]></cat1url>
        <cat2><![CDATA[ The title of the 2nd level product category.]]></cat2>
        <cat2url><![CDATA[The URL of the 2nd level product category.]]></cat2url>
        <cat3><![CDATA[The title of 3rd level product category.]]></cat3>
        <cat3url><![CDATA[The URL of the 3rd level product category.]]></cat3url>
        <gender><![CDATA[The gender specific to the product.]]></gender>
    </product>
  	...
  </products>

The Catalog Sync Frequency

The default frequency at which Boomtrain will read the product catalog is 1 hour. This value is adjustable depending on the frequency of your catalog changes. If the default value is not optimal for your shop, please advise your account manager.