Skip to content
Last updated

System Integration Patterns in Norce Commerce

This page describes common system integration patterns for Norce Commerce. It explains how to import data into Norce Commerce and how to export or synchronize data from Norce Commerce to other systems.


Overview

Norce Commerce supports two main integration patterns:

  1. Importing data into Norce Commerce (using Norce Commerce Connect)
  2. Exporting or synchronizing data from Norce Commerce (using Norce Commerce Query and Event)

Each pattern is described in detail below, including responsibilities, recommended practices, and example workflows.


1. Importing Data into Norce Commerce

When you need to update or synchronize data into Norce Commerce (such as Products, Prices, or Customers), use Norce Commerce Connect. Most data endpoints are updated asynchronously. Transactional data (like Orders or Invoices) uses synchronous calls. See Implement an Order Receiver Service for details on transactional imports.

For general guidance on calling Norce Commerce Connect, see Calling Norce Commerce Connect.

Types of Imports: Full and Delta Updates

There are two main types of data imports:

  • Delta update: Contains only items changed since the last update. The integration must implement logic to fetch only changed data from the source system (e.g., ERP) within a specified interval. Frequency depends on data type (e.g., Products: 1-4 times/day; Customers: more often).
  • Full update: Contains all current items from the source system. Norce Commerce will deactivate any items not present in the payload, ensuring the integration can self-correct if delta updates fail. Full updates are typically scheduled 1-7 times per week for Products, and less frequently for Customers.

Full Import Workflow

Description:
A full import fetches all items from the source system and imports them into Norce Commerce. This ensures the Norce state matches the source system.

Workflow Steps, as described in diagram below:

  1. A timer triggers the integration at a scheduled time.
  2. The integration fetches all current item data from the source system.
  3. (Optional) The integration looks up item identifiers in Norce Commerce Query.
  4. The integration imports all items into Norce Commerce Connect, setting the Fullfile header to true.
QueryConnectIntegrationSource systemTimerThe timer triggers at a pre-set schedule1Lookup all current item data2Lookup item identifiers (optional)3Import all items (fullfile=true)4QueryConnectIntegrationSource systemTimer

Key Points:

  • Track the returned job ID. Monitor job status by polling the Job endpoint or subscribing to JobCompletedEvent.
  • Discard earlier failed imports of the same type; the full import is the new baseline.
  • Use the X-Stormconnect-Header to control which fields are updated.
  • Separate imports by source system when possible, using different system accounts for traceability.

Delta Import Workflow

Description:
A delta import fetches only items changed since the last update, reducing data volume and processing time.

Workflow Steps, as described in diagram below:

  1. A timer triggers the integration at a scheduled time.
  2. The integration fetches only changed item data from the source system.
  3. (Optional) The integration looks up item identifiers in Norce Commerce Query.
  4. The integration imports only changed items into Norce Commerce Connect, setting the Fullfile header to false.
QueryConnectIntegrationSource systemTimerThe timer triggers at a pre-set schedule1Lookup only changed item data2Lookup item identifiers (optional)3Import only changed items (fullfile=false)4QueryConnectIntegrationSource systemTimer

Key Points:

  • Track the returned job ID as with full imports.
  • Ensure your import does not overwrite newer data from other jobs.
  • Use the X-Stormconnect-Header for granular control.
  • Separate imports by source system and use different system accounts for traceability.

Warning:
Do not treat delta imports as real-time updates. Use a scheduler to batch changes. Sending many single-item updates can overload the queue and increase lead times. See Calling Norce Commerce Connect for more details.

Integration Responsibilities for Imports

Your integration must:

  • Receive and track the JobId from Norce Commerce.
  • Monitor and handle errors in mapping, business logic, and Norce Commerce responses.
  • Monitor for long lead times and manage running jobs (e.g., restart if needed).

2. Exporting or Synchronizing Data from Norce Commerce

When you need to update other systems based on changes in Norce Commerce, use Norce Commerce Query and Event.

Pattern Overview, as described in diagram below:

  • Norce Commerce Event triggers your integration via webhook when an item changes.
  • Your integration looks up item details in Norce Commerce Query.
  • Your integration updates the target system with the relevant data.
EventQueryIntegrationTarget systemTrigger an event (item changed)1Lookup item information2Create or update item in other system3EventQueryIntegrationTarget system

Key Points:

  • Subscribe to relevant event types in the Norce Commerce Admin UI.
  • The event message contains metadata (e.g., clientId, applicationId, item identifiers like CustomerId or PartNo, and an EntityChanged property).
  • Use these identifiers to fetch detailed data from Norce Commerce Query.

Integration Responsibilities for Exports

Your integration must:

  • Receive and process events from Norce Commerce Event.
  • Map and send data to the target system in the required format.
  • Use Norce Commerce Query efficiently (e.g., cache data when appropriate).

How to Subscribe and Listen to Norce Commerce Events


Looking Up Item Data in Norce Commerce Query


Mapping and Sending Data to Target Systems

  • After fetching data, map it to the target system's requirements.
  • The mapping and sending logic depends on the target system and is the responsibility of the integration developer.

Further Reading