{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-developer-portal/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown","redocly_category":"Development","owner":"MB"},"seo":{"title":"Configuring Norce Commerce Product Feed Channels","description":"How to configure product feed channels in Norce Commerce, including channel settings, what data to include in exports, and how to set up delta change tracking.","keywords":"technical, products, guide, storm-feed, channel, configuration, delta"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"configuring-product-feed-channels"},"children":["Configuring Product Feed Channels"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A Product Feed Channel defines what product data is exported from Norce Commerce, in which languages and price lists, and how often changes are tracked. Channels are configured in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Products → Channels"]}," in the Norce admin."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each channel has a unique ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Channel key"]}," used when triggering exports from your receiver service."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each setting shows an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["arrow icon"]}," next to the checkbox. The arrow means the value is inherited from the system default. Click the arrow first to override it for this specific channel."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"basic-settings"},"children":["Basic settings"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Setting"},"children":["Setting"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables or disables the channel. Inactive channels cannot be triggered."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display name for the channel in the admin."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Internal description."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Cultures"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Languages included in the export. At least one culture is required."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Price lists"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Restricts the export to specific price lists. Leave empty to include all public price lists."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"include-in-export"},"children":["Include in Export"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Controls which data sections are included in the Product and/or ProductStatus feed."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Setting"},"children":["Setting"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Texts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product names, descriptions, and other culture-specific text fields."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Categories"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Category assignments for each product."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parametrics"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Technical attributes and specifications. Default: off."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Flags"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product flags (e.g. campaign, new, clearance)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Images and other attached files."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Relations"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product relations (cross-sell, accessories, etc.). Default: off."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Families"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product family groupings."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Popularities"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Popularity scores. Default: off."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OnHands"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Stock availability per warehouse."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Suppliers"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supplier assignments."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SupplierOnHands"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supplier-level stock availability."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Historical Unique Urls"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Adds ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["historicalUniqueUrls"]}," to the export — useful for redirect mapping after URL changes. Default: off."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ViewCount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product view count data."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ERP name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ERP system name for each product. Default: off."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Product comment"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Internal product comments. Default: off."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inactivated variants (days)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["If set above zero, variants removed from the price list remain in the feed (without a price) for this many days, allowing the target system to actively deactivate them. Maximum: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5"]}," days."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include client-wide priced products"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When enabled, includes all products priced on any active client price list, not just those on the channel's application price lists. Products from the wider scope are emitted with empty ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Prices"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OnHands"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Suppliers"]}," arrays. Default: off."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Inactivated Products"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To find inactive products in the feed output, check if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"prices\": []"]}," (is empty) or if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"status\": \"inactive\""]}," on the variants."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"price-settings"},"children":["Price settings"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Setting"},"children":["Setting"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Prices"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Include prices in the export."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Detailed Prices"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Includes detailed prices for the price lists specified under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Prices Price Lists"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Prices Price Lists"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Specifies for which price lists detailed prices should be exported when ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Detailed Prices"]}," is enabled."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Public price lists from applications"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Add additional applications whose public price lists should be included in the best price evaluation. Each sales area gets its own best-price evaluation. Use this to provide market-specific best prices for a larger scope than just one application."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Historical Best"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Includes the historical best price for the past 30 days plus the last price change before that, in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["historicalBestPrice"]}," field. Based on public price lists. Available in both Product and ProductStatus feeds."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exclude AvailableOnPriceLists"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["In ProductStatus feeds, excludes the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AvailableOnPriceLists"]}," field since it may contain repetitive data."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-settings"},"children":["Common settings"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Setting"},"children":["Setting"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exclude repetitive data"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Strips repeated metadata (e.g. group names, currency codes) to reduce feed size."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use fallback culture values"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Returns the default culture text for products that do not have content in the requested culture."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Export format"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JSON"]}," (default) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JSONL"]}," (",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://jsonlines.org/"},"children":["JSON Lines"]},"). JSONL is recommended for larger catalogs as it supports streaming."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compress using Gzip"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Compresses the feed response using Gzip."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuring-delta-change-tracking"},"children":["Configuring delta change tracking"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Delta feeds return only products that have changed since a given timestamp. For delta to work, you must first enable change tracking and configure which data changes are tracked in the admin under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Integrations → Events → Delta Configuration"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the full setup guide — including how to enable delta tables, configure entities, and a worked example — see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/user-portal/integrations/delta-configuration"},"children":["Delta Configuration"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"further-reading"},"children":["Further Reading"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/developer-portal/app-development/product-feed-types-and-scheduling"},"children":["Product Feed Types and Scheduling"]}," — full, delta, and status feed types and recommended trigger schedules"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/developer-portal/app-development/consuming-a-product-feed"},"children":["Consuming a Product Feed"]}," — how to trigger, poll, and consume feeds from your receiver service"]}]}]},"headings":[{"value":"Configuring Product Feed Channels","id":"configuring-product-feed-channels","depth":1},{"value":"Basic settings","id":"basic-settings","depth":2},{"value":"Include in Export","id":"include-in-export","depth":2},{"value":"Price settings","id":"price-settings","depth":2},{"value":"Common settings","id":"common-settings","depth":2},{"value":"Configuring delta change tracking","id":"configuring-delta-change-tracking","depth":2},{"value":"Further Reading","id":"further-reading","depth":2}],"frontmatter":{"seo":{"title":"Configuring Norce Commerce Product Feed Channels","description":"How to configure product feed channels in Norce Commerce, including channel settings, what data to include in exports, and how to set up delta change tracking.","keywords":"technical, products, guide, storm-feed, channel, configuration, delta"},"metadata":{"redocly_category":"Development","owner":"MB"}},"lastModified":"2026-07-10T06:04:35.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/developer-portal/app-development/configuring-product-feed-channels","userData":{"isAuthenticated":false,"teams":["anonymous"]}}