Skip to content
Last updated

Calling Norce Commerce Connect API

Norce Commerce Connect is an integration framework for connecting Norce with external systems. It manages the import and normalization of data such as products, prices, customers (people and organizations), and inventory from suppliers, content providers, and ERP/PIM/CRM systems. It also handles order and transactional integrations with ERP systems.

API Reference Documentation

Example Integrations and Code Samples

Integration Protocols and Security

Communication Protocols

All integrations with Norce Commerce Connect must use REST over HTTPS.

Authentication and Authorization

Norce Commerce Connect uses OAuth2 for authentication. Credentials are created in the Admin UI. See Accessing APIs with OAuth2 accounts for details.

HTTP Status Codes

The API uses standard HTTP status codes to indicate the result of requests.

Asynchronous REST Calls

Some API methods are asynchronous. When you call these methods, the request is received and stored for later processing. The API returns a job ID, which you can use to check the status of your request.

Asynchronous Methods Overview

The following table lists asynchronous methods, their documentation, and descriptions:

DocumentationMethodDescription
Competitor InformationImportCompetitorSkusImport competitor product data. Use for importing data from price comparison solutions.
Availability InformationImportOnhandsImport product availability data.
Price ListsImportPriceListsImport price list entities, including campaigns and agreements.
Product InformationImportProductsImport product catalog data. Only one price per product; use ImportSkuPriceList for more prices.
-ImportRelationsImport relations between products or variants.
Price InformationImportSkuPriceListsImport price data for products.
Customer and Company IntegrationsImportCustomersInsert or update customer information and relationships.
Customer and Company IntegrationsImportCompaniesInsert or update company information and relationships.
Supplier IntegrationImportProductsImport supplier product catalogs.

Note: Each method above is asynchronous and requires a special header, described below.

Required Headers for Asynchronous Calls

All asynchronous calls must include the X-Stormconnect-Header. This header specifies which fields in the message body should be processed or updated.

Header Example:

X-Stormconnect-Header: {Header object}

Why is this required?
This design improves performance by only updating fields that have changed. The header tells Norce Commerce Connect which fields to process. Fields not listed in the header are ignored during import.

Application ID Header

You must specify an applicationId (or application-id) header (an integer) for all calls. This identifies the application context for the API call. For most use cases, the specific application does not affect the data, as it is shared for the client.

Job Tracking

All asynchronous calls return a job ID if successful. You can track job status in the Admin UI (Integration Status) or via API (list job, get job, etc.).

  • Use the job ID to track import progress.
  • Call Job.Get or subscribe to JobCompletedEvent in the Admin UI. See Norce Commerce Event.

Restarting a Job

To rerun a job, call the Job.Restart method. This uses the original payload and restarts the job.

  • Jobs can only be restarted while the payload is cached (about two weeks after import).
  • Jobs can only be restarted after the previous run is finished.

Best Practices for Data Imports

Use Asynchronous Methods for Bulk Updates

Asynchronous methods are designed for updating many items at once. Avoid sending one-at-a-time updates, as this increases processing time and queue length. Instead, accumulate changes and send them in batches (e.g., every 60 minutes).

Why?
High-throughput, batched updates reduce queue size and improve performance. Frequent, single-item updates can cause long lead times.

Additional Functionality

Client Libraries

For .NET platforms, Norce provides client libraries as a NuGet package. These include contracts and a REST helper class.

Synchronous Notifications

Most outgoing messages use the Norce Commerce Event solution (asynchronous publish-subscribe). Some scenarios require synchronous outgoing calls, such as specific workflows before/after external system calls.

Common Practices and Recommendations

Rate Limits

Norce Commerce Connect enforces a rate limit of 60 requests per minute per customer.

Using System Accounts

Include an AccountId in requests, to make the data traceable in Norce Commerce. This is a system account created in the Admin UI (System Settings).

Full Feeds and Change Feeds

All imports can be marked as fullfile. When fullfile is true, Norce deactivates items missing from the feed, resetting the catalog.

Recommended practice:

  • Use change feeds (fullfile = false) for regular updates.
  • Periodically (daily, weekly, or monthly), send a full feed (fullfile = true) to "self-repair" the catalog.

See System Integration Patterns for more details.

Postman Examples

Further Reading

Common Integration Scenarios

Additional Integration Tools

Currently, there are only some few scenarios using synchronous notifications.