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.
- Articles are fetched or pushed from ERP to an integration.
- 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)
- 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:
- Query lookups
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.
- 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.
- The integration listens for events and fetches the message from the service bus.
- The integration has business logic, and lookups to Norce Commerce Query to get all the data needed in the target system.
- 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.
- Administering Event types
- ProductSkus in Norce Commerce Query
Examples and other resources
- Query examples in postman
- Norce Commerce Event
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 are fetched or pushed from ERP to an integration.
- The integration has business logic, mapping rules and might also do lookups to Norce Commerce Query to get all the data needed.
- 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
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) andQuantityBreak
(default is “1”) must be provided for Norce Commerce to update the prices correctly.
Products are not created or deactivated from
ImportSkuPriceList
calls. UseImportProducts
to create or set product status.
Examples and other resources
- Norce Commerce Connect
- Norce Commerce Query
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.
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.
- Administering Event types
- ProductSkus in Norce Commerce Query
- ProductSkuPriceLists in Norce Commerce Query
Examples and other resources
- Norce Commerce Query
- Norce Commerce Event
Availability Information to Norce Commerce
This section describes how on hand information are integrated between Norce Commerce and the WMS.
- Onhand information are fetched or pushed from WMS to an integration.
- The integration has business logic, mapping rules and might even do lookups to Norce Commerce Query to get all the data needed.
- 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.
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
- Norce Commerce Connect
- Code examples
- Postman examples
- Norce Commerce Query examples
- Postman examples
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
- Norce Commerce Connect
- Postman examples
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
- Norce Commerce Connect
- Postman Examples