sessionm integration guide pipelines 19 · this section provides an overview for customer profile...

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

Upload: others

Post on 03-Jul-2020

2 views

Category:

Documents


0 download

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