Add a feed

Omnia imports your internal data through feeds. This article describes the technical requirements of feeds and explains step-by-step how to add feeds.

Technical Requirements

Depending on the modules you use, Omnia requires certain internal data points. The required data per module can be found here. This data gets imported into the system via feeds.

It is possible to connect multiple feeds to the system as long as they have a common denominator that lets the system link the datasets together. This allows you to easily feed in data from different systems such as stock information or revenue numbers. You can read more on linking feeds here.

Omnia can retrieve your feed via three different sources:

  • FTP
  • SFTP
  • HTTP(s)

For all sources, Omnia should be able to download the file immediately. This can include a username and password. However, this needs to be directly to the file location and not a portal with authentication requirements.

With an SFTP-connection you can also use public key authentication. The public key authentication is SSH2 encrypted. 

Our HTTP(S) connection method is using Basic Auth. When you want to set up an authentication method using HTTP(S) you can use the standard authorization fields in the HTTP header

Omnia can import data feeds in three different formats:

  1. CSV 
  2. XML
  3. JSON

CSV

A Comma Separated Values (CSV) file is a plain text file that contains a list of data.

Example

“ID”,”Product name”,”EAN”,”SKU”,”Brand”,”category”,”Price”,”Shipping_costs”

“1020403”,”Philips 9000 series 55POS901F/12”,”8718863010457”,”55POS901F/12”,”Philips”,”Television”,”2783”,”0”

“1020404”,”Motorola Moto G5 16GB / grijs”,”6947681538115”,”PA610000NL”,”Motorola,Smartphone”,”199.65”,”1.95”

“1020405”,”Samsung T32E310EW Zwart”,”8806086652209”,”T32E310EW”,”Samsung”,”Television”,”258.9”,”0”

“1020406”,”Apple Ipad 2017 32GB Silver”,”0190198239310”,”MP2G2NF/A”,”Apple”,”Tablet”,”419”,”0”

For CSV-structured feeds, please ensure:

  • All lines have the same number of columns (including headers)
  • Separators are commas, tabs, semicolons, pipes, or caters
  • If possible, use single or double quotes to mark text
  • If quotes are not used, make sure that the separator symbol is not used in the text fields.
  • If commas are used as the separator, don’t use comma as the decimal separator without using quotes

 

XML

XML is a markup language.

Example

<?xml version='1.0' encoding='utf-8'?>

<products>

    <product>

        <brand>Philips</brand>

        <category>Television</category>

        <ean>8718863010457</ean>

        <id>1020403</id>

        <price>2783.00</price>

        <productname>Philips 9000 series 55POS901F/12</productname>

        <shippingcost>0</shippingcost>

        <sku>55POS901F/12</sku>

    </product>

    <product>

        <brand>Motorola</brand>

        <category>Smartphone</category>

        <ean>6947681538115</ean>

        <id>1020404</id>

        <price>199.65</price>

        <productname>Motorola Moto G5 16 GB / grijs</productname>

        <shippingcost>1.95</shippingcost>

        <sku>PA610000NL</sku>

    </product>

For XML-structured feeds, please ensure:

  • The XML is not embedded. Layers should not be deeper than: Products -> Product -> Fields (see example) 
  • There is a root element in the XML (“Products” in the example)
  • The child element of the root (“Product” in the example) are the same for every product
  • All fields are available for every product, even if the fields are empty

 

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format.

Example

[

  {

    "Id": "1020403",

    "category": "Television",

    "brand": "Philips",

    "productname": "Philips 9000 series 55POS901F/12",

    "price": "2783",

    "shippingcost": "0",

    "sku": "55POS901F/12",

    "ean": "8718863010457",

  },

  {

    "Id": "1020404",

    "category": "Smartphone",

    "brand": "Motorola",

    "productname": "Motorola Moto G5 16 GB / grey",

    "price": "199.65",

    "shippingcost": "1.95",

    "sku": "PA610000NL",

    "ean": "6947681538115",

  },

For JSON-structured feeds, please ensure:

  • There should be a comma at the end of each field. Missing commas will cause errors
  • For every product all fields are available, even if the fields are empty

 

 

Step-by-step guide 

Step 1: Go to Connect > Configure Feeds and click the ( + ) button

Step 2: Select the structure of the feed by clicking the type of feed

Step 3: Configure the feed specifications

Fill in the requested data, such as the Feed name (here ‘Product_feed’ is chosen) the CSV delimiter (in case you add a CSV file), and the connection type, URL, and (if required) the username and password. Finally, click ‘Validate URL’ to test if the feed is configured correctly.

 

Step 4: Analyze the preview and save

If Omnia can retrieve your feed, a preview will be shown of the data.

For CSV and JSON, check if all of the fields are present and the values shown for the first product are correct.

For XML, select the path name with the highest number of records.

 

Finally, click ‘Save feed’ to save. You will now find the feed under the ‘Configure Feeds’ tab.