Skip to main content

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 makes it safe to have multiple systems writing to the same product catalog — each system declares only the fields it owns, and nothing else is touched. See Working with the X-Stormconnect-Header for a practical guide with scenario-based examples.

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.