Last updated

Products and Pricing Integrations

Read about Norce Commerce’s System integration patterns to get more detailed information on how to build your integration.

About the APIs

For system integration with Norce Commerce use:

  • Norce Commerce Connect The API used by all system integrations is Norce Commerce Connect. Read about how use it here: Calling Norce Commerce Connect
  • Norce Commerce Query The API used to lookup and fetch data is Norce Commerce Query. This is a queryable API that exposes Norce' Commerce's data layer for the solutions. Read about how to use it here: Calling Norce Commerce Query
  • Norce Commerce Event Norce Commerce Event starts processes when something has happened in Norce. This is a service bus that the solutions can listen to and subscribe to events. Read about how use it here: Using Norce Commerce Event

Product information to Norce Commerce

When ERP is the master system, ImportProducts is called with all (or some) products that needs to be created or updated in Norce Commerce.

Products into Norce process

  1. Articles are fetched or pushed from ERP to an integration.
  2. The integration has business logic, mapping rules and might even do lookups to Norce Commerce Query to get all the data needed, like codes, for parametrics, categories, etc. (if needed)
  3. The integration calls Norce Commerce Connect´s ImportProducts, which updates the product catalog in Norce.

Description

To create or update products in Norce Commerce use ImportProducts.

Examples in postman:

Connect import products

Full and delta updates

ImportProducts is the largest product related import and should be called only when needed to. Use other “smaller” imports as much as possible for the smaller delta updates.

Full updates of ImportProducts can for most clients be enough to do once a day. But sometimes it can be enough once a week (for exceptionally large assortments and where most data is not changed so often).

Delta updates should not be scheduled more often than 2-3 times a day. Although many clients only need delta updated for prices and On Hand, and rely on full imports only for importproducts nightly.

Examples

There are some good examples in Postman on different use cases, take special not on the header object that is controlling exactly what the ERP source system is allowed to update.

Product Information from Norce Commerce

In this scenario the assumption is that Norce is the article master system and other systems gets some of the information when new products are created and when existing products are updated.

Products from Norce process

  1. Changes to products (SKU's) in Norce Commerce triggers an event that puts a message to the Norce Commerce Event service bus. Exactly what changes that triggers this event are configurable in the Admin UI.
  2. The integration listens for events and fetches the message from the service bus.
  3. The integration has business logic, and lookups to Norce Commerce Query to get all the data needed in the target system.
  4. The integration sends the changed data to the target system (ERP).

Description

To create or update products in target systems, the SkuChangedNotification event is configured for the client. Only one subscription is allowed per client. If there are more target systems, interested in different product fields in Norce Commerce, use the EntityChanged metadata to decide which systems to update.

Examples and other resources

Price Information to Norce Commerce

This section describes how prices are integrated between Norce Commerce and price system. In this basic setup standard prices comes from the ERP and other pricelists are maintained solely in Norce Commerce.

Prices into Norce process

  1. Prices are fetched or pushed from ERP to an integration.
  2. The integration has business logic, mapping rules and might also do lookups to Norce Commerce Query to get all the data needed.
  3. The integration calls Connect API´s ImportSkusPriceLists, which updates the product catalog in Norce Commerce.

Description

ImportSkusPriceLists takes an enumerable of SkuPriceList entities and updates Norce Commerce if changes has been made.

If you just pass in SalePrice the price rule is set to “Fixed price” automatically.

Full and Delta updates

Note

If you have one base price list that is maintained from a source system, the best way is to use the StandardPrice in ImportProducts for setting the full import. If you have more than one price list maintained, you can send in a full import with product prices for all the price list in same import (other price lists will not be changed or deactivated).

Full updates are usually daily or left to ImportProducts.

Delta updates are scheduled between 1-12 times a day, usually. If prices changes often, hourly scheduled updates is about enough.

PartNo, PricelistCode (called "Agreement" in Query) and QuantityBreak (default is “1”) must be provided for Norce Commerce to update the prices correctly.

Products are not created or deactivated from ImportSkuPriceList calls. Use ImportProducts to create or set product status.

Examples and other resources

Price Information from Norce Commerce

In this scenario Norce Commerce is master for pricing logic and other system needs to be updated when the prices change.

Prices from Norce process

This isa similar scenario as for product information extractions, above.

Description

To create or update prices in target systems, the SkuPriceChangedNotification event is configured for the client. Only one subscription is allowed per client.

Examples and other resources

Availability Information to Norce Commerce

This section describes how on hand information are integrated between Norce Commerce and the WMS.

Onhand to Norce process

  1. Onhand information are fetched or pushed from WMS to an integration.
  2. The integration has business logic, mapping rules and might even do lookups to Norce Commerce Query to get all the data needed.
  3. The integration calls Norce Commerce Connect´s ImportOnHands, which updates the product catalog in Norce Commerce.

Description

ImportOnHands takes an enumerable of SkuOnHand entities and updates Norce if changes has been made.

Note

There is a difference for Norce Commerce if the onhand value is 0 or if the product is deactivated for a warehouse. The latter means that the product cannot be handled by the specific warehouse and might change the behavior of the availability business rules.

Full and delta updates

Full imports will deactivate onhand on all products not included in the import. But only for the warehouses/locations included. So, if you have different source systems responsible for different warehouses you can have more than one full import handling the different sources.

Most integrations have daily full imports of onhands.

Delta imports varies between 3-4 times a day to 3-4 times an hour, depending on the need for accuracy in Norce Commerce.

Examples and other resources

Other integrations

Price lists to Norce Commerce

It is possible to manage whole price lists in Norce Commerce from a source system. This is usually when an ERP system has contract price lists for specific customers or companies. To do this, you first need to call ImportPriceLists to create (and change) price list information in Norce Commerce, and after you can call ImportSkuPriceLists to set price information on the products (see above).

Description

ImportPriceLists takes an enumerable of PriceList entities and updates Norce Commerce if changes has been made.

Full and delta updates

Usually only full updates is used. Most common is once a day.

The Price list code is unique for a price list on a client level, make sure not to re-use price list codes.

Images and files to Norce Commerce

Use ImportProducts and add MainImage and AdditionalImages to import both images and other files to the product catalog.

The field ExternalCode identifies the image in Norce Commerce, this makes it possible to separate adding more images to a product from replacing existing images.

Url to image, can be a public http(s), ftp or ftp together with username and password, i.e. ftp://username:password@hostname/

Examples and other resources

Competitor information to Norce Commerce

For competitor pricing functionality Norce Commerce needs competitor information from a source. This could be a 3rd party, like a price comparison service, or from the customer. Norce Commerce has adapters for the more common comparison services on the Nordic market, but for others this must be integrated through this API.

Description

ImportCompetitorSkus takes an enumerable of CompetitorSku entities and created or updates competitor information on products in Norce Commerce.

Full and delta updates

Most commonly only full imports is done. Usually daily.

Examples and other resources

Suggested further reading