XML data feed example
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2018-09-25 17:22">
  <shop>
    <categories>
      <category id="1278">Electronics</category>
      <category id="1293" parentId="1278">Smartphones</category>
      <category id="1345" parentId="1278">Phones</category>
      <category id="3761" parentId="1278">TVs</category>
      <category id="1553" parentId="3761">Media-players</category>
      <category id="3798">Appliances</category>     
    </categories>
    <offers>
      <offer id="1637" available="true" group_id="12345">
        <url>http://example.com/product/id1637</url>
        <price>226.50</price>
        <oldprice>250</oldprice>
        <categoryId>1293</categoryId>
        <categoryId>1345</categoryId>
        <picture>http://example.com/images/1637_1.jpg</picture>
        <name>Product 1</name>
        <param name="Color">Black</param>
        <description>Description of the product 1637</description>
        <vendor>Vendor name</vendor>
        <model>Model of the product</model>
      </offer>
      <offer id="1638" available="false" group_id="12345">
        <url>http://example.com/product/id1638</url>
        <price>545.30</price>
        <categoryId>1293</categoryId>
        <categoryId>1345</categoryId>
        <picture>http://example.com/images/1638_1.jpg</picture>
        <name>Product 2</name>
        <param name="Color">White</param>
        <description>Description of the product 1638</description>
        <vendor>Vendor name</vendor>
        <model>Model of the product</model>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Required parameters of the XML:

  • <?xml version="1.0" encoding="UTF-8"?> - standard XML header. Must start with the first line, with a null character.
  • <yml_catalog> - denotes the beginning of the XML file, where:
      • "date" - integration date of the XML file. The date should be in the format YYYY-MM-DD hh:mm.
    • <shop> - includes information of categories and products.
    • <categories> - includes declaration of all categories.
    • <category> declaration of a single category. Attributes of an element:
      • "id" - number, identifier of a category;
      • "parentId" - identifier of a parent category (creates nesting).
    • <offers> - includes declaration of all product offers.
    • <offer> - declaration of a single product offer. Attributes of an element:
      • "id" - number, identifier of a product;
      • "available" - specifies the product's availability status. It could be true or false;
      • "group_id" - number, identifier of a products group. Combines all offers that are variations of the same product. It should have the same value. The value must be an integer. If the product is not a group offer, then the identifier of the product offer must be passed to the parameter.
    • <name> - name of a product offer.
    • <url> -  link to a product page of a product offer. The link should be permanent, begin with http or https.
    • <picture> - link to a picture of a product offer. The link should be permanent, begin with http or https. Images should have resolution lower than 400x400px or their size should be lower than 1 MB. Pictures format JPEG or PNG. We recommend to use images from category page. These images will be used in recommendation blocks and trigger emails.
    • <price> - A price for a product offer, no spaces, the fractional part is indicated by a dot.
    • <categoryId> - number, identifier of a products category. It could be specified several times. One parameter should contain only one identifier.

    Optional parameters:

    • <description> - description of a product. The description could contain html code. In order to use html you should "wrap" description in <![CDATA[<description with html>]]>. Note, that description should not exceed 200 characters.
    • <oldprice> - old price of a product, no spaces, the fractional part is indicated by a dot.
    • <vendor> - products vendor name.
    • <model> - products model.
    • <param name> - Each product offer you could contain up to 40 additional parameters. Usually, these parameters are the volume, type of material, the size of the diagonal, the size of the discount and others. Additional parameters are taken into account in calculating recommendations and could be displayed in emails and widgets. The maximum length of parameter values is 300 characters.

    Example:

    <param name="Material">Steel</param>

    Additional information
    1. To achieve the most accurate recommendations, the Retail Rocket system requests a XML file every few hours. It is recommended to generate a file on a schedule at least once every 3 hours.
    2. When XML file is requested Http-headers must be returned in less than 10 seconds.
    3. Id of a product, group or a category should not exceed the number 9 007 199 254 740 991.
    4. In order to reduce the loads on your website and speed up the XML update time, we recommend you the following:
      • using ETag;
      • archive the XML file with GZip.
    5. A product should have only one picture. If there are more than one <picture> parameters, they would be ignored.
    6. Any product that missing required parameter or its content is empty is ignored by the system.
    7. The following symbols should be replaced:
        "     =>  &quot;
        >     =>  &gt;
        <     =>  &lt;
        &     =>  &amp;
        '     =>  &apos;