Top Banner
Technical Specification Document SessionM Cartridge SessionM©2018 Proprietary and Confidential SessionM Integration Version 19
67

SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

Jul 03, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridge

SessionM©2018ProprietaryandConfidential

SessionMIntegration

Version19

Page 2: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page2

1 Contents1. SUMMARY...........................................................................................................................................4

2. COMPONENTOVERVIEW.....................................................................................................................5

2.1 FUNCTIONALOVERVIEW.............................................................................................................5

SessionMProfileActions......................................................................................................52.1.1

SchedulerJobs.....................................................................................................................52.1.2

2.2 USECASE......................................................................................................................................6

2.3 LIMITATIONS,CONSTRAINTS.....................................................................................................10

2.4 ASSUMPTIONS...........................................................................................................................10

2.5 COMPATIBILITY..........................................................................................................................11

3. IMPLEMENTATIONGUIDE.................................................................................................................11

3.1 SETUP.........................................................................................................................................11

3.1.1CartridgeStructure...................................................................................................................11

3.2 INSTALLATION............................................................................................................................13

3.2.1 AddingtheCartridgesinSalesforceCommerceCloudStudio...........................................13

3.2.2 ActivatingtheCartridgeinBusinessManager...................................................................14

3.3 CONFIGURATION.......................................................................................................................15

3.3.1 ImportingMetadata..........................................................................................................15

3.3.2 SettingSessionMCustomSitePreference.........................................................................16

3.3.3 ImportingJobs...................................................................................................................19

3.3.4 ImportingServices.............................................................................................................28

3.4 CUSTOMCODESECTION............................................................................................................39

3.4.1 GenericSection..................................................................................................................40

3.4.2CustomCodeforPipeline.........................................................................................................47

4 OPERATION,MAINTENANCE.............................................................................................................64

4.1 DATASTORAGE..........................................................................................................................64

4.1.1 CustomerProfilelevelattribute........................................................................................64

4.1.2 Orderlevelattribute..........................................................................................................65

4.2 AVAILIBILITY...............................................................................................................................66

4.3 SUPPORT....................................................................................................................................66

5 USERGUIDE.......................................................................................................................................66

Page 3: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page3

5.1 ROLES,RESPONSIBILITES............................................................................................................66

5.2 BUSINESSMANAGER.................................................................................................................66

5.3 STOREFRONTFUNCTIONALITY...................................................................................................67

6 TESTING.............................................................................................................................................67

6.1 TESTCASES.................................................................................................................................67

7 RELEASEHISTORY..............................................................................................................................67

APPENDIXA:ErrorCodes&ErrorMessages.............................................................................................67

Page 4: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page4

1. SUMMARYThisdocumentprovidestechnicaloverviewandimplementationdetailsforeachSessionMserviceintegratedwithinSFCCplatformwithSiteGenesisControllerversion.TheSessionMcartridges(int_int_sessionm_core,int_sessionm_controllers)extendsthefunctionalityofCommerceCloudStorefront,enablingsynchronousandasynchronousaccesstoSessionMLoyaltyCustomerswithserviceslistedbelow.

CustomerProfileSyncUp

• SessionMNewAccoutCreation• SessionMCustomerprofileupdate• SessionMCustomerProfileSync• SessionMCustomerProfileSearch

SessionMRewardRedemption

• SessionMRewardStoreIntegration• SessionMRewardPointRedemption

SessionMExportFeeds

• OrderExport• MasterCatalogExport• NavigationCatalogExport• InventoryExport• RealtimeSyncupFailedCustomersExport

SessionMImportFeeds

• CampaignandPromotionImport• CouponImportImport

SessionMActivityTimeline

• ShowActivitytimelineoforderpurchased,orderconfirmed,offerused,tierchanged

SessionMRewardStore• GetavailableandactiveoffersfromSessionM• ClicktoPurchaseOffersfromSessionM• Useofferstopurchaseproducts

SessionMCleanupTiers• Cleanupthetierstagesthatifuseronthetoptierdon’tshowunnecessary

details.

Page 5: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page5

2. COMPONENTOVERVIEW

2.1 FUNCTIONALOVERVIEW

SessionMProfileActions2.1.1ThissectionprovidesanoverviewforCustomerProfileDataSyncupbetweenSalesforcecommercecloudandSessionMusingSessionMcustomerAPI’s.

SessionMprovidescustomerDataprofilesyncupforthefollowingusecasescenarios

SessionMNewAccoutCreation2.1.1.1SFCCcreateaccountfeatureonstorefronttobeleveragedtointegratewithPushnewaccountcreatedatatoSMforusercreation.CartridgewillbemakingSMPOST“Users”serviceAPIcalltoPOSTthecustomerprofiledataandcreateaccountwithSM.Afterusersuccessfullysubmitthecreateaccountformonstorefront,firstSFCCaccountwillbecreatedandonsuccessfulaccountcreationSM“users”servicePOSTAPIcallwillbemadetocreateprofilewithSM.SMservicecallwillhappeninbackgroundandincaseofsuccess/failurenousermessagewillbedisplayed.Incaseofservicecallfailure,cartridgewillmakeretrytoadefinednumberoftimesandthenafteritwillsendanotificationemailtoamerchantdefinedemailIDwitharawmessageinemailbody.

SessionMCustomerprofileupdate2.1.1.2AftersuccessfulSignIn/SignUptoSFCCaccountandmovingtoaccountsection,customerisabletoseetheirprepopulateddetailsonaccountform.Thisfeatureenablesthecustomertoupdatetheirexistingdetailsbyprovidingthedetailsonaccountfromwithnewcustomerdata.

SessionMCustomerProfileSync2.1.1.3OncethecustomerisSignIntoSFCCaccount,thisfeatureenablesthecustomertoretrieveanexistingcustomerprofilewithalltheprofile’sassociatedattribute

SessionMCustomerProfileSearch2.1.1.4SearchAPIservicetobecalledduringSFCCsigninprocess,whereSMIDisnotavailableintoSFCCcustomerprofile.AftersuccessfulauthenticationinvokethesearchcallforexternalIDandsyncuptherecords.

SchedulerJobs2.1.2TheSessionMcartridgeprovidessupporttoabatchjobstomultiplescenariosasgiveninsection2.1.1.ThesejobsaredefinedforspecifictimeintervalandareconfigurablethroughBusinessManageraspermerchantneed.

Page 6: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page6

2.2 USECASE

S.No Module HLSDescription1 CreateProfile VerifythattheguestusercanCreatecustomeratSessionMwhenuser

registersatSFCCstorefrontfromHeader/MyAccountsection

2 CreateProfile VerifythattheguestusercanCreatecustomeratSessionMwhenuserisinCheckoutpage

3 CreateProfile VerifythattheAnonymoususercompletesCheckoutflowandoptedforAccountCreationinThankYoupagethencanCreatecustomeratSessionMwhenuserregistersatSFCCstorefront.

4 CreateProfile VerifytheAuthtokenwasfetchedfromSMandStoredinSFCCwhenCustomerwascreated

5 CreateProfile VerifythatIfrealtimecreateuserfails,re-tryshouldbeattemptedandfailuretobeloggedandaflagshouldbemarkedagainsttherecordintoSFCCandemailnotificationtobesenttoSessionMforsamefailure

6 SignIn VerifytheAuthtokenwasfetchedfromSMandStoredinSFCCwhenCustomerLogsin

7 UpdateProfile VerifythatwhencustomerupdatesProfiledataatSFCC,sameshouldbeupdatedforcustomerprofiledataatSessionM.

8 UpdateProfile Verifythatwhencustomerupdates/editaddressdataatSFCC,sameshouldbeupdatedforcustomeraddressdataatSessionM.

9 UpdateProfile VerifythatwhencustomercreatesmultipleaddressdataatSFCC,sameshouldbeupdatedforcustomeraddressdataatSessionM.

10 UpdateProfile VerifythatwhencustomerdeletesaddressdataatSFCC,sameshouldbeupdatedforcustomeraddressdataatSessionM.

11 UpdateProfile Verifytheprefferedaddress,ifcustomersmakesaaddressaspreffered

12 UpdateProfile VerifythatIfrealtimeupdateuserfails,re-tryshouldbeattemptedandfailuretobeloggedandanemailnotificationtobesenttoSessionMforsamefailure

Page 7: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page7

13 UpdateProfile VerifythecustomerdatafromSessionMforalreadysynced-upcustomerduringloginatSFCCstorefrontandupdatethecustomerdataatSFCCandcustomerrewardpoints

14 UpdateProfile VerifythecustomerdatafromSessionMforalreadysynced-upcustomerduringloginonCheckoutprocessatSFCCstorefrontandupdatethecustomerdataatSFCCandcustomerrewardpoints

15 UpdateProfile VerifytheFlag"IsSMProfileSyncFailed"ismarkedastrueifSMisdown(foralreadysynced-upcustomerduringloginonCheckoutprocessatSFCCstorefront)

16 SearchProfile VerifytheSFCCalreadyregisteredcustomerwhosemakingfirsttimesync-upcallwithSessionMsystembylogingin.SessionMwillsearchforuserinSessionMsystembasedomemailid.

17 SearchProfile VerifytheSFCCalreadyregisteredcustomerwhosemakingfirsttimesync-upcallwithSessionMsystembyloginin.SessionMwillsearchforuserinSessionMsystembasedomemailid.IfthesearchedemailIddoesnotexistthenupdateaFlagUsernotSyncedinSFCC

18 SyncProfile VerifytheBatchJobtoPulldatafromSessionMforrealtimefailurerecordsonly(RegisteredandsyncedCustomerdatainboththesystem)

19 BatchJobforRecordSync

VerifyBatchJobSuccess/FailurenotificationtoBatchUser

20 RewardsStore Verifythe"RewardsStore"linkispresentin"MyAccount"section(leftpanel)

21 RewardsStore Verifythe"RewardsStore"linkispresentin"MyAccount"headersection

22 RewardsStore VerifytheRewardspageisopeningafterclikingonRewardslink

23 RewardsStore VerifyRewardspageisredirectedtoerrorpageafterclikingonRewardslink,ifAuthtokenisnotgeneratedORduetoanyothererror

24 RewardsStore VerifytheBMpagehasanoptiontoturnon/offSMRewardsPage

25 InventoryFeed VerifytheInventoryJobbyrunningorscheduling

26 InventoryFeed VerifythatemailissenttotheconfiguredemailaddresswithJob

Page 8: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page8

status

27 CatalogFeed VerifytheCatalogJobbyrunningorscheduling

28 CatalogFeed VerifythatemailissenttotheconfiguredemailaddresswithJobstatus

29 PromotionCoupon VerifythattheSessionMCoupon/Promotion/CouponfeedisimportedfromtheSFTPlocationtoBM

30 PromotionCoupon VerifythePromotion/Campaign/CouponinBM.

31 PromotionCoupon RunthebatchjobwithnofeedfileintheFTPfolder.

32 PromotionCoupon Runthebatchjobwithafeedfilewhichisnotintheagreedformat(formattobedefined)

33 PromotionCoupon RunthebatchjobwithincorrectusernameandpasswordintheTransferfromFTPcomponentfromBM.

34 PromotionCoupon VerifythatemailissenttotheconfiguredemailaddresswithJobstatus

35 PromotionCoupon VerifythatSMImportedPromotion/CampaignisappliedduringCheckout/Orderplacementjourney

36 OrderExport VerifytheconfigurationforOrderExport-viaAPICallORviaFeedJob

37 OrderExport VerifythatSFCCOrderstoSessionMviaAPICall

38 OrderExport VerifythatemailissenttotheconfiguredemailaddresswithJobstatus

39 OrderExport VerifythatSFCCOrderstoSessionMviaSFTP

40 OrderExport VerifythatemailissenttotheconfiguredemailaddresswithJobstatus

41 OrderExport VerifytheconfigurationforPaymentmodeismaskedORfullencrypted

42 OrderExport VerifytheOrderXMLforPaymentmode

43 OrderExport VerifytheOrderXMLforSMprovidedCoupon

Page 9: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page9

44 OrderExport VerifytheOrderXMLforSMSalesAssociateID

45 OrderExport EverytimewhenthestatusoftheorderchangeswesendtheoffertoSessionMthattheStatusoftheorderischanged

46 OrderExport CheckiftheOrderissenttoSessionMandhasofferattachedtoitthennotifythatOfferwithdetailstoSessionMtomaketheOfferasredeemed.

47 Redemption Verifyregistereduserisabletoredeemtherewardspointsduringcheckout

48 Redemption Verifyonbillingpagetherewardspointssectionisdisplayed

49 Redemption Verifytheredeemablepointsvaluecannotbegreaterthan%ageofOrdertotal(%ageisdefinedinBM)

40 Redemption VerifytheredemptioninformationissharedwithSMandthecustomerpointbalanceisupdated

51 Redemption VerifyifRedemptionorderAPIservicecalfails,makeretryifstillfailsthenmarkthatorderforJObProcessing.Userwillbeseethankyoupage.evenOrderAPIcallfailed,weneedtoupdatethebalanceintoSFCC.

52 Redemption VerifytheJobshouldpickthefailedordersandmakeorderAPIcallfortheseordersandupdatethepointsbalanceintoSFCCandordercustomattributeswithorderAPIresponsedata

53 Redemption VerifytheCustomPreference"Redemptionlimitinpercentage"inBM

54 Redemption VerifytheCustomPreference"Valueof1SessionMpoint"inBM

55 RetryCreateProfile Verifythatthejobisrunningifandasscheduled.

56 Tier VerifytheTierstatusofthecustomerandTierDisplay

57 Tier VerifyTiershouldbeupdateddynamicallyonthebasisoforderplacementusingRedemptionpoints

58 SalesAssociateID VerifythatSalesAssociateIDfieldispresentInBusinessManagerforeachordercreated

Page 10: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page10

59 SalesAssociateID Verifythatifaddedonstorefront,whenanusermakesanorder,anoptiontoaddSalesAssociateIDispresentoncheckoutpage.

60 SalesAssociateID VerifythatinBusinessManagerCustomPreferences>SessionM,SalesAssociateFieldNamecanbemodified.

61 ActivityTimeline VerifytheUserandShowlast500ActivitiesUserhasdone.

62 ActivityTimeline SetpaginationandnumberofrecordsinthepreferencestoseedataintheActivitytablepage.

63 RewardStore VerifyandgetalltheavailableoffersrelatedtothatuserwhichareactiveandareavailablefromSessionM

64 RewardStore GetuserfunctionalitytopurchasetheavailableoffersfromSessionMusingtheiravailablerewardpoints

2.3 LIMITATIONS,CONSTRAINTSThissectiondetailsthelimitations,constraintsandthebestpracticeformerchantsplanningtointegratetheSessionMcartridgewithCommerceCloudStorefront.

S.No Description1 CommerceClouddoesnothavecapabilitytovalidatecustomersignupemailbelongwith

him/her.SessionMneedtoapplyvalidationchecksattheirendtopreventanypossiblefraudsasifacustomercreatesanSFCCaccountwithanemailwhichisnotownedbyhim/her

2 ThereisapossibilityoftherewardspointinSFCCnotbeinsyncwithSessionM,ifprofilesyncduringloginfailsoriftheorderredemptionservicefailsduringcheckout.TominimizethemisuseoftheredemptionpointsweshouldruntheOrderRedemptionfeedJobonveryfrequentmanneraslowaspossible.ButstilltherewillatimeframebetweenRedemptionsServicefailureatcheckoutandOrderRedemptionJobRan,duringtheperiodpointswillnotbeinSync

3 MerchantneedtowhitelisttheIPaddressintoSessionMfortheintegrationandProductionenvironments

2.4 ASSUMPTIONSThissectiondetailstheassumptionswhileintegrationSessionMcartridge

S.No Description1 ExistingcustomerDataSyncupbetweenSFCCandSMhastobetakencareofflinebyMerchants2 SFCCwillbesendingonlythecustomerprovideduserProfile/AddressdatatoSessionM3 NoBatchJobtoPushcustomerupdatesonRealtimefailure4 SFCCprovidedoutoftheboxCustomerProfilefieldsonlytobeconsideredforsyncup5 SFCCCustomerno.willbeusedtoasexternalIDintoSM,SMneedtousethesameduring

Page 11: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page11

legacydatamigration6 Incaseofmulti-channelupdate(SFCC,Kiosketc),SFCCcustomerIDisconsideredasexternal_id

andotherchannelcustomeridsareconsideredasproxyidsatSessionMside.7 Theorderrewardsredemptionjobwouldbeexecutedtoaverylowfrequentlyaspossible,so

thatthepossibilityofrewardpointsinSFCCnotbeinginsyncwithSessionMisminimaltoavoidmisuseofpoints

8 IfthereisacasewhereacustomergetsadiscountthroughSessionMrewardsredemptionthatheisnoteligibleforduetoSFCCrewardspointsnotbeinginsyncwithSessionM.Thenthecaseneedstobehandledbythemerchantmanually.

9 InCOPlaceOrder.JSorCOPlaceOrder.XML-OrderRedemptionAPIcallneedtobemadebeforePlacingtheOrder.BecauseincaseOrderRedemptionAPIthrowserror,thensystemwillnotallowtoFailOrder,BecauseOrderwithcreatedstateonlycanbeFailed.

10 LookandfeelofRewardsStorepagewillbemanagedbyMerchants/SessionM.11 Merchants/SessionMwillworktogethertomatchtheRewardstorestyleguidewithstorefront12 UIchangesandformvalidationhastobehandledbyMerchantonly,cartridgeonlysupport

basicSFCCoutoftheboxformvalidations13 AuthToken’sexpiryismanagedbySManditisgreaterorequaltoSFCCstorefrontsession14 LookandfeelofRewardsStorepagewillbemanagedbyMerchants/SessionM.15 Merchants/SessionMwillworktogethertomatchtheRewardstorestyleguidewithstorefront16 AuthTokensavedinCustomer’ssmAuthTokenattributewouldbesendtoSMforrenderingthe

Rewardstorepage17 AuthToken’sexpiryismanagedbySManditisgreaterorequaltoSFCCstorefrontsession

2.5 COMPATIBILITYThiscartridgeisintegratedandtestedwithsitegenesiscodebase17.4andcompatibilitymode16.2ofCommerceCloud.

3. IMPLEMENTATIONGUIDE

3.1 SETUPThissectiondescribestheControllerstructureandnameoffilesinSessionMcartridges.

3.1.1CartridgeStructureint_sessionm_core:

• package.json–initializehookorservice

cartridge/scripts:

• adaptor/CustomerProfile.js

Page 12: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page12

• adaptor/Rewards.js• common/CommonConstants.ds• facade/CustomerProfileFacade.js• facade/RewardsFacade.js• helper/SMHelper.js• jobs/DownloadFilesFromSFTP.js• jobs/OrderExportFeed.js• jobs/RedemptionOrderExport.js• jobs/RetrieveMultipleProfilesJob.ds• jobs/SMFetchTierDataJob.js• jobs/UploadFilesToSFTP.js• jobs/RetryCreateProfiles.js• pipelets/AppendTimeStamp.ds• pipelets/GetCatalogExportDetail.ds• pipelets/GetInventoryExportDetail.ds• pipelets/RedeemRewards.ds• pipelets/RegisterCustomer.ds• pipelets/RemoveRewardPoints.ds• pipelets/RemoveRewardsRedemption.ds• pipelets/RetrieveCustomer.ds• pipelets/RewardsPoints.ds• pipelets/UpdateCustomer.ds• services/init/ServiceInit.js• static/default/css/sessionm.css

Templates:

• default/account/tierdetails.isml• default/checkout/redeemablepoints.isml• default/mail/notification.isml• default/rewards/rewards.isml

Properties:

• resources/sessionm.properties

int_sessionm_pipelines:

• SessionM.XML

Pleasereferthescreenshotbelow:

Page 13: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page13

3.2 INSTALLATION

3.2.1AddingtheCartridgesinCommerceCloudStudioTouploadthecartridgesintotheSFCCserveryoufirstneedtoaddthecartridgesintoCommerceCloudstudio.Inordertodothis,followtheseinstructions:

1. InCommerceCloudUXStudioselectinthemenuFile!Import.2. IntheimportdialogselectGeneral!Existingprojectsintheworkspaceandclicknext3. EnsureSelectarchivefileisselectedandselectthecompressedcartridgefilebyclickingonthe

Browsebutton.4. ClickFinishtoimportthecartridge.5. StudiowillnowaskyouifyouwanttolinkthecartridgetoyouractiveCommerceCloudserverconnection.Clickonyesormanuallylinkthecartridgetoyourserverbycheckingtheprojectunderprojectreferencesintheserverconnectionproperties

Page 14: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page14

3.2.2ActivatingtheCartridgeinBusinessManagerBeforetheSessionMfunctionalitycanbecomeavailabletoSiteGenesis,thecartridgeshavetobeaddedtothecartridgepathoftheSiteinquestion.Inordertodothis,followthefollowinginstructions:

1. LogintoBusinessManager2. NavigatetoAdministration!Sites!ManageSites.3. ClickonthesitenameandonthenextpagegototheSettingstab.4. InthetextboxCartridgesappendtothe“:int_sessionm_controllers:int_sessionm_core”before

cartridgeinclusion5. ClickApply.6. ToactivatethecartridgefortheSandbox/Development/Productioninstancesrepeatsteps4and5AfterselectingtheappropriateinstancefromtheInstanceTypedropdownmenu.7. Repeatsteps3to6foreachsitethatistouseSessionM.

Page 15: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page15

3.3 CONFIGURATION

ThischapterwillguidetheusertoconfigurethecartridgeinBusinessManager

3.3.1 ImportingMetadataAllimportfilescanbefoundintheimportfolderwithincartridgeinstallationpack.ToimportallnecessarySessionMsettings,logintotheBusinessManagerandnavigatetoAdministration!SiteDevelopment!Import&Export.NowuploadthesessionM_metadata.xmlfileusingtheuploadbuttonand,finallygobackandusetheimportbuttontoimportthefile.Afterasuccessfulimport,youwillbeabletoconfigurethecustomsitepreferencesaccordingtoyourSessionMaccountdata.Also,verifytheCustomerProfileAttributesinBM(Site->Customers->customers)openanycustomerandnavigatetotheAttributestab.Itshouldbeasbelow:

Page 16: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page16

3.3.2SettingSessionMCustomSitePreferenceInBusinessManager,navigatetotheSiteGenesisSite!SitePreferences!CustomPreferences.AcustomsitepreferencegroupwiththeIDSessionMisavailable.PleaseselectitandedittheattributesaccordingtoyourSessionMaccountdataandthedatashowninfigure.InadditiontotheonessuppliedbySessionMfilloutthefollowingpropertieswiththevalueslistedagainstthem:

Page 17: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page17

Sr.No. SitePreferenceID Description DefaultValue

1 IsSMEnabledEnable/DisablesSessionMfeaturesglobally. YES

2 SMApiKey

TheAPIKeyforyourPropertyintheSessionMPlatform.

Page 18: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page18

3 SMJsUrlTheAPIendpointforyourAPIrequeststoSessionM.

4 smAdminEmailEmailAddresstosendSFCCnotificationsto

5IsSMRewardsPageEnabledcustomer

Enable/DisablesSessionMRewardStorefeature Yes

6 SMRetryAttempt

HowmanytimesdoesSFCCretryAPIrequeststoSessionM. 3

7 smNoOfOrderExported

ThenumberofordersSFCCexportstoSessionMinasinglebatch 10

8 smCcNoExportType

ChoosehowSFCChandlesCreditCardNumbers.Maskednumbersstillexposelast4,encryptedareencryptedwiththepublickeyexposedbelow. Encrypted

9 smOrderRedemetionLimit

ThemaximumpercentageofacartwhichcanbediscountedusingPoints. 80%

10 smPointValueValueofeachLoyaltyPointinUSD Yes

11smRewardsRedemptionEnabled

Enables/DisablestheShopWithPointsfeatureatcheckout. Yes

12 smRewardPageCSSEWCRewardsCloudCSSPath

13 smRewardPageJS EWCRewardsCloudJSPath

14 SMMaxOffers EWCRewardsMaxOffers 1

15 SMIncrements EWCRewardsIncrements 1

Page 19: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page19

16 smOfferIdSMOfferIdtobesendinOrderAPI 42

17smOrderSalesAssociateIDFieldName

SalesAssociateIDfieldwhichcustomercanfill SalesAssociateID

19 smExternalIdType ExternalIdtype SalesForce

20SM_Default_Status_to_complete_Order_Export

DefaultStatustocompleteOrderExport 5

21SM_ISOrder_Export_on_Multiple_Status

EnableOrderExportonMultipleStatus 1

22SessionM_Active_Order_Filter_Values

SessionMActiveValuesForFilteringOrders 0

23 SessionM_Activity_Count SessionMActivityCount 5

24 SessionM_Activity_Pagesize SessionMActivityPagesize 10

3.3.3 ImportingJobsPrerequisite:Makesuretoappend“int_sessionm_pipelines”inBusinessManagerunderManageSites>Settingsforyoursite

Intheintegrationpackage,ajobdefinitionisprovidedinthesessionM_jobs.xmlfile.Allimportfilescanbefoundintheimportfolderwithinthecartridgeinstallationpack.Toimportthisfilefollowtheinstructionsbelow:

1. InBusinessManagernavigatetoAdministration!Operations!Import&Export.2. Clickontheuploadbuttonandinthenextscreenselectthefilebyclickingthebrowsebutton.

Noticethatthefileisintheimportsubdirectory.Afteryouhaveselectedthefileclickontheuploadbutton.

3. Afterthefilehasbeenuploadedclickonthebackbutton.IntheJobSchedulesarea,clickontheImportbutton.

4. SelectthefileyoujustuploadedandclickontheNextbutton.5. AfterthefileissuccessfullyvalidatedclickontheNextbutton.6. MakesureMERGEisselectedandclickontheImportbutton:

PleasefindbelowscreenshotsforImportJobsandlistofJobs:

Page 20: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page20

Page 21: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page21

Enablethejobsthatneedtobeactivated, apply the configurations setting of scheduling into General and Sites sections one by one

3.3.3.1 SMRetrieveMultipleProfileJobThisJobwillpickthelistofcustomerswhicharefailedtosyncedonSFCCandwithflagvalue“IsSMProfileSyncFailed=TRUE”and“IsSMProfileCreationFailed”=FALSEwhichisbeingsetatthetimeofSignIntoSFCCaccountandwhenanewcustomerisregisteredinSessionM.

SFCCreadtheresponsecontainingSMID,external_idandemailandupdatesyncstatusas“IsSMProfileSyncFailed=FALSE”andcustomerprofilerespectively

3.3.3.2 SMExportInventoryfeedJobTheSFCCjob’sframeworkwouldbeleveragedtocreatetheInventoryfeedexportfile.ThefilewillbeintheOOTBSFCCformatandwouldsendtoanSMSFTPlocation.

Page 22: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page22

3.3.3.3 SMProductExportFeedTheexportfeedwouldexportallthecatalogspresentinSFCCi.e.theMastercatalogsandallthesubsequentNavigationcatalogsassignedtothesitesinSFCC.

1. ThexmlfiletobeexportedwouldbecreatedintheSFCCIMPEXfolder.2. AfterthefilehasbeencreateditwouldbeexportedtotheSessionMSFTPlocation.3. AfterthesuccessfulexportthefilewouldbearchivedatapredeterminedlocationinIMPEX.

IfSFTPtransferfailsthenthejobfinisheswitherrorandemailnotificationissentthroughemail

Page 23: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page23

3.3.3.4 SMExportNavigationCatalogFeedJobSFCCnavigationcatalogfeedjobisusedtoexportnavigationcatalogtoSessionMisSFCCOOTBformat.

Page 24: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page24

3.3.3.5 SMImportCouponsJob1. CouponfeedxmldocumentwouldbeintheSFCCformat.2. SiteforwhichthefilewillbeimportedwillbesetinthejobbythemerchantinSFCC.Aspartof

SessionMcartridgejobsetupisdoneforSFCCSiteGenesissite.3. ThexmlfiletobeimportedtoSFCCIMPEXfirst.4. AfterfilehasbeensuccessfullytransferredtoSFCCIMPEX,itwouldbeimportedinSFCC.5. AfterthesuccessfulimportthefilewouldbearchivedatapredeterminedlocationinIMPEX.6. IffileisnotavailableonSFTPtransferthenthejobfinisheswitherrorandemailnotificationis

sentthroughemail.

3.3.3.6 SMImportPromotionsJob1. Campaign&PromotionfeedxmldocumentwouldbeintheSFCCformat.2. SiteforwhichthefilewillbeimportedwillbesetinthejobbythemerchantinSFCC.Aspartof

SessionMcartridge,jobsetupisdoneforSFCCSiteGenesissite.3. ThexmlfiletobeimportedtoSFCCIMPEXfirst.4. AfterfilehasbeensuccessfullytransferredtoSFCCIMPEX,itwouldbeimportedinSFCC.5. AfterthesuccessfulimportthefilewouldbearchivedatapredeterminedlocationinIMPEX.6. IffileisnotavailableonSFTPtransferthenthejobfinisheswitherrorandemailnotificationis

sentthroughemail.

Page 25: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page25

3.3.3.7 SMOrderExportHTTPSJobOrderexportfeedwouldbeleveragingthelatestSFCCJobframework.AlltheorderswouldbeexportedtoSessionMthroughtheJobfeed.

InordertorunOrderExportjob,merchantshouldfirstimportcertificateusingbelowsteps:

1. MerchantshouldcreateavalidCertificateontheirend.2. ImportCertificateinBusinessManagerunderAdministration!Operations!PrivateKeysand

Certificates3. WhileImportingsetAliasas‘sm-orderexportfeed-certificate’.

Referbelowforthesame:

Page 26: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page26

TheorderswouldbeexportedthroughservicecallstoSessionMandtheservicecallbodywouldbeinSFCCsupportedXMLformat

3.3.3.8 SM–SFCCTierStatusDisplay

SFCCtierdatabatchjobwillfetchtierdetailsfromSessionMandstoredthedetailincustomobjectsinSFCCinordertodisplaytierdetailsoncustomeraccountpageaswellasonbillingpage.

1. ABatchJobconfiguredinSFCCBusinessManagershallrun(asperthesetschedule),whichinternallycallSessionMtierdataAPItofetchtierdetails.

2. BasedonresponsereceivedfromSessionM,SFCCcreatecustomobjectforeachtierinordertodisplaytierstatusonaccountandbillingsection.

TheTierinformationhelpcustomertoknowtheircurrenttierstatusandnextpossibletier.

Page 27: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page27

3.3.3.9 RetryCreateProfilesThisJobwillpickthelistofcustomersfromSFCCwhichhaveattributevalue“smUUID”=nullwhichissetwhenanewcustomerisregisteredinSessionM.

It’llcheckifthecustomerexistsonSessionMPlatform.Ifthecustomerexists,itissyncedonSFCCandsmUUIDissetwithuseridfromSessionM.IfthecustomerdoesnotexistonSessionM,customeriscreatedonSessionMPlatformandsyncedwithSFCC.

Page 28: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page28

3.3.4 ImportingServicesToimporttheservicefilefromintegrationpackage,followtheinstructionsbelow:

1. InBusinessManagernavigatetoAdministration!Operations!Import&Export.2. ClickontheuploadbuttonandinthenextscreenselectthefilesessionM_service.xmlbyclicking

thebrowsebutton.Noticethatthefileisintheimportsubdirectory.Afteryouhaveselectedthefileclickontheuploadbutton.

3. Afterthefilehasbeenuploadedclickonthebackbutton.IntheImport/exportServicearea,clickontheImportbutton.

4. SelectthefileyoujustuploadedandclickontheNextbutton.5. AfterthefileissuccessfullyvalidatedclickontheNextbutton.6. MakesureMERGEisselectedandclickontheImportbutton.

BelowisthelistofServicesconsumedinSessionMcartridge:

Page 29: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page29

3.3.4.1 SessionMNewAccoutCreationServiceSFCCCreateProfileservicebuildsanewstandardprofileforacustomer.ProvidestheprimaryoperationforaddingastandardprofiletotheSFCCandspecifyingthatcustomer’scharacteristics.BelowaretheserviceConfigurations:

ServiceConfigurationField ValueServiceName/ID int_sessionm_createprofile

Profile int_sessionm_serviceprofile

Credentials int_sessionm_createprofile

Page 30: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page30

3.3.4.2 SessionMCustomerProfileUpdateSFCCupdateProfileserviceupdatesastandardprofileforacustomerwithnewdata.

BelowaretheserviceConfigurationsforcustomerprofileUpdate:

ServiceConfigurationField ValueServiceName/ID int_sessionm_updateprofile

Profile int_sessionm_serviceprofile

Credentials int_sessionm_updateprofile

Page 31: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page31

3.3.4.3 SessionMCustomerProfileSyncSFCCRetrieveProfileServiceretrievesanexistingstandardprofileforacustomerwithalloftheprofile’sassociatedattributes.BelowaretheserviceConfigurationsforcustomerprofilesync:

ServiceConfigurationField ValueServiceName/ID int_sessionm_retrieveprofile

Profile int_sessionm_serviceprofile

Credentials int_sessionm_retrieveprofile

Page 32: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page32

3.3.4.4 SessionMCustomerProfileSearchSFCCsearchprofileservicesearchesforanexistingstandardcustomerprofile.Returnsthespecifiedcustomerprofilewithallofitsassociatedattributes.

BelowaretheserviceConfigurationsforcustomerprofileSearch:

ServiceConfigurationField ValueServiceName/ID int_sessionm_searchprofile

Profile int_sessionm_serviceprofile

Credentials int_sessionm_searchprofile

Page 33: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page33

3.3.4.5 SessionMExportOrderServiceSFCCExportOrderserviceviaHTTPSisusedtoexportordersplacedbyloggedincustomertoSessionM.TheordersareexportedindefaultSFCCformat.

BelowaretheserviceConfigurationsforSMOrderExport:

ServiceConfigurationField ValueServiceName/ID int_sessionm_exportorder

Profile int_sessionm_serviceprofile

Credentials int_sessionm_exportorder_servicecredential

Page 34: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page34

3.3.4.6 SessionMOrderServiceSFCCOrderserviceisusedtoexportorderstoSFTPforredemptionofrewardpoints.

BelowaretheserviceConfigurationsforSMOrderService:

ServiceConfigurationField ValueServiceName/ID int_sessionm_order

Profile int_sessionm_serviceprofile

Credentials int_sessionm_order_credential

Page 35: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page35

3.3.4.7 SessionMRetrieveMultipleProfileServiceSessionMRetrieveMultipleProfileserviceretrievesmultiplestandardprofilesforcustomerswithalloftheirassociatedattributes.

BelowistheserviceConfigurationsforSMRetrievemultipleCustomerService:

ServiceConfigurationField ValueServiceName/ID int_sessionm_retrievemultipleprofile

Profile int_sessionm_serviceprofile

Credentials int_sessionm_retrievemultipleprofile

Page 36: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page36

3.3.4.8 SessionMSFTPServiceSFCCSFTPserviceisusedtoexport/importfilesbetweenSFCCIMPEXandSessionMSFTPserver.BelowaretheserviceConfigurationsforSMOrderService:

ServiceConfigurationField ValueServiceName/ID int_sessionm_sftpservice

Profile int_sessionm_serviceprofile

Credentials int_sessionm_sftpservice

Page 37: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page37

3.3.4.9 SessionMTierDetailServiceSFCCtierdatabatchjobwillfetchtierdetailsfromSessionMandstoredthedetailincustomobjectsinSFCCinordertodisplaytierdetailsoncustomeraccountpageaswellasonbillingpage.

BelowaretheserviceConfigurationsforSMOrderService:

ServiceConfigurationField ValueServiceName/ID int_sessionm_tierdetail

Profile int_sessionm_serviceprofile

Credentials int_sessionm_tierdetail

Page 38: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page38

3.3.4.10 SessionMActivityTimelineServiceSFCCActivityTimelinepageincaseifyouwantyouruserstoseehowmanypointsarethereintherewalletandwhataretheirrecenttransactionslooklike.WhichwillappearinTierProgresstabunderAccountDetailsection.

BelowaretheserviceConfigurationsforSMOrderService:

ServiceConfigurationField ValueServiceName/ID SessionM_Activity_Timeline

Profile int_sessionm_serviceprofile

Credentials Activity_Timeline

Page 39: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page39

3.4 CUSTOMCODESECTION

Pre-Requisite:Makesurethecontrollercartridgesofsitesite-genesisis(say,e.g.app_sitegenesis_controllersand“int_sessionm_core,int_sessionm_controllers”,and“int_sessionm_pipelines”arespecifiedinSiteSettingspathunderManageSites>MerchantSiteaspercurrentsite.

Thissectioncoversgenericcodechangesforcontroller.

[Note]:AllSitesrelatedconstantsaredefinedinCommonConstants.jsunderint_sessionm_corecartridge.Pleasereferthesamefiletoupdatethevalueforfuturereference.

Page 40: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page40

3.4.1GenericSection

Core-billing.js(compiledtoapp.js)

Update“exports.init”FunctionAddbelowcodetoaddrewardredemptiondiv

varselectedPaymentMethod=$selectPaymentMethod.find(':checked').val();var$redeemRewards=$('#redeempoints');var$removeRewards=$('#removepoints');

AddnewredeemRewardsclickfunctionjustaftercreditCardListonchangefunctiontodisplayRewardpage

//selectcreditcardfromlist$('#creditCardList').on('change',function(){varcardUUID=$(this).val();if(!cardUUID){return;}populateCreditCardForm(cardUUID);//removeserversideerror$('.required.error').removeClass('error');$('.error-message').remove();});$redeemRewards.on('click',function(e){ e.preventDefault();

Page 41: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page41

varredeemableAmount=$("#rewardAmount").val(); varurl=util.appendParamsToUrl(Urls.rewardsPoints,{redeemableAmount:redeemableAmount,format:'ajax'}); $.getJSON(url,function(data){varfail=false;varmsg='';if(!data.success){msg=Resources.BAD_RESPONSE;fail=true;$('#rewardAmount-error').html('Unbaletoredeemgivenamount,pleasetryagainwithotheramount');}else{window.location.assign(Urls.billing);}});});$removeRewards.on('click',function(e){ e.preventDefault(); varredeemableAmount=$("#rewardAmount").val(); varurl=util.appendParamsToUrl(Urls.removeRewardsPromo,{format:'ajax'}); $.getJSON(url,function(data){varfail=false;varmsg='';if(!data.success){msg=Resources.BAD_RESPONSE;fail=true;}else{window.location.assign(Urls.billing);}});});//SMredemption$('#rewardAmount').on('change',function(e){ varamount=$("#rewardAmount").val(); if(amount%1!==0){ varvalue=$(this).val(); amount=parseFloat(value).toFixed(2); $(this).val(amount); } vardollerValue=SitePreferences.SM_AMOUNT_VALUE; vartotal=Math.round((amount/dollerValue)*100)/100; $('#pointslabel').html(total);});

Update“exports.init”FunctionAddbelowcodetoaddofferpurchaseandofferredemptionandcancelappliedcoupondiv.

$('body').on('click','button.offer-redeem',function(e){e.preventDefault();varofferId=$(this).attr('id');varname=$(this).attr('name');

Page 42: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page42

varoffer={'reference_id':offerId,'name':name};varurl=util.appendParamsToUrl(Urls.redeemOffer,{offerId:offerId,format:'ajax'});$.getJSON(url,function(data){varfail=false;varmsg='';if(!data.success){msg=Resources.BAD_RESPONSE;fail=true;alert('error');}else{window.location.assign(Urls.billing);}});});$('body').on('click','button.purchase-offer',function(e){e.preventDefault();varofferId=$(this).attr('offerId');varretailerId=$(this).attr('retailerId');console.log('offerId:'+offerId);varname=$(this).attr('name');varoffer={'reference_id':offerId,'name':name};varurl=util.appendParamsToUrl(Urls.purchaseAvailableOffer,{offerId:offerId,retailerId:retailerId,format:'ajax'});$.ajax({dataType:'json',url:url,async:true}).done(function(response){ if(response.success){ window.location.assign(Urls.billing); }else{ alert("Error:"+response.result.error); }});});$('body').on('click','button.cancel-redeem',function(e){e.preventDefault();varofferId=$(this).attr('id');varurl=util.appendParamsToUrl(Urls.cancelRedeem,{offerId:offerId,format:'ajax'});$.getJSON(url,function(data){varfail=false;varmsg='';if(!data.success){msg=Resources.BAD_RESPONSE;fail=true;alert('error');}else{

Page 43: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page43

window.location.assign(Urls.billing);}});window.location.assign(Urls.billing);});

Core-Resource.ds

Update“ResourceHelper.getUrls”FunctionAddbelowURLforRewardredemption

csrffailed:URLUtils.url('CSRF-Failed').toString(),rewardsPoints :URLUtils.url('SessionM-RedeemRewards').toString(),removeRewardsPromo :URLUtils.url('SessionM-RemoveRewardsPromo').toString(),purchaseAvailableOffer :URLUtils.url('SessionM-PurchaseAvailableOffer').toString(),

Update“ResourceHelper.getPreferences”Function

AddbelowcodetogetamountconfiguredthroughBM

CHECK_TLS:Site.getCurrent().getCustomPreferenceValue('checkTLS'),SM_AMOUNT_VALUE:Site.getCurrent().getCustomPreferenceValue('smPointValue')

Core–Template

Update“accountnavigation.isml”AddbelowconditiontoshowrewardpointsonUIjustafter‘account-nav-registered’contentassert

<iscontentassetaid="account-nav-registered"/> <isifcondition="${!empty(customer.profile.custom.smAuthToken)&&dw.system.Site.current.preferences.custom.IsSMEnabled&&dw.system.Site.current.preferences.custom.IsSMRewardsPageEnabled}"> <spanclass="toggle">Rewards</span> <ul> <li><atitle="Rewards"href="${URLUtils.https('SessionM-ShowRewards')}">Rewards</a></li> </ul> </isif>

Page 44: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page44

Update“accountoverview.isml”Includebelowlinetodisplaytierdetailsonaccountoverviewsectionjustafterclosingof</h1>tag.

<isincludetemplate="account/tierdetails.isml"/> <iscontentassetaid="account-landing"/>

Update“paymentmethod.isml”Includebelowcode3timesinfiletodisplayredeemablepointsonpaymentsectioninsidecreditcard,Billmelaterandcustomprocessorblock.

<divclass="payment-method<isifcondition="${!empty(pdict.selectedPaymentID)&&pdict.selectedPaymentID=='PayPal'}">payment-method-expanded</isif>"data-method="Custom"> <iscomment>TemplateincludedforSessionMpointsredemptiononcheckout</iscomment> <isifcondition="${customer.authenticated&&!customer.profile.custom.IsSMProfileSyncFailed&&customer.profile.custom['smAvailable_points']>0&&dw.system.Site.getCurrent().getCustomPreferenceValue('IsSMEnabled')&&dw.system.Site.getCurrent().getCustomPreferenceValue('smRewardsRedemptionEnabled')}"> <isincludetemplate="checkout/redeemablepoints"/> </isif> ${Resource.msg('billing.custompaymentmethod','checkout',null)}

Update“headercustomerinfo.isml”Addbelowcodeinsidescriptforrewarddisplay

//Userhassessionandisvalidated }elseif(customer.registered){ title=Resource.msgf('global.user.name','locale',null,customer.profile.firstName,customer.profile.lastName); varisSmRewardEnabled=false; varlogoutLink={ href:URLUtils.https('Login-Logout'), title:Resource.msg('global.logout','locale',null), class:'user-logoutbuttonstyle' }; if(dw.system.Site.current.preferences.custom.IsSMEnabled&&dw.system.Site.current.preferences.custom.IsSMRewardsPageEnabled){ isSmRewardEnabled=true; }RemovebelowLogin-logouthrefcodefromlinksection

},{ href:URLUtils.https('GiftRegistry-Start'), title:Resource.msg('global.header.registrylink','locale',null) },{

Page 45: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page45

href:URLUtils.https('Login-Logout'), title:Resource.msg('global.logout','locale',null), class:'user-logoutbuttonstyle' }]; //userhasnosession }AddsmRewardIfCondtionafterlinksectionclosing

}]; if(isSmRewardEnabled&&!empty(customer.profile.custom.smAuthToken)){ varcustomLink={ href:URLUtils.https('SessionM-ShowRewards'), title:Resource.msg('global.header.showrewards','sessionm',null) }; links.push(customLink); links.push(logoutLink); }else{ links.push(logoutLink); } //userhasnosession

Update“summary.isml”HandleSessionMerrormessagesbyapplyingbelowIfconditionPlaceOrderErrorIfcondition

<isifcondition="${pdict.PlaceOrderError!=null}"> <divclass="error-form">${Resource.msg(pdict.PlaceOrderError.code,'checkout',null)}</div> </isif> <isifcondition="${pdict.SmPLaceOrderError!=null}"> <divclass="error-form">${Resource.msg(pdict.SmPLaceOrderError.code,'sessionm',null)}</div> </isif>

Update“ordertotals.isml”Applyrewardredemptiondiscountbyaddingbelowcode

<iscomment>calculateorderleveldiscounts</iscomment> <isscript> varmerchTotalExclOrderDiscounts:dw.value.Money=LineItemCtnr.getAdjustedMerchandizeTotalPrice(false); varmerchTotalInclOrderDiscounts:dw.value.Money=LineItemCtnr.getAdjustedMerchandizeTotalPrice(true); varorderDiscount:dw.value.Money=merchTotalExclOrderDiscounts.subtract(merchTotalInclOrderDiscounts);

Page 46: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page46

</isscript> <issetname="rewardDiscount"value="${LineItemCtnr.getPriceAdjustmentByPromotionID('rewards_points')}"scope="page"/> <isifcondition="${!empty(rewardDiscount)}"> <trclass="order-discountdiscount"> <td>${Resource.msg('sessionm.ordertotoal.label','sessionm',null)}</td> <td><isprintvalue="${rewardDiscount.basePrice}"/></td> </tr> <isifcondition="${orderDiscount.add(rewardDiscount.basePrice)>0.0}"> <trclass="order-discountdiscount"> <td>${Resource.msg('order.ordersummary.orderdiscount','order',null)}</td> <td>-<isprintvalue="${orderDiscount.add(rewardDiscount.basePrice)}"/></td> </tr> </isif> <iselseifcondition="${!empty(orderDiscount)&&orderDiscount.value>0.0}"> <trclass="order-discountdiscount"> <td>${Resource.msg('order.ordersummary.orderdiscount','order',null)}</td> <td>-<isprintvalue="${orderDiscount}"/></td> </tr> </isif> <iscomment>rendereachsingleshipmentorshippingtotal</iscomment>

Update“htmlhead.isml”ApplyRewardandsessioncssonHeaderpageifSMflagisenableformbusinessmanager

<linkrel="stylesheet"href="${URLUtils.staticURL('/css/style.css')}"/><isifcondition="${'IsSMEnabled'indw.system.Site.current.preferences.custom&&dw.system.Site.current.preferences.custom.IsSMEnabled}"> <linkrel="stylesheet"href="${dw.system.Site.current.preferences.custom.smRewardPageCSS}"/> <linkrel="stylesheet"href="${URLUtils.staticURL('/css/sessionm.css')}"/></isif>

Page 47: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page47

3.4.2CustomCodeforPipeline

Account.xml

Update“CreateAccount”NodeAddCallnodeSessionM-RegisterCustomerattheendofnodetoregisterCustomeratSessionM.

2)AdddecisionnodebelowtheGetCustomernode

Makethekeyforthisnodeas!(dw.system.Site.current.preferences.custom.smLoyaltyOptIn)

Page 48: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page48

Andonyesconnectittoanassignnode

Connectthisassignnodetothenextassignnodebelowandconnectthenooptionofthedecisionnodetothisnodeaswell

3)AddanassignnodebelowthesetLogin.dsscript

Page 49: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page49

Update“EditProfile”Node

2)AddanassignnodebelowUpdateFormWithObjectAddressBook:-

Page 50: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page50

3)intheSubmitForm3branchunderconfirmAddadecisionNodebelowthedecisionnodewithkeyas(CurrentForms.profile.customer.email.value==CurrentForms.profile.customer.emailconfirm.value)

Page 51: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page51

Makethekeyforthisnodeas!(dw.system.Site.current.preferences.custom.smLoyaltyOptIn)

Andonyesconnectittoanassignnode

Page 52: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page52

Connectthisassignnodetothenextassignnodebelowandconnectthenooptionofthedecisionnodetothisnodeaswell

4)Repeatboththeabovedecisionandassignnodeinthechangepasswordbranchundertheassignnodewithfrom_0=CurrentForms.profile.customer.email.value

5)AddanassignnodeinthetransactionbranchasshownbelowandacallnodetoSessionM-UpdateCustomer

Page 53: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page53

Page 54: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page54

Page 55: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page55

Address.xml

Update“SetDefault”NodeAddCallnodeSessionM-UpdateCustomerjustaboveAddress-ListjumpnodetoupdateCustomerAddressdetailsatSessionM.

Page 56: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page56

Update“Add”NodeAddCallnodeSessionM-UpdateCustomerjustabovedecisionnodeconnectedtosuccessjsontoupdateCustomerAddressdetailsatSessionM.

Update“DeleteAddress”NodeAddCallnodeSessionM-UpdateCustomerjustaboveAddress-ListjumpnodeattheendtoupdateCustomerAddressDetailsatSessionM.

Page 57: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page57

Update“Edit”NodeAddCallnodeSessionM-UpdateCustomerattheendandjustabovesuccessjsoninteractionnode.

Page 58: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page58

Cart.xml

Update“Add”NodeUpdateRewarddetailsafterremovingproductfromCartbyaddingCallnodeSessionM-UpdateCartRemoveRewardfor‘deleteProduct’transitionaboveCart-Calculate.

Update“updateCart”NodeUpdateRewarddetailsaftercalculatingcartproductbyaddingAddCallnodeSessionM-UpdateCartRemoveRewardaboveCart-Calculate.

Page 59: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page59

COBilling.xml

Update“InitForms”NodeAddDecisionwithcondition“!(CurrentCustomer.authenticated&&dw.system.Site.getCurrent().getCustomPreferenceValue('IsSMEnabled')&&dw.system.Site.getCurrent().getCustomPreferenceValue('smRewardsRedemptionEnabled'))”andCallnodeSessionM-UpdateRewardPointsbeforetheclearFormElementtoupdatetheavailablerewardspointsincustomerprofile.

Page 60: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page60

Update“saveAddress”NodeAddCallnodeSessionM-UpdateCustomerattheendofnodetoUpdateCustomerAddressdetailsatSessionM.

Page 61: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page61

COShipping.xml

Update“SaveAddress”NodeAddCallnodeSessionM-UpdateCustomerattheendofnodetoupdatecustomeraddressdetailsatSessionM.

Login.xml

Update“Process”NodeAddCallnodeSessionM-RetrieveCustomerattheendofnodetosyncCustomerprofilewithSessionM.

Page 62: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page62

COPlaceOrder.xml

Update“Start”NodeBelowcodeisaddedtoupdateSessionMRewardDetailsandRedeemavailablepoints.

1. AddAssignnodebelowtheCOPlaceOrder-CreateOrder.

Page 63: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page63

2. AddDecisionnodewithconditionbelowassign:-(CurrentCustomer.authenticated&&dw.system.Site.getCurrent().getCustomPreferenceValue('IsSMEnabled')&&dw.system.Site.getCurrent().getCustomPreferenceValue('smRewardsRedemptionEnabled')&&!empty(Adjustment))

3. AddacallnodeSessionM-UpdateRewardPointsonfalseofabovedecisionnodeandconnecterrortransitionofcallnodetoerror.

4. On‘ok’transitionaddcallnodeAddCallnodeSessionM-RedeemPointsontrueofabovedecisionnode

5. ConnecttheabovecallnodetoCOPlaceOrder-HandlePaymentsandconnecttoerrorincaseoferror.

Page 64: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page64

4 OPERATION,MAINTENANCE

4.1 DATASTORAGE

4.1.1 CustomerProfilelevelattributeSomeadditionalattributesaredefinedandstoredinProfileobject.ThesearethecustomattributesandwillbesentasapartofProfilerequestobject,sothatthesamecanbeusedbySessionMforfurtherprocessing.

Sr.No. AdditionalCustomFields AttributeId Description

1 SMavailableRewardPoints smAvailablePoints

ThisfieldcapturestheavailableRewardpointsforCustomer

2SessionMStatusofcustomer’saccount smAccountStatus

AccountstatusreturnedbySM

3 SMsuspendstate smSuspended TrueorFalse

4 SessionMTierName smTierNameSMavailableTierforCustomer

5SessionMIdentifierforcustomer smUUID

SessionMIdentifierforcustomer

6 IsSMCreateProfilefailed IsSMProfileCreationFailedSetto“FALSE”ifprofileisnotcreatedinSM

7 SMSearchFailCount smSearchFailCountSetToTRUEifcustomernotfoundinSM

8 SessionMProxyIDs smProxy_idsProfilecreatedotherthanSFCC

9 IsSMProfileSyncFailed IsSMProfileSyncFailedIfprofileisnotsyncedwithSFCC

10 SMAuthToken smAuthToken SMauthenticationtoken

11 SessionMmembersince smMember_SinceSetfoenewSMCustomer

Page 65: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page65

profile

12SessionMrequiredpointsfornexttierlevel

smNextRequiredPoints

Pointsrequiredtoreachnexttierlevel

13 SessionMLoyaltyOptIn smLoyaltyOptInSettoTRUEifthecustomerisoptedin

14SessionM Offers Available To Purchase smOffersAvailableToPurchase

CapturestheoffersavailableinSessionM

4.1.2 OrderlevelattributeSomeadditionalattributesaredefinedandstoredinOrderobject.ThesearethecustomattributesandwillbesentasapartofOrderrequestobject,sothatthesamecanbeusedbySessionMforfurtherprocessing.

Sr.No. AdditionalCustomFields AttributeId Description

1OrderhasbeenexportedtoSessionM smExported

OrderhasbeenexportedtoSessionM

2 SMRedeemedPoints smOrderCustom1 AccountstatusreturnedbySM

3SMOrderTransactionID smOrderCustom2 TrueorFalse

4 SMOrderOfferId smOrderCustom3 SMavailableTierforCustomer

5 SMOrdercustomattribute smOrderCustom4 SessionMIdentifierforcustomer

6 SMOrdercustomattribute smOrderCustom5Setto“FALSE”ifprofileisnotcreatedinSM

7OrderhastoberedeemedbySessionM smOrderTobeRedeemed

SetToTRUEifcustomernotfoundinSM

8 SalesAssociateID smOrderSalesAssociateID String

9 SessionMOffers SessionM_Offers String

10 SessionMTrasactionID SessionM_TrasactionID String

Page 66: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page66

4.1.3BasketlevelattributeSomeadditionalattributesaredefinedandstoredinBasketobject.ThesearethecustomattributesandwillbesentasapartofBasketrequestobject,sothatthesamecanbeusedbySessionMforfurtherprocessing.

Sr.No. AdditionalCustomFields AttributeId Type

1 SessionMOffers SessionM_Offers String

2 SessionMTrasactionID SessionM_TrasactionID String

4.2 AVAILIBILITY

<EXPECTED AVAILABILITY /UPTIME OF ANY EXTERNAL SERVICE, INTERFACES>

<FALLBACK SOLUTION, BEHAVIOR IF EXTERNAL SERVICES ARE NOT AVAILABLE, IMPACT ON CUSTOMER STOREFRONT>

<ANY EXISTING UTILITIES THAT HELP TO DETECT AVAILABILITY/UPTIME OF EXTERNAL SERVICE, E.G. WEBSERVICE CALL, GOMEZ PING>

<ESTIMATED PERFORMANCE METRICS FOR PEAK BUSINESS HOURS IF AVAILABLE>

<NOTIFICATION PROCESS IF EXTERNAL SERVICES, INTERFACES ARE NOT RESPONDING, E.G. HOTLINE /SUPPORT PHONE NUMBER>

4.3 SUPPORT

Name Email SupportType

5 USERGUIDE

5.1 ROLES,RESPONSIBILITESTypicallymostoftheintegrationworksisdonebythebackenddeveloper.Weexpectthatthepersondoingthisintegrationisfamiliarwiththewebservice,xmlprocessingandhashandsonexperiencewiththeCommerceCloudplatform.

5.2 BUSINESSMANAGER

Page 67: SessionM Integration Guide Pipelines 19 · This section provides an overview for Customer Profile Data Syncup between Salesforce ... SFCC create account feature on storefront to be

TechnicalSpecificationDocumentSessionMCartridgeSolutionarchitecture

SessionM©2018ProprietaryandConfidential Page67

NA [As changes required for storefront has been already covered under setup section]

5.3 STOREFRONTFUNCTIONALITY

NA [As changes required for storefront has been already covered under setup section]

6 TESTING

6.1 TESTCASESPleasereferUsecasesectionforthehighleveltestcases.

7 RELEASEHISTORY

Version Date Changes17.0 19-05-2017 InitialRelease–SiteGenesiscompatible

18.1 15-08-2018 Bugfixwithloyaltydetails

APPENDIXA:ErrorCodes&ErrorMessages

Code Description200 Indicatessuccessfulcall;returnedstringcanbeeitherokorerror

401 Indicatesunsuccessfulcall;notauthorized.

404 Indicatesunsuccessfulcall;notfoundbyID

500 IndicatesinternalerrorassociatedwithSessionM