Composable approach to e-commerce with Sitecore OrderCloud

In April 2021 Sitecore announced the completion of their acquisition of Four51 to enhance their ecommerce proposition. Four51 a technology solutions company that designs, develops, and delivers digital transformation through modern, customizable eCommerce, order management and B2B marketplace solutions powered by its MACH (Microservices based, API-first, Cloud-native and Headless) architecture eCommerce platform, OrderCloud. By moving towards MACH architecture, Sitecore are enabling you to take advantage of a composable approach to e-commerce.

OrderCloud is meant to be the backbone of your commerce operations as an API-first, headless platform.

Architecture overview

OrderCloud Portal

When you register for an account on the OrderCloud Portal (which is free) this give you access to create OrderCloud organizations and enables you to manipulate them through their API Console, which you will use frequently when developing Ordercloud Applications.

Developer Tools

OrderCloud provide various SDKs and useful tools for developers to help you get started integrating OrderCloud. Here is a quick summary:

  • JavaScript SDK – is a modern client library for building solutions targeting the Ordercloud eCommerce API.
  • .NET SDK – is a client library for building solutions. Compared to accessing the REST API via direct HTTP calls, this SDK aims to improve dev productivity and reduce errors by providing discoverable, strongly typed wrappers for all public endpoints and request/response models.
  • .NET Catalyst middleware – is a foundational library for creating your own middleware, plug-ins and extensions using .NET Core. This enables you to create your own server side webhooks and integrations for OrderCloud.
  • Headstart – is a full implementation on OrderCloud with a buyer and admin app geared for bootstrapping your project or as a way to learn.
  • Headstart-nextjs – a starter application using NextJS.
  • OrderCloud-seed – is a useful utility for uploading and downloading serialized representations of full ordercloud marketplaces.

OrderCloud is built with Open API standards and their SDKs are generated with libaries such as Swagger, and extended to make it even easier to develop applications.

OrderCloud Building Blocks

OrderCloud provides rich support for modeling a typical B2B organization. Within each organization there is a common hierarchy that is central to controlling the relationship between users and data.

  • Seller Organization – a seller organization exists to own and manage the users, catalogs, and orders within it. It is at the highest level and data is not meant to be shared from seller to seller.
  • Companies – Seller organizations can also be considered a company, along with Buyers and Suppliers. Companies represent the unique entities within OrderCloud that transact and manage relationships with one another. Each type of company has its own purpose.
  • Seller – main purpose is to maintain the buyers’ functions. Typical functions include but are not limited to: Managing products and prices, creating and setting approval rules, defining available shipping and billing addresses for buyer users.
  • Buyer – buy products from the seller.
  • Users – can be part of the seller, buyer, or supplier setup. They allow you to set up a great deal of flexibility in setting up a marketplace and coordinating commerce.
  • User Groups – you can set up user groups that allow you to assign catalogs, permissions, addresses, or other properties. Sellers can create highly personalized experiences for users within each type of company by taking advantage of user group level relationships.
  • Product Catalog – OrderCloud supports publishing any number of variations of your product catalog out to buyers and users.
  • Supplier – is an optional type of organization used in indirect supply chain scenarios. Their main purpose is generally geared towards order fulfillment. Products can be configured to auto-forward to Suppliers when ordered. This in turn will automatically create a new PO, notify the Supplier, and even track costs and profit margins if configured.

Having worked on e-commerce platforms you almost always find your self in the position of having to extend the and customize the data model. To accommodate this, OrderCloud designed Extended Properties (XP) allowing you to do just that. The xp property is exposed on most resources allowing you to build a JSON object containing your custom properties. Your object can be simple or as complex as you need it to be but Ordercloud does provide some best practices. You can find out how to use XP properties here.

Extensibility

Most complex enterprise e-commerce applications require integrations with other applications, OrderCloud’s integration layer allows third-party microservices to be integrated quickly, allowing you to utilize functionality.

To enabled this, OrderCloud provide the following mechanisms:

  • Webhooks – are user-defined HTTP callbacks that can be registered for your entire organization or on an application-specific level, selectively configuring them for any API endpoint as a callback. You can find more info here on using webhooks.
  • Integration Events – are specific areas in OrderCloud where the logic can be extended or delegated around business processes, like determining shipping options. These integration events are a great way to delegate specific functions to your external applications.

Environments

The Portal allows users to access marketplaces from OrderCloud Sandbox, Staging, and Production in a single user interface. Each environment is an isolated, independent instance of the OrderCloud API provisioned with its own host name, dedicated compute resources, isolated data storage, etc.

  • Production (https://api.ordercloud.io) – Is reserved for live apps and is provisioned for high performance, high availability, and geo-redundant data protection.
  • Staging (https://stagingapi.ordercloud.io) – allows you to test code changes or new features before the go to production against production data. Each Sunday a copy of your production data will be restored to staging. Meaning you always have near current data to test against.
  • Sandbox (https://sandboxapi.ordercloud.io) – used for building new apps or you need to test against fake data that never gets overwritten this is the place to do it.

Useful Links

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s