Feeds¶
Inspect product feeds and their runs, and look up product data and recent changes.
Tips & tricks
Check the latest feed run before investigating missing products. A failed run explains most gaps.
createProductFeed¶
Create a new V2 product feed for a customer website. The feed is created in state INACTIVE by default, so it can be configured and verified before it starts running. Once ACTIVE, the feed runs on a schedule every runIntervalSeconds (default: every 24 hours). Returns the full configuration detail of the created feed, including the new feed ID.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. Use getWebsiteInfo to look up available websites, or find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
name | string | Yes | Display name of the feed. |
url | string | Yes | URL the feed will be fetched from. Must be an http(s) URL. |
format | string | Yes | Content format of the feed response. One of: JSON, XML, DSV, JSONL. |
requestType | string | No | How the feed is fetched. One of: SINGLE_REQUEST, PAGE_BASED, OFFSET_BASED. PAGE_BASED requires pageBasedConfig and OFFSET_BASED requires offsetBasedConfig. Default: SINGLE_REQUEST. |
state | string | No | Initial feed lifecycle state. One of: ACTIVE, INACTIVE. Default: INACTIVE. |
runIntervalSeconds | integer | No | Seconds between scheduled runs, clamped to between 1800 (30 minutes) and 8640000 (100 days). 0 means manual runs only and is allowed only for INACTIVE feeds. Default: 86400 (24 hours). |
itemsPath | string | No | Path to the products array in the feed response, as a '>'-separated chain of element names (e.g. "products>product"). Omit or use "root" when the products are at the feed root. |
transformationCode | string | No | JavaScript executed on each product after parsing. Defaults to an identity transform that passes every product through unchanged. |
basicAuthUser | string | No | HTTP Basic Auth username. |
basicAuthPassword | string | No | HTTP Basic Auth password. |
customHeaders | string | No | JSON object of custom HTTP headers, e.g. {"X-Api-Key": "abc"}. |
requestWaitSeconds | integer | No | Seconds to wait between paginated requests (0-30). Default: 0. |
cacheBusting | boolean | No | Whether to append a cache-busting query parameter to the URL. Default: true. |
allowDeltaRuns | boolean | No | Whether to enable incremental delta runs. Default: true. |
pageBasedConfig | string | No | JSON object for page-based pagination: {"pageVariable": "page", "pageInitialValue": 1, "sizeVariable": "pageSize", "sizeValue": 200}. Required when requestType is PAGE_BASED, not allowed otherwise. |
offsetBasedConfig | string | No | JSON object for offset-based pagination: {"startOffsetVariable": "from", "offsetInitialValue": 0, "offsetSizeVariable": "length", "offsetSize": 200}. Required when requestType is OFFSET_BASED, not allowed otherwise. |
createProducts | boolean | No | Whether the feed is allowed to create new products. Default: true. |
stopIfFewerThanExpected | boolean | No | Enable/disable the fewer-than-expected safety stop. Default: true. |
stopIfMoreThanExpected | boolean | No | Enable/disable the more-than-expected safety stop. Default: true. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "createProductFeed",
"arguments": {
"websiteUuid": "<string>",
"name": "<string>",
"url": "<string>",
"format": "<string>"
}
}
}
Returns
{
"id": 0,
"name": "<string>",
"url": "<string>",
"state": "<string>",
"format": "<string>",
"requestType": "<string>",
"runIntervalSeconds": 0,
"lastRunAt": "<string>",
"nextRunAt": "<string>",
"itemsPath": "<string>",
"transformationCode": "<string>",
"basicAuthUser": "<string>",
"customHeaders": "<string>",
"requestWaitSeconds": 0,
"cacheBusting": false,
"allowDeltaRuns": false,
"pageBasedConfig": "<string>",
"offsetBasedConfig": "<string>",
"createProducts": false,
"stopIfFewerThanExpected": false,
"stopIfMoreThanExpected": false
}
getProductFeed¶
Retrieve full configuration detail for a single V2 product feed.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. Use getWebsiteInfo to look up available websites, or find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
feedId | integer | Yes | ID of the feed. Use listProductFeeds to find available feed IDs. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "getProductFeed",
"arguments": {
"websiteUuid": "<string>",
"feedId": 0
}
}
}
Returns
{
"id": 0,
"name": "<string>",
"url": "<string>",
"state": "<string>",
"format": "<string>",
"requestType": "<string>",
"runIntervalSeconds": 0,
"lastRunAt": "<string>",
"nextRunAt": "<string>",
"itemsPath": "<string>",
"transformationCode": "<string>",
"basicAuthUser": "<string>",
"customHeaders": "<string>",
"requestWaitSeconds": 0,
"cacheBusting": false,
"allowDeltaRuns": false,
"pageBasedConfig": "<string>",
"offsetBasedConfig": "<string>",
"createProducts": false,
"stopIfFewerThanExpected": false,
"stopIfMoreThanExpected": false
}
updateProductFeed¶
Patch one or more fields on a V2 product feed. This is a partial update — only the fields you provide are changed. Every omitted field keeps its current value.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. Use getWebsiteInfo to look up available websites, or find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
feedId | integer | Yes | ID of the feed to update. Use listProductFeeds to find available feed IDs. |
name | string | No | Display name of the feed. |
url | string | No | URL the feed should be fetched from. Must be an http(s) URL. |
state | string | No | Feed lifecycle state. One of: ACTIVE, INACTIVE, ARCHIVED. |
itemsPath | string | No | Path to the products array in the feed response, as a '>'-separated chain of element names (e.g. "products>product"). Omit or use "root" when the products are at the feed root. |
crawlConfig | string | No | JSON string defining how fields are extracted from each product in the feed. |
transformationCode | string | No | JavaScript executed on each product after parsing. |
basicAuthUser | string | No | HTTP Basic Auth username. |
basicAuthPassword | string | No | HTTP Basic Auth password. |
customHeaders | string | No | JSON object of custom HTTP headers, e.g. {"X-Api-Key": "abc"}. |
runIntervalSeconds | integer | No | Seconds between scheduled runs. Must be positive; values are clamped to between 1800 (30 minutes) and 8640000 (100 days). |
requestWaitSeconds | integer | No | Seconds to wait between paginated requests (0-30). |
cacheBusting | boolean | No | Whether to append a cache-busting query parameter to the URL. |
allowDeltaRuns | boolean | No | Whether to enable incremental delta runs. |
pageBasedConfig | string | No | JSON object for page-based pagination. Only valid for feeds with requestType PAGE_BASED. |
offsetBasedConfig | string | No | JSON object for offset-based pagination. Only valid for feeds with requestType OFFSET_BASED. |
createProducts | boolean | No | Whether the feed is allowed to create new products. |
stopIfFewerThanExpected | boolean | No | Enable/disable the fewer-than-expected safety stop. |
stopIfMoreThanExpected | boolean | No | Enable/disable the more-than-expected safety stop. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "updateProductFeed",
"arguments": {
"websiteUuid": "<string>",
"feedId": 0
}
}
}
Returns
listProductFeeds¶
List all V2 product feeds for a customer website. Archived feeds are excluded by default.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. Use getWebsiteInfo to look up available websites, or find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
includeArchived | boolean | No | When true, archived feeds are included in the results. Default: false. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "listProductFeeds",
"arguments": {
"websiteUuid": "<string>"
}
}
}
Returns
[
{
"id": 0,
"name": "<string>",
"url": "<string>",
"state": "<string>",
"format": "<string>",
"requestType": "<string>",
"runIntervalSeconds": 0,
"lastRunAt": "<string>",
"nextRunAt": "<string>"
}
]
getProductFeedRun¶
Return the full detail record for a specific run identified by its runId. Use this after listProductFeedRuns to drill into a particular run — for example to compare a failed run against a successful one.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. Find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
feedId | integer | Yes | ID of the feed the run belongs to. Use listProductFeeds to find available feed IDs. |
runId | string | Yes | Queue item ObjectId hex string. Obtained from the runId field in listProductFeedRuns. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "getProductFeedRun",
"arguments": {
"websiteUuid": "<string>",
"feedId": 0,
"runId": "<string>"
}
}
}
Returns
{
"runId": "<string>",
"runType": "<string>",
"state": "<string>",
"interrupted": false,
"queuedAt": "<string>",
"itemsTotal": 0,
"itemsAdded": 0,
"itemsUpdated": 0,
"itemsDeleted": 0,
"itemsFailed": 0,
"hasErrors": false,
"itemsSkipped": 0,
"downloadTimeMs": 0,
"parsingTimeMs": 0,
"feedFileSizeBytes": 0,
"feedUrl": "<string>",
"messages": [],
"incompleteFeed": false,
"issues": [],
"ignoredFields": [],
"autoCorrectedFields": [],
"deltaTokenUsed": "<string>",
"deltaTokenFound": "<string>"
}
getLatestProductFeedRun¶
Return the full detail record for the most recent run of a V2 product feed. Includes timing, per-field quality diagnostics, log messages, and error information. Use this to diagnose a failed or slow run without first calling listProductFeedRuns.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. |
feedId | integer | Yes | ID of the feed. Use listProductFeeds to find available feed IDs. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "getLatestProductFeedRun",
"arguments": {
"websiteUuid": "<string>",
"feedId": 0
}
}
}
Returns
{
"runId": "<string>",
"runType": "<string>",
"state": "<string>",
"interrupted": false,
"queuedAt": "<string>",
"itemsTotal": 0,
"itemsAdded": 0,
"itemsUpdated": 0,
"itemsDeleted": 0,
"itemsFailed": 0,
"hasErrors": false,
"itemsSkipped": 0,
"downloadTimeMs": 0,
"parsingTimeMs": 0,
"feedFileSizeBytes": 0,
"feedUrl": "<string>",
"messages": [],
"incompleteFeed": false,
"issues": [],
"ignoredFields": [],
"autoCorrectedFields": [],
"deltaTokenUsed": "<string>",
"deltaTokenFound": "<string>"
}
listProductFeedRuns¶
Return the most recent run history for a V2 product feed, newest first. Useful for checking whether recent runs succeeded and obtaining a runId for getProductFeedRun.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | UUID of the customer's website. |
feedId | integer | Yes | ID of the feed. Use listProductFeeds to find available feed IDs. |
limit | integer | No | Maximum number of runs to return. Between 1 and 50. Default: 10. |
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "listProductFeedRuns",
"arguments": {
"websiteUuid": "<string>",
"feedId": 0
}
}
}
Returns