Introducing Commerce Connect

Abstract

Commerce Connect integrates webshops with external commerce systems and applies engagement features in e-commerce solutions.

Sitecore Commerce Connect is the Sitecore commerce API for storefront developers and is an integration layer between a front-end webshop solution and a back-end external commerce system. The back-end system can be any e-commerce system for which Commerce Connect connectors have been created by Sitecore or a third-party vendor.

The Commerce Connect service layer has two purposes:

  • Integrating one or more webshops with one or more external commerce systems.

  • Applying the unique customer engagement features of Sitecore in e-commerce solutions, regardless of the external commerce system being used.

Commerce Connect enables e-commerce solutions to use customer engagement features such as tracking customer behavior, acting on it with personalization, and following up with engagement automation and reporting. This is facilitated by having common e-commerce related engagement functionalities integrated into the Commerce Connect framework.

Commerce Connect is designed for end-user business scenarios, including:

  • Business-to-consumer (B2C) sales of tangible goods, digital goods, or online service delivery.

  • Business-to-business (B2B) scenarios that include:

    • Advanced product pricing.

    • Customers having multiple users acting on their behalf.

    • Sales agents acting on behalf of multiple customers.

    • Multiple shopping carts per customer or user.

People who work directly with Commerce Connect include:

  • Sitecore partners, developers, and customers who use the Sitecore Experience Platform to build their e-commerce solutions.

  • Sitecore technology partners or e-commerce system vendors who want to develop connectors to integrate their commerce systems with Sitecore.

The design of the Commerce Connect framework is based on the following principles:

  • Simplicity – the features included in different e-commerce systems vary, therefore, to avoid complicating the architecture of Commerce Connect, it is designed to only support the most common scenarios, and the default domain models provided with Commerce Connect integration layers are kept to a minimum.

  • Extensibility – because the domain models are kept simple, developers who integrate Sitecore with external commerce systems must customize the domain models and the request and response parameters that are exchanged with the external commerce system.

  • Independence – each integration service layer is able to operate independently – there are no interdependencies. This allows different external commerce systems to handle different parts of the integration. However, some domain model objects are used across service layers.

  • Abstraction – each integration service layer is abstract and therefore operates on neutral generic parameters that are not tied to any Sitecore-specific concepts or any external commerce systems.

  • Pipelines – Each integration service layer uses Sitecore pipelines to host the business logic and allow for customizations and extensions.

  • Fallback functionality – Commerce Connect acts as a fallback mechanism in cases where the most common e-commerce scenarios for which Commerce Connect has been designed are not supported by the external e-commerce system. In these cases, Commerce Connect acts as an intermediate storage that supports the missing scenarios and acts as a bridge between Sitecore and the external commerce system. The following are examples of scenarios that are not supported by every external commerce system and are therefore supported by Commerce Connect:

    • Individual but linked entities like customers and users and the many-to-many relationship between them. Some e-commerce systems do not support both customers and users or do not support the many-to-many relationships.

    • Support for multiple shopping carts per user or customer.

    • Detailed shopping cart information, for example, nested sublines.

Because examples are the best way to understand how an API works, to see a simple e-commerce site integrated with nopCommerce as the external commerce system, go to https://github.com/Sitecore/Commerce-Connect-StarterKit/. This site demonstrates the most common scenarios in any e-commerce site, for example, category and product browsing, cart functionality, checkout, a My Account section, and wish lists. You can view the full source and download a pre-built copy on GitHub.

Note

This sample site is purely for educational purposes and has not been built for production nor has it been optimized for high performance or security.

You can run Commerce Connect without xDB enabled. In Experience Management mode, a number of features are not available; all the integration with the external system works unaltered, but the customer engagement has the following limitations:

  • Tracking works in the session but is discarded after the session ends.

  • Engagement automation plans do not work.

  • Reports are empty or non-functioning because no data is persisted in xDB

  • Personalization rules that interact directly with the external commerce system still function, such as rules acting on the number of items in the cart or the cart total.