Custom Product Feeds
Product feeds are text files that contain all or a filtered set of your products. Typically we’ll provide a URL where other systems can find and read this feed and import your products from. This article describes how to create your own custom feeds or adjust feeds you’ve created from templates.
Preconditions
We’ll read all product data from our product database. If you can see the products under “Products” in header navigation, it’s alright. If not, please import your products first.
Create a new feed
- Click “Channels” in the header navigation
- Click “New channel” on the right
- Configure the channel as described below
- Click “Save” to save your channel
General
These are some general setting for your feed.
Field name | Description |
---|---|
Name | Name of your channel. Used inside the user interface only. |
Enabled | Disabled channels will not be updated, so please enable them. |
Frequency | Defines how often the products in this feed will be updated. |
Do not execute before | This in an enhanced feature. Example: Let’s assume you have an import job, that updates your prices once a day at 8 am and you want to create a feed that should be updated once a day too. Now we should generate this feed after the import was done, so e.g. not before 8.30 am to ensure we have up-to-date price data. |
Entities to export | Set the checkbox for ‘Product data’ |
Mapping
This tab defines what attributes to include in a feed. On the left side, you see “source attributes”. That’s the product data in your heavendata database. On the right side you see “output columns” that will be written to your feed.
Option A: Select attributes first
- Note the “add targets” panel and click “select”. In the popup, select all attributes you want to include in your feed.
- Click on the output column name if you need to rename the column
Option B: Define output columns first
- Type the fields / column names you need below “add targets”. Separate multiple names by comma and press return. This will add the output columns.
- Click left beside each column to select which data to write to this column
Output
File Content
Machines need a fixed format to be able to read a feed. When creating a feed, you need to specify which format the other system expects.
Comma separated values (CSV)
That’s the most common format. It’s just a text file where the first row contains the attribute names and then we’ll write one line for each product.
Excel
Used if this channel is intended for manual processing. E.g. combine it with file transfer “e-mail” to send updates to other departments.
Json
This will create a JSON array with one json object for each product.
Text
Allows you to create custom templates, e.g. XML or HTML for your feed. It’s a very powerful way to format your output using Liquid template syntax. The following article is a good starting point: https://github.com/scriban/scriban/blob/master/doc/liquid-support.md
File Transfer
Defines how other systems can access this feed.
Transfer | Description |
---|---|
Http pull | We will provide a URL. The other system simply reads this URL and imports the products. This is the most common option. |
Ftp server | We store the generated feed on our ftp server. Other system can log-in to this server using the username and password you provide to read the products. |
File transfer | We save the generated file on external file servers. |
We send the generated file as an e-mail |