The Retino Products XML feed is a key tool for synchronizing your e-shop's product catalog with the Retino system. This integration allows you to use advanced features such as creating stock claims, searching for products by code or EAN, and other advanced product management options.
What is the Retino Products XML feed for?
The product feed primarily serves these purposes:
Creating stock claims in the Supplier Complaints add-on without the need for an existing customer claim.
Quickly searching for products by code, name, EAN, or other parameters.
Obtaining precise product information, including prices, categories, and stock levels.
Detailed product descriptions for better claim management.
Important Note. If you are using the Shoptet platform, products are automatically synchronized from your e-shop via the API, and there is no need to configure the XML feed described in this article.
XML Feed Structure
The product feed has a clearly defined structure that must be followed for proper functionality:
Basic Document Structure
The feed begins with an XML header with version 1.0 and UTF-8 encoding (we only support UTF-8). Then follows the paired tag PRODUCTS
, containing all products, each in a separate PRODUCT
tag.
Example of basic structure:
<?xml version="1.0" encoding="UTF-8"?> <PRODUCTS> <PRODUCT> <!-- product details --> </PRODUCT> <PRODUCT> <!-- details of another product --> </PRODUCT> <!-- other products --> </PRODUCTS>
Individual Product Structure
Each product contains a number of tags with product information. Here's a complete example of a single product structure:
<PRODUCT> <!-- Identifiers --> <CODE>product-code</CODE> <EXTERNAL_ID>external-id-1</EXTERNAL_ID> <PRODUCT_ID>1234567890123</PRODUCT_ID> <EAN>1234567890123</EAN> <!-- Description --> <NAME>Product 1</NAME> <DESCRIPTION>Product description</DESCRIPTION> <VARIANT>Variant</VARIANT> <SUPPLIER>Supplier</SUPPLIER> <MANUFACTURER>Manufacturer</MANUFACTURER> <CATEGORY>Category</CATEGORY> <!-- Links --> <IMG_URL>http://www.example.com/image.jpg</IMG_URL> <URL>http://www.example.com/product.html</URL> <!-- Price --> <PRICE>100</PRICE> <CURRENCY>EUR</CURRENCY> <VAT_PERCENT>20</VAT_PERCENT> <VAT_INCLUDED>0</VAT_INCLUDED> <!-- Stock --> <STOCK_IS_AVAILABLE>1</STOCK_IS_AVAILABLE> <STOCK_QUANTITY>10</STOCK_QUANTITY> <STOCK_UNIT>pcs</STOCK_UNIT> <!-- Offering other products --> <RELATED_PRODUCTS>related-product-code-1,related-product-code-2</RELATED_PRODUCTS> <ALTERNATIVE_PRODUCTS>alternative-product-code-1,alternative-product-code-2</ALTERNATIVE_PRODUCTS> </PRODUCT>
Product Feed Field Descriptions
Field Name | Type | Required | Description |
CODE | VARCHAR(255) | Yes | Product code visible to the customer |
EXTERNAL_ID | VARCHAR(255) | Yes | External system product ID |
PRODUCT_ID | VARCHAR(255) | Yes | Product ID |
EAN | VARCHAR(255) | No | Product EAN code |
NAME | VARCHAR(255) | Yes | Product name |
DESCRIPTION | VARCHAR(255) | No | Product description |
VARIANT | VARCHAR(255) | No | Product variant |
SUPPLIER | VARCHAR(255) | No | Product supplier |
MANUFACTURER | VARCHAR(255) | No | Product manufacturer |
CATEGORY | VARCHAR(255) | No | Product category |
IMG_URL | VARCHAR(255) | No | Product image URL |
URL | VARCHAR(255) | No | Product URL on your e-shop |
PRICE | DECIMAL | Yes | Product price (with or without VAT, depending on VAT_INCLUDED) |
CURRENCY | VARCHAR(3) | Yes | Currency in ISO 4217 format (CZK, EUR...) |
VAT_PERCENT | DECIMAL | Yes | VAT rate in percentage (e.g., 21) |
VAT_INCLUDED | 1 or 0 | Yes | Is VAT included? (1 = yes, 0 = no) |
STOCK_IS_AVAILABLE | 1 or 0 | No | Is the product in stock? (1 = yes, 0 = no) |
STOCK_QUANTITY | DECIMAL | No | Number of stock units |
STOCK_UNIT | VARCHAR(255) | No | Stock unit (pcs, kg,...) |
RELATED_PRODUCTS | VARCHAR | No | Comma-separated codes of related products |
ALTERNATIVE_PRODUCTS | VARCHAR | No | Comma-separated codes of alternative products |
How the Product Feed Synchronization Works
The process of synchronizing products from your e-shop to Retino is straightforward:
Create an XML feed according to the structure above, containing all your products.
Place the feed on a publicly accessible URL.
Send this URL to [email protected].
Retino will download the data from this address once a day.
Security Recommendations
Data transfer occurs over HTTPS, and we recommend securing it in one of these ways:
HTTP Basic Authentication - the most secure solution, requiring a username and password to access the feed.
"Unpredictable" URL - if HTTP Basic Authentication is not possible, place the feed on a URL with a random identifier, e.g.,
www.your-eshop.com/feeds/9b9972387feb11eabc550242ac130003.xml
Technical Note: Your server must return a response within 60 seconds of the request.
Correct Data Formatting in XML
When preparing the XML feed, pay attention to several technical aspects:
Working with Special Characters
The XML format does not allow certain characters like <, >, or & within strings. You have two options for handling this:
Replace special characters with their XML entities:
< replaced with <
> replaced with >
& replaced with &
Wrap the tag content within a CDATA entity (recommended approach).
Incorrect example (XML parser will throw an error):
<NAME>Slim&Sun 100 tablet</NAME>
Correct example (using CDATA):
<NAME><![CDATA[Slim&Sun 100 tablet]]></NAME>
Format of Numerical Values
When entering numerical values in the PRICE
, VAT_PERCENT
, or STOCK_QUANTITY
tags, follow these rules:
Use a decimal point (.) to separate decimal places.
Do not use a thousands separator.
Do not include the currency with the value (currency belongs to the
CURRENCY
tag).
Correct examples:
<PRICE>1299.90</PRICE> <VAT_PERCENT>21</VAT_PERCENT> <STOCK_QUANTITY>42</STOCK_QUANTITY>
Validating the Feed
To verify the correctness of your XML feed format, you can use the XSD schema that defines all allowed elements and their structure:
You can use this schema in various XML validators to check if your feed meets all requirements.
Using the Product Feed in Retino
After successfully synchronizing the product feed, you can utilize various features in Retino:
Creating Stock Claims
When creating a "Supplier Complaint" type ticket, you can search for products from your catalog:
Enter at least 3 characters into the search field (name, code, EAN, etc.).
The system will display matching products.
Click the "+" button to add the product to the claim.
Fill in the necessary claim details (reason, proposed solution, etc.).
Searching for Products by Various Parameters
The product feed allows searching for products based on various criteria:
By product code (CODE)
By EAN code
By product name
By supplier (SUPPLIER)
By manufacturer (MANUFACTURER)
This search is available wherever you work with products within the Retino system.
Frequently Asked Questions
How often is the product feed updated?
Synchronization typically occurs once a day. If you require more frequent updates, please contact us at [email protected].
What if my XML feed structure changes?
Any changes to the feed structure need to be discussed with our support team to avoid disrupting synchronization.
Is it possible to use a format other than XML?
Currently, we only support the XML format according to the defined structure. For the Shoptet platform, we use direct API integration.
Can I include products from multiple e-shops in one feed?
No, a separate feed should exist for each e-shop.
What should I do if some fields are unavailable?
Fill in all required fields. You can leave out optional fields if the information is unavailable.
Technical Support
If you need assistance with creating or implementing the product feed, please contact us:
Email: [email protected]