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="false">
        <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>
        <stock id="Spain">
          <available>true</available>
          <price>230.30</price>
          <oldprice>252</oldprice>
          <url>http://example.com/product/id1637</url>
          <picture>http://example.com/images/1637_2.jpg</picture>
        </stock>
        <stock id="Italy">
          <available>false</available>
          <price>235</price>
          <oldprice>251.60</oldprice>
          <url>http://example.com/product/id1637</url>
          <picture>http://example.com/images/1637_2.jpg</picture>
        </stock>
      </offer>
      <offer id="1638" available="false">
        <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>
        <stock id="Spain">
          <available>true</available>
          <price>500</price>
          <oldprice>550</oldprice>
          <url>http://example.com/product/id1638</url>
          <picture>http://example.com/images/1638_2.jpg</picture>
        </stock>
        <stock id="Italy">
          <available>true</available>
          <price>540.50</price>
          <oldprice>600</oldprice>
          <url>http://example.com/product/id1638</url>
          <picture>http://example.com/images/1638_3.jpg</picture>
        </stock>
      </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 outside of stockId, always "false";
    • <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.
    • <stock> - declaration of a region (warehouse) of a product, subattributes of the element:
      • "id" - identifier of a region (warehouse). It could contain letters and numbers. For each region (warehouse), the required parameter is an availability. Availability is declared separately in the <available> tag.
    • <available> - indicates the availability (absence) of the product offer. It could be true or false. Each parameter <stock> could contain additional parameters <price>, <oldprice>, <description> to personalize information for this region (warehouse). If these parameters are not specified, the information from the main offer will be used.

    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;