You are here: Pleisty > Docs


Setting Up the Products Data Feed


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

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.

attribute mandatory? type description
productid yes numeric or string the same unique product identified (ID or SKU) as that provided via the JavaScript tracker
title yes string product title
url yes string product URL (including http://)
img yes string thumbnail image URL (including http://)
in_stock yes bool 1 if the product is in stock, 0 otherwise
currency yes string base currency
price yes float product price in base currency
oldprice no float the original product price prior to discount (for discounted items)
discount no float the discount of the product as percent of the full price (for discounted items)
cat1 yes string the title of the root category in which the product can be found
cat1url yes string the URL of the root category
cat2 no string the title of the level 2 category
cat2url no string the URL of the level 2 category
cat3 no string the title of the level 3 category
cat3url no string the URL of the level 3 category
brand no string the product brand
description no string short product description
price_1 no float product price in first currency (only for multi-currency shops)
currency_1 no string first currency (only for multi-currency shops)
price_2 no float product price in second currency (only for multi-currency shops)
currency_2 no string second currency (only for multi-currency shops)
price_n no float product price in additional currencies
currency_n no string additional currencies
... additional atributes (examples below) no string custom product attributes
isnew no bool is the product recently added to the catalog?
color no string the product color
gender no string the product gender

Notes:

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" :[
  {
    "product_id": "903360000100", //The same unique product identified (ID or SKU) as that provided via the JavaScript tracker
    "title": "Product title",
    "url": "Product URL (including http://)",
    "img": "Thumbnail image URL (including http://)",
    "in_stock": "1", //1 if the product is currently in stock, 0 otherwise
    "currency": "USD", //Base currency
    "price": "123.45", //Product price in base currency
    "oldprice": "199.99", //The product price prior to discount (for discounted items)
    "discount": "40%", //The product discount percentage (for discounted items)
    "cat1": "Category 1", //The title of the root category in which the product can be found
    "cat1url": "https://url.com/category1", //The URL of the root category in which the product can be found
    "cat2": "Category 2", //The title of the level 2 category
    "cat2url": "https://url.com/category2", //The URL of the level 2 category
    "cat3": "Category 3", //The title of the level 3 category
    "cat3url": "https://url.com/category3", //The URL of the level 3 category
    "brand": "The brand of the product",
    "description": "The short description of the product",
    "price_1": "The product price in first currency (only for multi currency shops)",
    "currency_1": "First currency (only for multi currency shops)",
    "price_2": "The product price in second currency (only for multi currency shops)",
    "currency_2": "Second currency (only for multi currency shops)",
    "price_n": "The product price in additional currencies (only for multi currency shops)",
    "currency_n": "Additional product currencies (only for multi currency shops)",
    "isnew": "0", //Is the product recently added to the catalog? (1/0)
    "color": "green", //The color of the product (if available)
    "gender": "F" //The gender for which the product is intended (if available)
  },
  {
    "product_id": "903360000101", //The same unique product identified (ID or SKU) as that provided via the JavaScript tracker
    "title": "Product title",
    "url": "Product URL (including http://)",
    "img": "Thumbnail image URL (including http://)",
    "in_stock": "1", //1 if the product is currently in stock, 0 otherwise
    "currency": "USD", //Base currency
    "price": "75.00", //Product price in base currency
    "oldprice": "150.00", //The product price prior to discount (for discounted items)
    "discount": "50%", //The product discount percentage (for discounted items)
    "cat1": "Category 1", //The title of the root category in which the product can be found
    "cat1url": "https://url.com/category1", //The URL of the root category in which the product can be found
    "cat2": "Category 2", //The title of the level 2 category
    "cat2url": "https://url.com/category2", //The URL of the level 2 category
    "cat3": "Category 3", //The title of the level 3 category
    "cat3url": "https://url.com/category3", //The URL of the level 3 category
    "brand": "The brand of the product",
    "description": "The short description of the product",
    "price_1": "The product price in first currency (only for multi currency shops)",
    "currency_1": "First currency (only for multi currency shops)",
    "price_2": "The product price in second currency (only for multi currency shops)",
    "currency_2": "Second currency (only for multi currency shops)",
    "price_n": "The product price in additional currencies (only for multi currency shops)",
    "currency_n": "Additional product currencies (only for multi currency shops)",
    "isnew": "1", //Is the product recently added to the catalog? (1/0)
    "color": "red", //The color of the product (if available)
    "gender": "M" //The gender for which the product is intended (if available)
  }]
}

JSON Lines Feed Format

You can also format the feed by the JSON Lines standard. See http://jsonlines.org/ for more details.

You need to keep the same format for each product as in the JSON Feed Format but have one product per line

{"product_id": "903360000101", ...}
{"product_id": "903360000102", ...}
...

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>
    <product_id>903360000100</product_id>
    <title><![CDATA[ Product title ]]></title>
    <url><![CDATA[ Product URL (including http://) ]]></url>
    <img><![CDATA[ Thumbnail image URL (including http://) ]]></img>
    <in_stock>0/1</in_stock>
    <currency><![CDATA[ USD ]]></currency>
    <price>123.45</price>
    <oldprice>199.99</oldprice>
    <discount>40%</discount>
    <cat1><![CDATA[ The title of the root category of the product ]]></cat1>
    <cat1url><![CDATA[ The URL of the root category ]]></cat1url>
    <cat2><![CDATA[ The title of the level 2 category ]]></cat2>
    <cat2url><![CDATA[ The URL of the level 2 category ]]></cat2url>
    <cat3><![CDATA[ The title of the level 3 category ]]></cat3>
    <cat3url><![CDATA[ The URL of the level 3 category ]]></cat3url>
    <brand><![CDATA[ The brand of the product ]]></brand>
    <description><![CDATA[ The short description of the product ]]></description>
    <price_1>The product price in first currency (only for multi currency shops)</price_1>
    <currency_1><![CDATA[ First currency (only for multi currency shops) ]]></currency_1>
    <price_2>The product price in second currency (only for multi currency shops)</price_2>
    <currency_2><![CDATA[ Second currency (only for multi currency shops) ]]></currency_2>
    <price_n>The product price in additional currencies (only for multi currency shops)</price_n>
    <currency_n><![CDATA[ Additional product currencies (only for multi currency shops) ]]></currency_n>
    <isnew>0/1</isnew>
    <color><![CDATA[ green ]]></color>
    <gender><![CDATA[ F ]]></gender>
  </product>

<product> <product_id>903360000101</product_id> <title><![CDATA[ Product title ]]></title> <url><![CDATA[ Product URL (including http://) ]]></url> <img><![CDATA[ Thumbnail image URL (including http://) ]]></img> <in_stock>0/1</in_stock> <currency><![CDATA[ USD ]]></currency> <price>75.00</price> <oldprice>150.00</oldprice> <discount>50%</discount> <cat1><![CDATA[ The title of the root category of the product ]]></cat1> <cat1url><![CDATA[ The URL of the root category ]]></cat1url> <cat2><![CDATA[ The title of the level 2 category ]]></cat2> <cat2url><![CDATA[ The URL of the level 2 category ]]></cat2url> <cat3><![CDATA[ The title of the level 3 category ]]></cat3> <cat3url><![CDATA[ The URL of the level 3 category ]]></cat3url> <brand><![CDATA[ The brand of the product ]]></brand> <description><![CDATA[ The short description of the product ]]></description> <price_1>The product price in first currency (only for multi currency shops)</price_1> <currency_1><![CDATA[ First currency (only for multi currency shops) ]]></currency_1> <price_2>The product price in second currency (only for multi currency shops)</price_2> <currency_2><![CDATA[ Second currency (only for multi currency shops) ]]></currency_2> <price_n>The product price in additional currencies (only for multi currency shops)</price_n> <currency_n><![CDATA[ Additional product currencies (only for multi currency shops) ]]></currency_n> <isnew>0/1</isnew> <color><![CDATA[ red ]]></color> <gender><![CDATA[ M ]]></gender> </product> </products>

The Catalog Sync Frequency

The default frequency at which Pleisty will read the products feed 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.





Questions about installing Pleisty?
Get in touch