40
Connecting the odds in the brave world! S itecore C ommerce C onnect Jeroen Speldekamp – MVP @jspathome Alex van Wolferen @avwolferen Sitecore User Group Conference 2015 1

Connecting the odds in the brave world!Sitecore Commerce Connect

Embed Size (px)

Citation preview

Sitecore User Group Conference 2015 1

Connecting the odds in the brave world!Sitecore Commerce Connect

Jeroen Speldekamp – MVP

@jspathome

Alex van Wolferen

@avwolferen

Sitecore User Group Conference 2015 2

Jeroen Speldekamp

• Sitecore MVP since 2011

• Working with Sitecore since 2006

• Thought leadership

• Outside-the-box thinker

• Father of two

• Multicopter/drone builder, gadget freak

• Runner

@jspathome

Alex van Wolferen

• 33 years; born in Nijmegen; live in Groningen

• Lead developer/architect/all-rounder at

Suneco

• 5 years experience with Sitecore

• 10 years professional experience with .NET

• 3D printing enthusiast

• Gadgetfreak

• Running, indoor-cycling,

@avwolferen

Who we are

Sitecore User Group Conference 2015 3

Sitecore Commerce Connect

• “Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an API

for e-commerce with focus on integration and at the same

time, to track, act, and follow up on customer behavior. The

goal is to bring the unique customer engagement features

of Sitecore into e-commerce solutions, regardless of the

back-end e-commerce system being used.”

Sitecore User Group Conference 2015 4

Sitecore Commerce Connect

“Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an API

for e-commerce with focus on integration and at the same

time, to track, act, and follow up on customer behavior. The

goal is to bring the unique customer engagement features

of Sitecore into e-commerce solutions, regardless of the

back-end e-commerce system being used.”

Sitecore User Group Conference 2015 5

Sitecore Commerce Connect

“Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an

API for e-commerce with focus on integration and at the

same time, to track, act, and follow up on customer

behavior. The goal is to bring the unique customer

engagement features of Sitecore into e-commerce solutions,

regardless of the back-end e-commerce system being used.”

Sitecore User Group Conference 2015 6

Sitecore Commerce Connect

“Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an

API for e-commerce with focus on integration and at the

same time, to track, act, and follow up on customer

behavior. The goal is to bring the unique customer

engagement features of Sitecore into e-commerce solutions,

regardless of the back-end e-commerce system being used.”

Sitecore User Group Conference 2015 7

Sitecore Commerce Connect

“Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an API

for e-commerce with focus on integration and at the same

time, to track, act, and follow up on customer behavior. The

goal is to bring the unique customer engagement features

of Sitecore into e-commerce solutions, regardless of the

back-end e-commerce system being used.”

Sitecore User Group Conference 2015 8

Sitecore User Group Conference 2015 9

Sitecore Commerce Connect

“Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an API

for e-commerce with focus on integration and at the same

time, to track, act, and follow up on customer

behavior. The goal is to bring the unique customer

engagement features of Sitecore into e-commerce solutions,

regardless of the back-end e-commerce system being used.”

Sitecore User Group Conference 2015 10

Sitecore Commerce Connect

“Sitecore Commerce Connect is an abstract service layer

and not a stand-alone solution. It is a framework and an API

for e-commerce with focus on integration and at the same

time, to track, act, and follow up on customer behavior. The

goal is to bring the unique customer engagement

features of Sitecore into e-commerce solutions,

regardless of the back-end e-commerce system being used.”

Sitecore User Group Conference 2015 11

Sitecore Commerce Connect

Sitecore User Group Conference 2015 12

Offline

• Started back in 1992 with 1

store and 3 employees

• Currently 23 stores in 18

cities, 200 employees

• ‘Solid’ ERP/PIM running on MS

Access and SQL Server

Bakery Puffy Do & Co

Sitecore User Group Conference 2015 13

Offline

• Started back in 1992 with 1

store and 3 employees

• Currently 23 stores in 18

cities, 200 employees

• ‘Solid’ ERP/PIM running on MS

Access and SQL Server

Online

• Nice website with a store

locator

• Regularly updates on new

products

• Recently adopted Sitecore XP

• No webshop

Bakery Puffy Do & Co

Sitecore User Group Conference 2015 14

What are the options?

• Connect Connectors available for External Commerce

Systems

• Insite Software – InsiteCommerce

• eVision

• Sitecore Commerce Server

• nopCommerce

• uCommerce

Sitecore User Group Conference 2015 15

‘Solid’ ERP/PIM

• MS Access / SQL Server

• Covers not 80% of the

usual e-Commerce stack

• Extendible

• Offline mailing integration

Sitecore

• Sitecore Experience Platform

• Email eXperience Manager

• List Manager

• xDB

• Sitecore Commerce Connect

• Lots, and lots more…

The odds

Sitecore User Group Conference 2015 16

Connect SugCon Connector

• Good old AdventureWorks database

• Products

• Stock/inventory

• Prices

• Shopping cart operations

Sitecore User Group Conference 2015 17

Commerce Connect Architecture

Sitecore User Group Conference 2015 18

Product data in Content

“Augmenting and Adding Presentation Data to Products

There are typically limitations to the kind of information stored in

the commerce system and the number of channels supported.

Usually, the core data is not stored in a presentable way. One of

the premises with Connect is that only the core product data is

included in the ECS. The rest of the information needs to come

from other external systems or can be added in Sitecore.

Sitecore User Group Conference 2015 19

Support for multiple datasources

“In some scenarios, the product data is provided by

multiple sources. For example, core product data can be

provided by the ECS, and the specifications along with

categorization can be provided by a different provider.”

Example:

Two classification systems UNSPEC, CNET - Datasource

Sitecore User Group Conference 2015 20

Synchronization to Sitecore from multiple ERP/PIM ‘s

“ Connect has its own product data model and a Product

Synchronization service layer for exchanging product data with

one or more external systems. The responsibility of the Product

Synchronization service layer is to manage two-way

synchronization of essential product data. The goal is to

synchronize only the data that is needed to satisfy the most

common e-commerce scenarios. In particular cases, the model

can be extended. ”

21

Pipelines, Pipelines, Pipelines

synchronizeProducts

synchronizeArtifacts

SynchronizeManufacture

rsSynchronizeClassifications

SynchronizeDivisions

SynchronizeTypes

SynchronizeResources

SynchronizeSpecifications

synchronizeProductList

SynchronizeProductEntity

SynchronizeProductClassifications

SynchronizeProductDivisions

SynchronizeProductTypes

SynchronizeProductResource

s

SynchronizeProductRelations

SynchronizeProductSpecifications

SynchronizeProductEntity

22

Pipelines, Pipelines, Pipelines

synchronizeProducts

synchronizeArtifacts

SynchronizeManufacture

rsSynchronizeClassifications

SynchronizeDivisions

SynchronizeTypes

SynchronizeResources

SynchronizeSpecifications

synchronizeProductList

SynchronizeProductEntity

SynchronizeProductClassifications

SynchronizeProductDivisions

SynchronizeProductTypes

SynchronizeProductResource

s

SynchronizeProductRelations

SynchronizeProductSpecifications

SynchronizeProductEntity

23

Pipeline Synchronize Types

ReadSitecoreTypes

ReadExternalCommerceSystemTypes

SaveTypesToSitecore

SaveTypesToExternalCommerceSystem

ResolveTypesChanges

Green = OptionalRed = Mandatory

Sitecore User Group Conference 2015 24

Synchronization different ERP/PIM to Sitecore

Sitecore User Group Conference 2015 25

DEMO

Sitecore User Group Conference 2015 26

Great, we’ve synchronized! And now what?

• Products

• Classifications

• Types

• Specifications

• Variants

• Images, downloads

• Etc…

Sitecore User Group Conference 2015 27

Freedom of Items

Sitecore User Group Conference 2015 28

What’s your price?

• Price information

• Inventory/stock information

Sitecore User Group Conference 2015 29

Not included in the product data model?!?

Sitecore User Group Conference 2015 30

Providers!

• CartServiceProvider

• PricingServiceProvider

• InventoryServiceProvid

er

• OrderServiceProvider

• CustomerServiceProvider

• GiftCardServiceProvider

• LoyaltyProgramServicePro

vider

• PaymentServiceProvider

• ShippingServiceProvider

• WishListServiceProvider

Sitecore User Group Conference 2015 31

From InventoryServiceProvider to Pipelines

• getStockInformation

• stockStatusForIndexing

• getPreOrderableInformation

• getBackOrderableInformation

• visitedProductStockStatus

• productsAreBackInStock

• visitorSignUpForStockNotificati

on

• removeVisitorFromStockNotific

ation

• getBackInStockInformation

Sitecore User Group Conference 2015 32

Providers!

• Demo

• PricingServiceProvider

• InventoryServiceProvider

• CartServiceProvider

Sitecore User Group Conference 2015 33

Cart and Engagement Automation

• Abandoned Carts

• Products Back In Stock

• New Order Placed

Sitecore User Group Conference 2015 34

Abandoned Cart

Sitecore User Group Conference 2015 35

Adding product reviews to Sitecore

• Create in sitecore a ProductReview template

• Extend the current productbranch with a ProductReviewsFolder

• Create a new ProductReview class in the domain model

• Create a new ProductReviewsRepository

• Create a new ProductRepository and Inherited from the exiting ProductRepository

• Create a RunSynchronizeProductReviews pipeline

• Create a ReadExternalCommerceSystemProductReviews processor

• Create a SaveProductReviewsToSitecore processor

• Create an include file.

Sitecore User Group Conference 2015 36

DEMO

Sitecore User Group Conference 2015 37

Product types and profiling

• Create a new SaveTypeProfileToProduct processor

• DEMO !!

Sitecore User Group Conference 2015 38

Experience Profile on products

• Custom Profiling based on producttypes

Sitecore User Group Conference 2015 39

Tips & Food for thought

• Scheduled Product Sync (Sander Bouwmeester).

• http://bit.ly/sccproductsync

• Automatic delta sync between Sitecore and ECS (blog comming

soon)

@JSPATHOME @AVWOLFEREN

Sitecore User Group Conference 2015 40

Thank you