Skip to content
Last updated

Overview

This page provides a technical guide to using Norce Commerce Services, including authentication, environments, error handling, and best practices for integrating with Norce's REST-based microservices.

Norce Commerce Services Introduction

Norce Commerce Services is a suite of RESTful microservices designed to support eCommerce applications built on the Norce Commerce platform. This documentation explains how to interact with these services, including environment setup, authentication, and error handling.

Reference Documentation

Environments

Norce provides multiple environments for development, testing, and production. Each environment has a specific URL structure and purpose.

Environment Types

EnvironmentPurposeURL Pattern Example
ProductionLive client applications[clientname].api-[region].norce.tech/commerce/[servicename]/[version]
PlaygroundExperimentation and development[clientname].api-[region].playground.norce.tech/commerce/[servicename]/[version]
StagePre-production testing[clientname].api-[region].stage.norce.tech/commerce/[servicename]/[version]
Old/LabDeprecated, use Playground or Stageapi.lab.storm.io
DemoDeprecated, replaced by open playgrounddemo.storm.io

Note: For Norce [Storm], use api.storm.io or [clientname].storm.io with /stormapi/1.1 or /api/1.1 as appropriate.

See Infrastructure Environments for more details.

Additional Environments

Clients can request extra environments (e.g., parallel staging) by setting up new tenants. These may incur additional costs.

API Examples

Communication Protocols

Norce Commerce Services use REST exclusively. Norce [Storm] supports SOAP for backward compatibility only.

Authentication and Authorization

Norce Commerce Services uses OAuth2 for authentication. Credentials are managed in the admin UI.

Note

Norce [Storm] previously used client certificates for authentication. This method is now deprecated and no longer supported.

Required Headers

When making API requests, include the following header:

  • applicationId: Integer. The ID of the application for which you are accessing the API.

Installation and Client Libraries

To set up OAuth2 access, follow the instructions in Accessing APIs with OAuth2 Accounts.

For open-source client libraries, see StormCommerce on GitHub.

Status Codes and Error Handling

Norce Commerce Services use standard HTTP status codes. Error responses may include additional information in the response body.

Error Response Example

{
  "MessageId": 0,
  "Message": "The basket is missing. Try deleting the cookies for this site and try again.",
  "Orchestration": null,
  "TimeStamp": "/Date(1591968688391+0200)/",
  "Record": "<NameValues xmlns=\"Enferno.Services.Contracts.Expose\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"&gt;&lt;Item&gt;&lt;Name&gt;QuotationMissing&lt;/Name&gt;&lt;Value>The basket is missing. Try deleting the cookies for this site and try again.</Value></Item></NameValues>",
  "Messages": [
    {
      "Key": "QuotationMissing",
      "Value": "The basket is missing. Try deleting the cookies for this site and try again."
    }
  ]
}
  • Messages: A collection of error messages, each with a Key and Value.

See all possible error messages: ListErrorMessages

Client Libraries

For open-source resources, see Client Libraries.

Sample Application

Further Reading