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
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.
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.
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.
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 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.
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.
Unlike the Feed History, you can also view the log containing detailed information about the feed processing.
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.
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.
The feed system will then stop the processing as fast as possible.
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, the feed configuration tool doesn't fully support order feeds yet. Our primary focus for the feed configuration tool has been the product feeds, after that the order feeds, content feeds, and permission feeds will come. In the mean time contact Hello Retail support for setting up or changing an order feed configuration.
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 and configuration of order feeds in the feed configuration tool.
Content Feeds
As the new Feed system is still under development, the feed configuration tool doesn't fully support content feeds yet. Our primary focus for the feed configuration tool has been the product feeds, after that the order feeds, content feeds, and permission feeds will come. In the mean time contact Hello Retail support for setting up or changing an content feed configuration.
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 and configuration of content feeds in the feed configuration tool.
Permission Feeds
As the new Feed system is still under development, the feed configuration tool doesn't fully support permission feeds yet. Our primary focus for the feed configuration tool has been the product feeds, after that the order feeds, content feeds, and permission feeds will come. In the mean time contact Hello Retail support for setting up or changing an permission feed configuration.
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.
Functionality on road map:
- Creation and configuration of permission feeds in the feed configuration tool.