Sitecore Experience Commerce

Commerce Connect Developer Reference

Sitecore Commerce Connect is an e-commerce framework that you can use to integrate Sitecore, including customer engagement functionality, with various external commerce systems.

The Sitecore Commerce Connect framework does not provide integration to any external system by default. It does provide interfaces (empty pipelines) that you can use with Commerce Connect connectors (such as Sitecore Commerce Server connect and Sitecore Commerce Engine connect) to integrate Sitecore with an external commerce system.

In this section, Connect is used as an abbreviation for Sitecore Commerce Connect and ECS is used as an abbreviation for external commerce system.

If you are a developer looking for information about how to integrate Connect with an external commerce system, see the Commerce Connect Integration section.

For a general introduction and overview of the components in Connect, see the Commerce Connect Components section.

Several changes were made to Commerce Connect in version 9.0 including:

  • package and assembly names were changed to reflect a new implementation. Package and assembly names have the postfix Core added, for example, Sitecore Commerce Connect Core. However, namespaces remain the same in the code.

  • The Quantity property of the CartLine class has changed from Integer to Decimal type to allow for fractions.

  • All collections of ReadOnlyCollection type have changed to List type for all domain models.

  • Nested order lines as defined in previous versions of Connect will not work because OData and xConnect do not allow recursion.

  • A new CartSubLine class has been introduced. To avoid recursion, the CartLine class maps to the CartSubLine class as part of the logic in the mandatory converters. A new ParentId property has been introduced on the CartSubLine class to serve the same purpose as nested lines. Because CartSubLine is a nested object, new instances of Cart and CartLine have been introduced as PoCo entities as well.

  • Unsigned Integer is not allowed by OData and xConnect, so it has been changed to Integer everywhere it was used.

  • All Sitecore.Item.IDs have been changed to GUIDs.

  • The Properties (property bag) property on the Request object has been changed from a KeyValue type to a Dictionary<string, object> type and made internal so it does not become serialized. A GetProperties method has been added in case you need to access it.