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.
Norce Commerce provides several APIs for system integration:
- Norce Commerce Connect:
Main API for importing and updating data (products, prices, on hand, etc.).
Read more: Calling Norce Commerce Connect - Norce Commerce Query:
API for querying and fetching data from Norce Commerce.
Read more: Calling Norce Commerce Query - Norce Commerce Event:
Event-based API for subscribing to changes in Norce Commerce (e.g., product or price updates).
Read more: Using Norce Commerce Event
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:
- Fetch or push articles from ERP to an integration layer.
- Apply business logic and mapping rules. Optionally, use Norce Commerce Query to look up codes or other data (e.g., parametrics, categories).
- Call Norce Commerce Connect's ImportProducts to update the product catalog.
Image: Flowchart showing ERP → Integration → Norce Commerce Connect
- Use ImportProducts to create or update products.
- Postman example: Query lookups
- Postman example: Import products
- 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).
The header object in the API request controls which fields the ERP source system is allowed to update.
See Postman example for header usage.
When Norce Commerce is the master for product data, other systems receive updates when products are created or changed.
Integration Flow:
- Product changes in Norce Commerce trigger an event (configurable in Admin UI).
- Integration listens for events and fetches messages from the Norce Commerce Event service bus.
- Integration applies business logic and may use Norce Commerce Query for additional data.
- Integration sends changed data to the target system (e.g., ERP).
Image: Flowchart showing Norce Commerce → Event → Integration → Target system
Use the
SkuChangedNotification
event for product changes.Only one subscription per client is allowed.
Use the EntityChanged metadata to determine which systems to update if multiple targets are involved.
When an external system is the master for pricing, use the ImportSkusPriceLists API to update prices in Norce Commerce.
Integration Flow:
- Fetch or push prices from ERP to an integration layer.
- Apply business logic and mapping rules. Optionally, use Norce Commerce Query for additional data.
- Call ImportSkusPriceLists to update prices.
Image: Flowchart showing ERP → Integration → Norce Commerce Connect
- ImportSkusPriceLists accepts a list of SkuPriceList entities.
- Passing only
SalePrice
sets the price rule to "Fixed price".
- 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), andQuantityBreak
(default "1") are required for correct price updates. Products are not created or deactivated viaImportSkuPriceList
; useImportProducts
for that.
When Norce Commerce is the master for pricing, use the SkuPriceChangedNotification
event to update external systems.
Integration Flow:
- Price changes in Norce Commerce trigger an event.
- Integration listens for events and fetches messages.
- Integration applies business logic and may use Norce Commerce Query for additional data.
- Integration sends changed price data to the target system.
Image: Flowchart showing Norce Commerce → Event → Integration → Target system
Use the
SkuPriceChangedNotification
event.Only one subscription per client is allowed.
When an external WMS is the master for on hand data, use the ImportOnHands API.
Integration Flow:
- Fetch or push on hand data from WMS to an integration layer.
- Apply business logic and mapping rules. Optionally, use Norce Commerce Query for additional data.
- Call ImportOnHands to update availability.
Image: Flowchart showing WMS → Integration → Norce Commerce Connect
- ImportOnHands accepts a list of SkuOnHand entities.
Note: Setting on hand to 0 is different from deactivating a product for a warehouse. Deactivation means the warehouse cannot handle the product.
- 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).
External systems can manage entire price lists in Norce Commerce.
Process:
- Call ImportPriceLists to create or update price lists.
- Call ImportSkuPriceLists to set prices for products.
- ImportPriceLists accepts a list of PriceList entities.
Note: Price list
code
must be unique per client.
- Full updates: Usually once per day.
To import images and files, 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.
For competitor pricing, use ImportCompetitorSkus to import competitor data.
Accepts a list of CompetitorSku entities.
Typically, only full imports are used (daily).