**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 - [Norce Services API Reference](/api-reference#norce-services) # Environments Norce provides multiple environments for development, testing, and production. Each environment has a specific URL structure and purpose. ## Environment Types | Environment | Purpose | URL Pattern Example | | --- | --- | --- | | Production | Live client applications | `[clientname].api-[region].norce.tech/commerce/[servicename]/[version]` | | Playground | Experimentation and development | `[clientname].api-[region].playground.norce.tech/commerce/[servicename]/[version]` | | Stage | Pre-production testing | `[clientname].api-[region].stage.norce.tech/commerce/[servicename]/[version]` | | Old/Lab | Deprecated, use Playground or Stage | `api.lab.storm.io` | | Demo | Deprecated, replaced by open playground | `demo.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](/solution-portal/infrastructure) 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 - [Norce Commerce Services Postman Examples](https://documenter.getpostman.com/view/2973406/2sA35MzK14) - Read about our Postman examples: [Working with Norce Postman Examples](/developer-portal/working-with-norce-postman-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](https://oauth.net/2/) for authentication. Credentials are managed in the admin UI. - See [Accessing APIs with OAuth2 Accounts](/api-reference/accessing-apis-with-oauth2-accounts) for setup instructions. 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](/api-reference/accessing-apis-with-oauth2-accounts). For open-source client libraries, see [StormCommerce on GitHub](https://github.com/StormCommerce). # 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 ```JSON { "MessageId": 0, "Message": "The basket is missing. Try deleting the cookies for this site and try again.", "Orchestration": null, "TimeStamp": "/Date(1591968688391+0200)/", "Record": "The basket is missing. Try deleting the cookies for this site and try again.", "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](/api-reference/services/exposeservice/openapi/errormessages/listerrormessages) # Client Libraries For open-source resources, see [Client Libraries](/solution-portal/client-libraries). # Sample Application - [The Sample Storefront Project](/developer-portal/the-sample-storefront-project) - [Sample Storefront on GitHub](https://github.com/StormCommerce/Storm.Sample.Storefront) # Further Reading - [Frontend Development Design](/developer-portal/app-development/frontend-development-design) - [Product Presentation](/developer-portal/app-development/working-with-products-and-variants) - [Listing Products and Variants](/developer-portal/app-development/working-with-listing-products-and-variants) - [Basket Lifecycle](/developer-portal/app-development/working-with-baskets) - [Checkout Process](/developer-portal/app-development/working-with-the-checkout-process) - [Customer and Login Process](/developer-portal/app-development/working-with-customers-and-the-login-process)