Skip to main content

Simple Retino XML Feed

O
Written by Ondřej Průša
Updated yesterday

This article describes a simplified XML feed version for basic Retino Tracking integration. The feed contains only the necessary data for tracking shipments.

Basic Feed Structure

Every XML feed must start with a standard header and contain the root element ORDERS. The feed uses UTF-8 encoding:

<?xml version="1.0" encoding="UTF-8"?>
<ORDERS>
    <ORDER>
        <!-- order data -->
    </ORDER>
</ORDERS>

Required Elements

For basic shipment tracking, you need these elements in each order:

Element

Description

Format

ORDER_ID

Internal order ID in your system

Text (max. 255 characters)

CODE

Order number visible to the customer

Text (max. 255 characters)

DATE

Order creation date and time

YYYY-MM-DD HH:mm:ss

CURRENCY/CODE

Order currency

Currency code (e.g., CZK)

CUSTOMER

Customer information

Complex element (see below)

TOTAL_PRICE

Pricing data

Complex element (see below)

ORDER_ITEMS

Order item list

At least one item

PACKAGE_NUMBER

Shipment number

At least one item

CUSTOMER Element Structure

  • EMAIL - Customer email address (required)

  • BILLING_ADDRESS - Billing address with all details (required)

    • NAME - Customer name

    • STREET - Street

    • CITY - City

    • ZIP - Postal code

    • COUNTRY - Country

  • SHIPPING_ADDRESS - Shipping address with the same structure as billing

TOTAL_PRICE Element Structure

  • WITH_VAT - Price including VAT (required)

  • WITHOUT_VAT - Price excluding VAT (required)

Order Items Structure

Each item in the ORDER_ITEMS element must contain at least:

  • TYPE - Item type (required)

  • NAME - Item name (required)

  • AMOUNT - Quantity (required)

  • CODE - Item code (required)

  • UNIT_PRICE - Unit price (required)

  • TOTAL_PRICE - Total price (required)

Item Types

For correct tracking functionality, we distinguish these item types:

  • product - Product/goods

  • billing - Payment (e.g., cash on delivery)

  • shipping - Shipping

Cash on Delivery Order Detection. If the order is cash on delivery, add an item of type "billing" with the name "Cash on Delivery" to ORDER_ITEMS. This allows us to reliably detect cash on delivery orders.

Example Minimal Feed

Example of a complete feed with one cash on delivery order:

<?xml version="1.0" encoding="UTF-8"?>
<ORDERS>
    <ORDER>
        <ORDER_ID>12345</ORDER_ID>
        <CODE>2024001</CODE>
        <DATE>2024-02-20 14:30:00</DATE>
        <CURRENCY>
            <CODE>CZK</CODE>
        </CURRENCY>
        <PACKAGE_NUMBER>DR1234567890</PACKAGE_NUMBER>
        <CUSTOMER>
            <EMAIL>[email protected]</EMAIL>
            <BILLING_ADDRESS>
                <NAME>Jan Novák</NAME>
                <STREET>Hlavní 123</STREET>
                <CITY>Praha</CITY>
                <ZIP>110 00</ZIP>
                <COUNTRY>CZ</COUNTRY>
            </BILLING_ADDRESS>
            <SHIPPING_ADDRESS>
                <NAME>Jan Novák</NAME>
                <STREET>Hlavní 123</STREET>
                <CITY>Praha</CITY>
                <ZIP>110 00</ZIP>
                <COUNTRY>CZ</COUNTRY>
            </SHIPPING_ADDRESS>
        </CUSTOMER>
        <TOTAL_PRICE>
            <WITH_VAT>1549.00</WITH_VAT>
            <WITHOUT_VAT>1280.17</WITHOUT_VAT>
        </TOTAL_PRICE>
        <ORDER_ITEMS>
            <ITEM>
                <TYPE>product</TYPE>
                <NAME>Test product</NAME>
                <AMOUNT>1</AMOUNT>
                <CODE>TEST01</CODE>
                <UNIT_PRICE>
                    <WITH_VAT>1499.00</WITH_VAT>
                    <WITHOUT_VAT>1238.84</WITHOUT_VAT>
                    <VAT>260.16</VAT>
                    <VAT_RATE>21</VAT_RATE>
                </UNIT_PRICE>
                <TOTAL_PRICE>
                    <WITH_VAT>1499.00</WITH_VAT>
                    <WITHOUT_VAT>1238.84</WITHOUT_VAT>
                    <VAT>260.16</VAT>
                    <VAT_RATE>21</VAT_RATE>
                </TOTAL_PRICE>
            </ITEM>
            <ITEM>
                <TYPE>billing</TYPE>
                <NAME>Cash on Delivery</NAME>
                <AMOUNT>1</AMOUNT>
                <CODE>COD</CODE>
                <UNIT_PRICE>
                    <WITH_VAT>50.00</WITH_VAT>
                    <WITHOUT_VAT>41.33</WITHOUT_VAT>
                    <VAT>8.67</VAT>
                    <VAT_RATE>21</VAT_RATE>
                </UNIT_PRICE>
                <TOTAL_PRICE>
                    <WITH_VAT>50.00</WITH_VAT>
                    <WITHOUT_VAT>41.33</WITHOUT_VAT>
                    <VAT>8.67</VAT>
                    <VAT_RATE>21</VAT_RATE>
                </TOTAL_PRICE>
            </ITEM>
        </ORDER_ITEMS>
    </ORDER>
</ORDERS>

Implementation and Setup

Basic Recommendations

  • The feed should contain orders from the last 7 days

  • Update the feed at least every 6 hours

  • Set the server response timeout to a maximum of 60 seconds

  • Use HTTPS for secure transmission

Feed Security

To protect your data, we recommend one of these approaches:

Important Notes

  • Retino automatically downloads the feed every 6 hours

  • Orders are paired based on the CODE element

  • Existing orders will be updated if found

  • The feed must be accessible on a public HTTPS address

Extensions for Returns and Claims

This feed contains all required elements according to the XSD schema. For more advanced return and claim features, you can add additional optional elements.

Feed Validation

For validating the data format in your XML feed, you can use an XSD file. Download the feed schema file below:

Alternatively, you can use the validator on our website.

Full documentation of all optional elements can be found in the Retino XML feed documentation.

Did this answer your question?