Skip to content

Feed History

"Feed History"

The Feed History (which sometimes can be referred to as the "feed run history" in daily talk) provides valuable insight into the performance of your feed.

By reviewing this overview, you can quickly determine if the feed has failed and how many feed items were created, updated, or deleted.

Additionally, the Feed History includes several useful actions that can be performed, including:

Reparsing a previous feed run: This action allows you to parse a previous feed run again, which can be useful if you need to update information that was previously missed or if there was an issue with the original parse.

Interrupting a currently running feed run: This action enables you to stop a feed run that is currently in progress. This can be helpful if you need to halt the feed for any reason, such as to make updates or to address any issues that may have arisen during the run. By clicking on one of the rows in the table in the Feed History view you will be taken to the Feed Run Details view of that particular feed run. In that view, you can see further details about that run.

You can read more about the Feed Run Details view under the section "Feed Run Details".

Understanding the information

The stats of the feed run

While at the Feed History view, can see a table with all the current and previous runs of a particular feed.

Each row in the table resembles a feed run. Each row displays the number of processed items, including the number of created, modified and deleted items during that particular run.

"Feed History"

Key Description
Time The time the feed queue ticket was created
Status Interrupted, Interrupting.., Cool down, Awaiting queue, Downloading, Parsing, Failed or Finished
Total The total number of items found in this feed run
Added The number of items that were created in our system from this feed run
Updated The number of items that were updated in our system from this feed run
Deleted The number of items that were deleted in our system from this feed run

Reparsing a previous feed from Feed History

In the Feed History, you can view a list of scheduled and previous feed runs.

If a previous feed run successfully downloaded the feed, you can use the "Reparse" button to the right of the table row.

"Feed History"

Clicking the button initiates a new feed run, but only reparsing the result of that feed with the latest configuration.

This means that the feed will not be downloaded again, but the data from that previous run will be reused.

Reparsing can be a time-saving option when testing or fixing your feed and you don't want to wait for the feed to download again.

Interrupting a feed run from Feed History

Please read the section about the behavior of interrupting a feed named "Interrupting a running feed".

In the Feed History, you can view a list of scheduled and previous feed runs.

"Feed History"

If a run is scheduled or already being processed you can use the button "Interrupt" to send an interrupt signal to that particular run. The system will try its best to stop the feed run as fast as possible.

"Feed History"

Feed Run Details

Understanding the information of a feed run The stats of the feed run

While viewing the Feed Run Details, you can access the same table data as seen in the Feed History, displaying the number of processed items, including the number of created, modified, and deleted items during that particular run.

"Feed History"

Key Description
Time The time the feed queue ticket was created
Status Interrupted, Interrupting.., Cool down, Awaiting queue, Downloading, Parsing, Failed or Finished
Total The total number of items found in this feed run
Added The number of items that were created in our system from this feed run
Updated The number of items that were updated in our system from this feed run
Deleted The number of items that were deleted in our system from this feed run

The ID of the feed run

Each feed run has an ID, it is sometimes easier to direct support to a particular run by letting them know the ID. You can find the ID in the title next to the "Run " text.

You can also copy and send the URL of your browser, and other users (if they have access) or support can get directly to this run.

"Feed History"

Unlike the Feed History, you can also view the log containing detailed information about the feed processing.

"Feed History"

If the feed run is currently queued or being processed by the system, the view will automatically update to reflect the progress.

The log may provide useful information about the current status of the processing or if any issues occurred during the run.

Reparsing a previous feed from Feed Run Details

Please read the section about the behavior of reparsing a feed run named "Reparsing a previous feed from Feed History".

While being at a Feed Run Details view, you can see if this particular feed run can be used for a reparse. If possible, then at the top of the view, the "Reparse" button will be available to initiate a parsing of that feed with the latest configuration.

"Feed History"

Interrupting a feed run from Feed Run Details

Please read the section about the behavior of interrupting a feed named "Interrupting a running feed".

While being at a Feed Run Details view, you can see if this particular feed run can be interrupted. If possible, then at the top of the view, the "Interrupt" button will be available which will send an interrupt signal to the feed run.

"Feed History"

The feed system will then stop the processing as fast as possible.

"Feed History"

Product Feeds

Hello Retail Product data object Example JSON of a Hello Retail product data object:

{
    "productNumber": "1",
    "title": "Example title",
    "inStock": true,
    "url": "https://example.com/products/1",
    "imgUrl": "https://cdn.example.com/products/1/thumbnail.png",
    "description": "Description of the product",
    "price": 19.95,
    "ean": "e12345",
    "oldPrice": "22.95",
    "priceExVat": 15.96,
    "oldPriceExVat": 18.36,
    "currency": "DKK",
    "brand": "Examplish",
    "keywords": "example,showcase,feed,data",
    "created": 1682690820,
    "hierarchies": [
        ["fashion", "women's", "shirts"],
        ["fashion", "men's", "shirts"]
    ]
}

Reserved fields and case-insensitive variants

The field names shown in the example above should be treated as "reserved" fields. It is important to note that reserved fields are case-insensitive, meaning that the feed system will recognize variations of reserved field names with different capitalizations as the same field. For instance, both "productNumber" and "PRODUCTNUMBER" will be treated as the same field by the feed system during processing.

Fields explained

Field Description
productNumber A unique identifier value assigned by the web shop platform for the product.
title The name or title of the product.
inStock A boolean value indicating whether the product is currently in stock or not.
url The URL of the product page on the webshop.
imgUrl The URL of the product image.
description A description of the product.
price The price of the product, including any taxes or fees.
ean The European Article Number (EAN) of the product.
oldPrice The previous price of the product before any discounts or changes.
priceExVat The price of the product excluding any taxes or fees.
oldPriceExVat The previous price of the product excluding any taxes or fees.
currency The currency in which the product price is listed.
brand The brand of the product.
keywords A list of keywords or tags associated with the product.
created The epoch time when the product was created.
hierarchies A list of hierarchies or categories that the product belongs to, represented as a nested JSON array of strings.

Product extraData and extraDataList

Requirements for a JSON feed

Our system will request the JSON feed with an HTTP GET request. The request will have the header:

Accept: application/json

We expect the response to be an HTTP 200 OK with a header indicating that content is JSON in utf-8 charset:

Content-Type: application/json; charset=utf-8

The minimum expected response body for a JSON product feed is this, indicating that there are no (or no more) products.

{ "products":[] }

Requirements for a JSON feed with pagination

Our system will request the JSON feed with an HTTP GET request. The request will have the header:

Accept: application/json

We expect the response to be an HTTP 200 OK with the header indicating that content is JSON in utf-8 charset:

Content-Type: application/json; charset=utf-8

If the JSON feed should support pagination, the minimum expected response body is:

{ "products":[] }

Requirements for a JSON feed with delta

Our system will request the JSON feed with an HTTP GET request. The request will have the header:

Accept: application/json

We expect the response to be an HTTP 200 OK with headers:

Content-Type: application/json; charset=utf-8

If the JSON feed should support being a delta feed, the minimum expected response body is:

{ "products": [], "deltaToken": "12345678" }

Requirements for a JSONL feed

Our system will request the JSONL feed with an HTTP GET request. The request will have the header:

Accept: application/jsonl

We expect the response to be an HTTP 200 OK with a header indicating that the content is JSONL in the utf-8 charset:

Content-Type: application/jsonl; charset=utf-8
{"id": 123, "url": "https://example.com/products/123", "price": 99.95}
{"id": 456, "url": "https://example.com/products/456", "price": 199}

Requirements for a JSONL feed with pagination

Our system will request the JSONL feed with an HTTP GET request. The request will have a header:

Accept: application/jsonl

We expect the response to be an HTTP 200 OK with headers:

Content-Type: application/jsonl; charset=utf-8
X-Total: 99
{"id": 123, "url": "https://example.com/products/123", "price": 99.95}
{"id": 456, "url": "https://example.com/products/456", "price": 199}

Requirements for a JSONL feed with delta: Our system will request the JSONL feed with an HTTP GET request. The request will have a header:

Accept: application/jsonl

We expect the response to be an HTTP 200 OK with headers:

Content-Type: application/jsonl; charset=utf-8
X-Delta-Token: 12345678
{"id": 123, "url": "https://example.com/products/123", "price": 99.95}
{"id": 456, "url": "https://example.com/products/456", "price": 199}

Order Feeds

As the new Feed system is still under development to encompass all the necessary features to enable the setup of a website with products, orders, content pages, and permissions, certain functionalities are not yet fully supported.

Our primary focus is to first fully support Product Feeds, and after that Order Feeds, Content Feeds, and Permission Feeds.

Supported Order Feed functionality

View Description
Feeds Overview Queuing, Interrupting, Archiving and Restoring archived feed
Feed Run All functionality supported
Feed Run Details All functionality supported

Above listed functionality is generic to all feed types.

Functionality on road map

Creation of Order Feed So while we continue to work towards completing the Feeds tool, there may be instances where you need to reach out to Hello Retail support for any desired changes.

Content Feeds

As the new Feed system is still under development to encompass all the necessary features to enable the setup of a website with products, orders, content pages, and permissions, certain functionalities are not yet fully supported. Our primary focus is to first fully support Product Feeds, and after that Order Feeds, Content Feeds, and Permission Feeds.

Supported Content Feed functionality

View Description
Feeds Overview Queuing, Interrupting, Archiving and Restoring archived feed
Feed Run All functionality supported
Feed Run Details All functionality supported

Above listed functionality is generic to all feed types and is therefore something you can already read about in this guide.

Functionality on road map

Creation of Content Feed So while we continue to work towards completing the Feeds tool, there may be instances where you need to reach out to Hello Retail support for any desired changes.

Permission Feeds

As the new Feed system is still under development to encompass all the necessary features to enable the setup of a website with products, orders, content pages, and permissions, certain functionalities are not yet fully supported. Our primary focus is to first fully support Product Feeds, and after that Order Feeds, Content Feeds, and Permission Feeds.

Supported Permission Feed functionality

View Description
Feeds Overview Queuing, Interrupting, Archiving and Restoring archived feed
Feed Run All functionality supported
Feed Run Details All functionality supported

Above listed functionality is generic to all feed types and is therefore something you can already read about in this guide.