Last updated

Products and Pricing Integrations

This page describes how to integrate product, pricing, and availability data between Norce Commerce and external systems. It provides recommended practices, API usage, and integration patterns for common scenarios.

Tip: For a general overview of integration patterns, see System integration patterns.

Overview of Norce Commerce APIs

Norce Commerce provides several APIs for system integration:

Integrating Product Information to Norce Commerce

When an external system (such as an ERP) is the master for product data, use the ImportProducts API to create or update products in Norce Commerce.

Integration Flow:

Norce Commerce

Integration

ERP

Connect / ProductService

optional lookup

Products

1. Fetch / push
2. Map and transform
3. Import

ImportProducts

ImportSkuPriceLists

ImportOnHands

Query

  1. Fetch or push articles from ERP to an integration layer.
  2. Apply business logic and mapping rules. Optionally, use Norce Commerce Query to look up codes or other data (e.g., parametrics, categories).
  3. Call Norce Commerce Connect's ImportProducts to update the product catalog.

API Usage and Examples

Full and Delta Updates

  • Full updates: Import all products, typically once per day or week.
  • Delta updates: Import only changed products, typically 2-3 times per day.
  • Use smaller imports for minor updates (e.g., prices, on hand).

Header Object

The header object in the API request controls which fields the ERP source system is allowed to update.
Working with the X-Stormconnect Header — full guide with field dependency tree and common scenarios.
See Postman example for header usage.

Integrating Product Information from Norce Commerce

When Norce Commerce is the master for product data, other systems receive updates when products are created or changed.

Integration Flow:

ERP

Integration

Norce Commerce

Event

SKU change notification

Service Bus

Query

1. Fetch message
2. Enrich via Query
3. Send to target

Products

  1. Product changes in Norce Commerce trigger an event (configurable in Admin UI).
  2. Integration listens for events and fetches messages from the Norce Commerce Event service bus.
  3. Integration applies business logic and may use Norce Commerce Query for additional data.
  4. Integration sends changed data to the target system (e.g., ERP).

Event Configuration

Examples

Integrating Price Information to Norce Commerce

When an external system is the master for pricing, use the ImportSkusPriceLists API to update prices in Norce Commerce.

Integration Flow:

Norce Commerce

Integration

ERP

Connect / ProductService

optional lookup

Prices

1. Fetch / push
2. Map and transform
3. Import

ImportSkuPriceLists

Query

  1. Fetch or push prices from ERP to an integration layer.
  2. Apply business logic and mapping rules. Optionally, use Norce Commerce Query for additional data.
  3. Call ImportSkusPriceLists to update prices.

API Usage

Update Strategies

  • Use StandardPrice in ImportProducts for base price lists.
  • For multiple price lists, send a full import with all prices.
  • Full updates: daily or with product imports.
  • Delta updates: 1-12 times per day, depending on frequency of price changes.

Note: PartNo, PricelistCode (called "Agreement" in Query), and QuantityBreak (default "1") are required for correct price updates. Products are not created or deactivated via ImportSkuPriceList; use ImportProducts for that.

Examples

Integrating Price Information from Norce Commerce

When Norce Commerce is the master for pricing, use the SkuPriceChangedNotification event to update external systems.

Integration Flow:

ERP

Integration

Norce Commerce

Event

SKU price change notification

Service Bus

Query

1. Fetch message
2. Enrich via Query
3. Send to target

Prices

  1. Price changes in Norce Commerce trigger an event.
  2. Integration listens for events and fetches messages.
  3. Integration applies business logic and may use Norce Commerce Query for additional data.
  4. Integration sends changed price data to the target system.

Event Configuration

Examples

Integrating Availability (On Hand) Information to Norce Commerce

When an external WMS is the master for on hand data, use the ImportOnHands API.

Integration Flow:

Norce Commerce

Integration

WMS

Connect / ProductService

optional lookup

On-hand data

1. Fetch / push
2. Map and transform
3. Import

ImportOnHands

Query

  1. Fetch or push on hand data from WMS to an integration layer.
  2. Apply business logic and mapping rules. Optionally, use Norce Commerce Query for additional data.
  3. Call ImportOnHands to update availability.

API Usage

Note: Setting on hand to 0 is different from deactivating a product for a warehouse. Deactivation means the warehouse cannot handle the product.

Prerequisites — why imported on-hand may not appear

A successful ImportOnHands call does not guarantee that stock shows up in the aggregated OnHand value returned to your application. This is one of the most common integration surprises: the import reports success, but the product still shows as out of stock. For imported stock to appear, the target warehouse must be configured in Norce Admin:

  • The warehouse code in your import must match a warehouse that exists in Norce (see the Code field on the warehouse). Products must also already exist — see the product import guide.
  • The warehouse type must be Warehouse or Store. Only these types are included in aggregated availability; Transport and Other are available only via direct on-hand checks.
  • The warehouse must have "Included in stock calculation" enabled.
  • The warehouse must be connected to the price list(s) your application uses (including campaign and customer price lists).

See Availability structures — Configuring availability in Norce Admin for the full configuration.

To confirm that an import landed, use a direct on-hand check such as GetProductOnHandByPartNo — these return warehouse-specific values without aggregation and bypass the API cache, so you can verify the imported figure even before the aggregation configuration is complete.

Update Strategies

  • Full imports: Deactivate on hand for products not included, but only for specified warehouses.
  • Delta imports: Frequency depends on accuracy needs (3-4 times a day to 3-4 times an hour).

Examples

Managing Price Lists in Norce Commerce

Price list definitions (name, code, currency, discount rules) are managed via the Management API. Use the Connect API to import prices into existing price lists.

Process:

  1. Create or update price list definitions via the Management API. Price list code must be unique per client.
  2. Call ImportSkuPriceLists to set prices for products on those price lists.

For Connect-based price list import (e.g., syncing price list structures from an external system), ImportPriceLists accepts a list of PriceList entities.

  • Full updates: Usually once per day.
  • Metadata Integrations — covers managing all metadata types including price lists via the Management API.

Importing Images and Files

To import images and files programmatically, use ImportProducts and include MainImage and AdditionalImages fields.

  • ExternalCode identifies the image in Norce Commerce.

  • Url can be http(s), ftp, or ftp with credentials. Norce downloads the file from that URL, so images do not have to be uploaded as binary.

  • Postman examples: Import images

For non-programmatic imports, images and files can also be bulk-imported (and cleared) from Excel via the Product images and files import type in Admin — see Excel Import. The available image and file categories are defined by your file types.

Once images are imported, they are served from the CDN. For the retrieval URL format, image transformations, and how to reference images from the frontend or in feeds (e.g. Google Merchant Center), see Images and CDN.

Importing Competitor Information

For competitor pricing, use ImportCompetitorSkus to import competitor data.

Further Reading