Download - Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

Transcript
Page 1: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page1of22

11/15/12

Salesforce/NexternalCommerceConnectorConfigurationGuide InitialSetup

AfterinstallingtheNexternalCommerceConnectorfromtheSalesforceAppExchangeyouwillneedtomaketwoadjustmentstoyourSalesforceaccountsettings:

1.AddtheNexternaltabtoyourSalesforceaccountpage.2.AddaRemoteSiteSettingtoenabletheCommerceConnectortodownloadinformationfrom

yourNexternalstorefront.PriortoperformingtheinitialimportfromyouNexternalstorefrontpleasereviewtheImportingYourOrderssectiontomakesuretheimportdateshavebeenset(orreset,ifyouhavebeentestingtheaddinbeforeinstallingitinyourproductionSalesforceenvironment),alongwiththeWhatHappensDuringAnImportsectionandtheAdvancedConfigurationsectionbelowtoensuretheimportprocesswon'tconflictwithanyexistinginformationyouhaveenteredintoSalesforce.

AddtheNexternalTabClickonthe tabatthefarrightofyourSalesforceaccountpagetodisplaytheAllTabsconfigurationsettings.

Clickonthe buttontodisplaytheCustomizeMyTabsconfigurationsettings.SelecttheNexternaltabfromthelistofavailabletabs,thenclickthe buttontoaddtheNexternalCommerceConnectortoyourlistofSelectedTabsand tosaveyourconfiguration.

Page 2: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page2of22

11/15/12

AddaRemoteSiteSetting

ClickontheSetuplinkatthetopofyourSalesforceaccountpage,thenopenAdministrationSetup>SecurityControlsandclicktheRemoteSiteSettingslink.

Clickthe button,andenterthefollowinginformationontheRemoteSiteEditpage,and tosaveyourconfiguration.

Page 3: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page3of22

11/15/12

ImportingYourOrders

BeforeyoucanimportyourstorefrontordersintoSalesforceyouwillneedtovisittheNexternalOrderManagementSystemandenabletheSalesforceCommerceConnectorunderSettings>CompatibleSoftware.PleasenotethattheexportstartingdatemighthavetoberesetbyeditingthedatedisplayedintheSyncStartDatecontrolifyouhavebeentestingtheSalesforceCommerceConnectorpriortoinstallingitinyourproductionSalesforceenvironment.Informationaboutwhichorders,customers,andproductshavealreadybeenretrievedfromyourstorefrontbytheNexternalCommerceConnectorisstoredontheNexternalservers.YoucanresetthisinformationbyloggingintoyourNexternalOrderManagementSystemandchangingtheSyncStartDateunderSettings>CompatibleSoftware>Salesforce.OncetheSyncStartDatehasbeenchangedyoucanlogbackintoSalesforceandclickthe buttontorestarttheimportfromtheSyncStartDateyouhaveselected.BydefaulttheNexternalCommerceConnectorwillinitiallysettheimportsynchronizationstartdatetocovertheprevioussixmonths'worthofordersinyourstorefront.Ifyouwouldliketochangethestartdatetoretrievemore(orless)ordersyoucandosofromtheNexternalOrderManagementSystem,underSettings>CompatibleSoftware>Salesforce.

NotethatthepercentageofestimatedstorageuseisaveryroughapproximationoftheactualamountofstoragethatwillbeusedbyyourinitialimportintoyourSalesforceaccount.Thecalculationisbasedonanestimated20MBofstorageperSalesforceaccount;theactualamountofstoragespaceyouhavewilldependontheSalesforceEditionyouareusing.YoucancheckthestoragelimitfromyourSalesforceaccountSetuppageandadjustthepercentagesaccordingly.

Page 4: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page4of22

11/15/12

RememberthatmostSalesforceeditionscomewithafixedamountofstoragespace,andanyordersyouimportwillhavetosharethatspacewithalloftheotherCRM-relatedtasksthatyouareperforming.Pleaseexerciseprudence(andcaution!)whenyouchoseasynchronizationstartdate.Bydefaultonlytheordersthatareflaggedas"Shipped"or"Sent"areexportedfromyourstorefront.Ifyouprefertoexportnew("Unshipped")ordersastheycomeintoyourstorefrontyoucanchangethe"Exportordersbasedon:"valueto"PurchaseDate".

OnceyouhaveconfiguredtheSalesforceCommerceConnectorsettingsintheNexternalOrderManagementSystemyou'rereadytobeingyourinitialimportfromyourSalesforceaccount.SignontoyourSalesforceaccount,selecttheNexternaltab,andenteryourNexternalAccountNameandyourNexternalloginandpasswordintheConnectionCredentialsfields.SelecttheSalesforceUseryouwouldliketoAssignasOwnerduringtheimportprocess,thenclick

tostartimportingtheorder,customer,andproductinformationfromyourstorefront.

Page 5: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page5of22

11/15/12

Onceyouhavecompletedtheinitialsynchronizationyoucanautomateallfutureimportsbyselectingthe checkbox.NotethattheEnableAutomaticUpdatescheckboxwillnotbedisplayeduntilafteryouhavecompletedyourfirstsuccessfulsynchronization!

WhatHappensDuringAnImport

TheNexternalCommerceConnectorisdesignedtousethestandardfieldsinyourSalesforceenvironmentforstoringtheinformationimportedfromyourNexternalstorefront.Theimportprocessitselfissequential(asectionofimporteddataisread,aSalesforcerecordiscreatedorupdatedandwrittenbacktotheSalesforcedatabase),anddoesnotuseany"event-driven"codingtocompleteanyoperations.WhendatafromyourNexternalstorefrontisimportedintoSalesforcethefollowingrelationshipswillbecreated.

• Ingeneral,anewNexternalcustomerrecordwillcreateanewSalesforceAccountrecordandanewSalesforceContactrecordthatisassociatedwiththeAccount.Theonlyexceptionstothisone-to-onemappingare:

o IfanexistingSalesforceAccount"AccountName"fieldmatchestheNexternalcustomerCompanynametheexistingSalesforceAccountrecordwillbeused,andtheNexternalcustomerwillbeaddedtotheAccountrecordasaSalesforceContact.

o IfanexistingSalesforceAccountcontainsaContactrecordthathasanemailaddressthatmatchestheNexternalcustomeremailaddresstheexistingSalesforceContactrecordwillbeused.

• ANexternalorderrecordwillcreateanewSalesforceOpportunityrecord.

• TheorderlineitemsintheNexternalorderrecordwillcreatenewSalesforce

OpportunityLineItemrecords,PricebookEntryrecords,andProduct2recordsthatareassociatedwiththeOpportunityrecord.

• AnyNexternalcustomeractivitieswillcreatenewSalesforceTaskrecords.Note:IfyouareusingtheNexternalFields.propertiesconfigurationfileasdescribedintheNexternalCustomFieldPropertiessectionthenodevalue(s)willbewrittentothefield(s)youhaveassignedinthepropertiesfile.TheNexternalCommerceConnectorisdesignedtoalwaystreatorders,customers,andproductsthatare

Page 6: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page6of22

11/15/12

importedfromtheNexternalstorefrontinthismannersothataone-to-onerelationshipbetweenthedataintheNexternalOrderManagementSystemandtheSalesforceenvironmentismaintained.PleaseseetheIssuesEncounteredDuringAnImportsectionbelowformoreinformation.TheNexternalCommerceConnectorwillalwaystrytopreserveanyexistingSalesforceAccountand/orContactinformation,evenifitmeansatechnicallyincorrectassignmentorassociationiscreatedduringtheimport.Forexample,assumethereisapre-existingSalesforceContactrecordforJohnDoewiththeemailaddress"[email protected]".AnorderfromJaneSmithisimportedfromyourNexternalstorefrontthathastheemailaddress"[email protected]".Aftertheimporttheorder(SalesforceOpportunity)willbeassociatedwithJohnDoe.ASalesforceContactrecordforJaneSmithwillnotbecreated,andthecustomerinformationforJaneSmithwillnotoverwritetheSalesforceContactinformationforJohnDoe.Note:IfyouaregoingtomergecustomersinyourNexternalstorefront,alwaystrytomergetherecordsintoanexistingSalesforceContactrecordthathasalreadybeenimportedbytheNexternalCommerceConnectorandassigneda"Nexternal"LeadSourcevalue.

IfyouhavedifferentrequirementsfordataimportedintoyourSalesforceenvironmentpleasecontactyourNexternalAccountManager.Wecanprovidethesourcecodefortheaddintoyourdeveloperor

Page 7: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page7of22

11/15/12

consultantsothattheycantailortheimportprocesstomeetyourneeds.

TheImportedDataTheimportcomesintotheNexternalCommerceConnectorasanXMLdocument,andcertainfieldsinthedocumentareusedbytheaddintopreventduplicaterecordsfrombeingcreatedinyourSalesforceaccount.AnexampleoftheNexternalSalesForceReplyislocatedinyourStaticResourcesarea(SalesforceSetup>AppSetupSection>Develop>StaticResources)underthenameSalesforceReply,andcanbeusedasareferenceforthefieldsdescribedbelow.<AccountID>NexternalstorefrontnumbercombinedwiththeNexternalcustomernumber(e.g.1362-1084).ThevalueintheAccountIDnodeiswrittentotheSalesforceAccount.AccountIdfield,andisusedtofindexistingNexternalcustomersthathavebeencreatedduringapreviousimport.IfthisfieldischangedorremovedanewSalesforceAccountrecordwillbecreatedthenexttimethecustomernumberispartofanimport.Therearetwoexceptionstothiscondition:

(1) Ifthevalueinthe<Account><Company>nodematchesanexistingSalesforceAccount.NamefieldandtheAccount.AccountIdfieldcontainsaNexternalcompanyidentifier(a"C"followedbyanintegernumber)thematchingAccountrecordwillbeused,andanewContactrecordwillbecreated(oranexistingrecord,asperexception(2)below,willbeused).

(2) IfamatchingAccountrecordisn'tfoundasecondarysearchwillbeperformedforanySalesforceContactrecordsthathaveaContact.Emailfieldthatmatchesthevaluecontainedintheimported<Account><EMail>node.IfamatchisfoundtheSalesforceAccountrecordassociatedwiththematchingContactrecordwillbeusedinstead.

AmodifiedversionoftheAccountIDnodeisalsousedintheSalesforceContact.LeadSourcefieldtoidentifyContactrecordsthathavebeencreatedduringanimportand/orassociatedwithanexistingSalesforceContactrecordduringanimport.IftheContact.LeadSourcefieldischangedorremovedanewSalesforceContactrecordwillbecreatedthenexttimethecustomernumberispartofanimport(oranexistingrecord,asperexception(2)above,willbeused).

<OpportunityID>NexternalstorefrontnumbercombinedwiththeNexternalordernumber(e.g.1362-4148).ThevalueintheOpportunityIDnodeiswrittentotheSalesforceOpportunity.Namefield,andisusedtofindexistingNexternalordersthathavebeencreatedduringapreviousimport.IfthisfieldischangedorremovedanewSalesforceOpportunityrecordwillbecreatedthenexttimetheordercustomernumberispartofanimport.TheOpportunityIDnodevalueisalsousedtoassociatetheSalesforceOpportunitywithoneormoreSalesforceOpportunityLineItemrecords(OpportunityLineItem.OpportunityId),oneormoreSalesforce

Page 8: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page8of22

11/15/12

Taskrecords(Task.WhatId),andwiththeSalesforceContactthatplacedtheoriginalorderintheNexternalstorefront(OpportunityContactRole.OpportunityId).

<LineItemID>NexternalstorefrontnumbercombinedwiththeNexternallineitemnumber(e.g.1362-2174).ThevalueintheLineItemIDnodeiswrittentotheSalesforceOpportunityLineItem.Descriptionfield,andisusedtofindexistingNexternalorderlineitemsthathavebeencreatedduringapreviousimport.TheLineItemIDnodevalueisalsousedtoassociatetheSalesforceOpportunitywithoneormoreSalesforceOpportunityLineItemrecords.

<ProductCode>NexternalstorefrontnumbercombinedwiththeNexternalproductnumber(e.g.1362-32218).Iftheproducthasaproduct-levelSKUvaluedefinedtheSKUvaluewillbeusedinsteadoftheproductnumber(e.g.1362-ff062).Iftheproductisagiftcertificatethegiftcertificatecodewillbeused(e.g.1362-fisher2320).Note:Ifthe"UseSKULevelCode"keyissetto"true"intheNexternalFields.propertiesconfigurationfiletheindividualSKU-levelitemsfromyourstorefrontorderswillbeusedtocreateProductrecordsonSalesforce.PleasecontactyourNexternalAccountManagerforadditionalinformationaboutthissetting,asitmightnotbesuitableforusewithyourstorefront.ThevalueintheProductCodenodeiswrittentotheSalesforceProduct2.ProductCodefield,andisusedtofindexistingNexternalproductsthathavebeencreatedduringapreviousimport.IfthisfieldischangedorremovedanewSalesforceProduct2recordwillbecreatedthenexttimetheproductnumberispartofanimport.TheProductCodenodevalueisalsousedtoassociatetheSalesforceOpportunityLineItemwithaSalesforceProduct2recordviatheSalesforcePricebookEntryrecord.Note:DonotchangeoralterthePricebookinformationforproductsimportedintoSalesforcefromyourNexternalstorefront.NexternalproductsneedtobeassociatedwiththeSalesforceStandardPricebook.NotethatchangingtheProductCodevalueafteranimportmightresultinreassignmentofanyexistingSalesforcelinkagesbetweennewandexistingOpportunityLineItemsandlossofthePricebookEntryrecordlinkages.

TheImportProcess

AftereachbatchofdataisimportedtheinformationwithintheXMLdocumentisparsedandprocessedasfollows.NotethateachstepbelowwillusetheinformationdescribedinTheImportedDatasectiontoretrievepre-existingrecordsifpossible,andtheSalesforcerecordsthatarecreatedorupdatedduring

Page 9: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page9of22

11/15/12

eachsteparecommittedtotheSalesforcedatabasebeforeproceedingtothenextstep.

(1) The<Account>nodeisselected,andaSalesforceAccountrecordisretrievedorcreated.(2) All<Product>nodeswithinthe<Account>nodeareselected,andSalesforceProduct2recordsare

retrievedorcreated.(3) All<Opportunity>nodeswithinthe<Account>nodeareselected,andSalesforceOpportunity

recordsareretrievedorcreated.The<Product>nodesarereselectedsothatarelationshipbetweentheOpportunityandtheProduct2recordscanbeestablishedviatheSalesforcePricebookEntryrecord.

(4) All<OpportunityLineItem>nodeswithinthe<Account>nodeareselected,andSalesforceOpportunityLineItemrecordsareretrievedorcreated.The<Opportunity>and<Product>nodesarereselectedsothatarelationshipbetweentheOpportunityLineItemandPricebookEntryrecordscanbeestablished.

(5) Theselected<Account>nodeisusedtoretrieveorcreateaSalesforceContactrecord,andtheContactrecordisusedtoestablishtherelationshipbetweentheAccountandtheContactviatheSalesforceAccountContactRolerecordandtherelationshipbetweentheContactandtheOpportunityviatheSalesforceOpportunityContactRolerecord.

(6) The<ActivityHistory>nodeisselected,andall<Activity>nodeswithinthe<ActivityHistory>nodeareaddedasSalesforceTaskrecords.

IssuesEncounteredDuringAnImportEachofthepreceedingstepsperformsanupdateonyourSalesforcedata,soifyouhaveanycustomtriggers,rules,filters,orthird-partyaddinsinyourSalesforceenvironmentthatare"listening"forchangeeventsonSalesforceobjectsyoumightencounterproblemsduetodatafields,dependencies,orrelationshipsthathaveyettobecreated.IfthisisthecasewestronglyrecommendthatyouinstalltheNexternalCommerceConnectortoyourSalesforceenvironmentsandboxandconductsometest-runsbeforeinstallingtheaddininyourproductionenvironment.InsomecasestheissuesyoumightencounterduringyourtestscanbemitigatedbycreatingcustomfieldsinyourSalesforceenvironmentandmappingoneormoreNexternalfieldstothesecustomfields.PleaseseetheAdvancedConfigurationsectionbelowformoreinformation.IfyouhaveanyofthesekindsofinteractionissueswiththeNexternalCommerceConnectorpleasecontactyourNexternalAccountManager.Wecanprovidethesourcecodefortheaddintoyourdeveloperorconsultantsothattheycantailortheimportprocesstomeetyourneeds.

ImportingMultipleStorefrontsIfdesired,theNexternalCommerceConnectorcanimportordersfrommultiplestorefrontsintoasingleSalesforceenvironment.Alloftheinformationrelatedtoanorder(e.g.Account,Contact,Opportunity,etc.)isimportedwithauniquestorefrontnumber,whichisusedtocreateuniquerecordsinyourSalesforceenvironment.

Page 10: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page10of22

TheonlyexceptiontothisbehaviourisforNexternalcustomerrecordsthathaveaCompanyname(seethe"CompanyField"optionsintheNexternalOrderManagementSystem>Customers>Types>EditCustomer&ActivityTypes(Page2)).IfthesameCompanynameisusedinmorethanoneofyourNexternalstorefrontsonlyoneCompany-typeSalesforceAccountrecordwillbecreatedandusedforallCustomers(SalesforceContacts)thatareimported.PleaseseeWhatHappensDuringAnImportformoreinformationabouthowCompanyAccountrecordsarecreated.Ifyouwanttoimportmultiplestorefrontsusingtheautomaticupdatefeature,eachofthestorefrontsmustbeconfiguredusingaseparateSalesforceLogin,sothatuniqueSalesforceCronTriggertaskscanbecreatedtomanagetheinformationrequiredbytheaddinwhenschedulinganimportforeachstorefront.Intheexamplebelow,twodifferentSalesforceUsers("FirstUser"and"SecondUser")haveloggedintoSalesforce,selectedthe"Nexternal"addintab,enteredtheConnectionCredentialsforaNexternaldemonstrationstorefront("fairway"and"winery"),andaftersuccessfullyperformingtheinitialsynchronizationtheyhavecheckedthe"Enableautomaticupdates"checkboxtocreatetwonewScheduledJobswithintheSalesforceenvironment.

Page 11: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page11of22

AdvancedConfiguration(Optional)

NexternalCustomFieldSettingsTheNexternalCommerceConnectorisdesignedtousethestandardfieldsinyourSalesforceenvironmentforstoringtheinformationimportedfromyourNexternalstorefront.IfyouhaveexistingCRMdataenteredintoyourSalesforceaccount,orifyouintendtousetheNexternalCommerceConnectorinconjunctionwithanotherSalesforceapplicationorAppExchangeaddin,youmightneedtocreateaNexternalCustomFieldsconfigurationfile.TheillustrationsbelowintheSalesforceObjectssectionoutlinetheSalesforceobjectsandstandardfieldsusedbytheNexternalCommerceConnector,andincludeabriefdescriptionofthestorefrontdatathatwillbeimportedintoeachfield.AnexampleoftheNexternalSalesForceReplyObject(XML)willbecopiedintoyourStaticResourcesarea(SalesforceSetup>AppSetupSection>Develop>StaticResources)underthenameSalesforceReplyduringtheinstallationoftheNexternalCommerceConnector,andcanbeusedasareferenceforthefieldsdescribedbelowintheNexternalResponseNodecolumns.Thesectionfollowingthisone,NexternalCustomFieldProperties,describesthecontentsoftheJava"properties"filethatcanbeusedtochangetheSalesforceobjectfield(s)whereyourNexternalinformationwillbestored.

Page 12: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page12of22

SalesforceObjects

SalesforceAccountObject

Nexternal Response Node Salesforce Object and

Field Description

Account/AccountID Account.AccountNumber Customer Number(1) Account/Company Account.Name Company Name(2) Account/Name Account.Name Customer Name Account/EMail Account.Site Email Address Account/Billing/Street Account.BillingStreet Billing Address Account/Billing/City Account.BillingCity Billing City Account/Billing/State Account.BillingState Billing State Account/Billing/Zip Account.BillingPostalCode Billing Zip Code Account/Billing/Country Account.BillingCountry Billing Country Account/Shipping/Street Account.ShippingStreet Shipping Address Account/Shipping/City Account.ShippingCity Shipping City Account/Shipping/State Account.ShippingState Shipping State Account/Shipping/Zip Account.ShippingPostalCode Shipping Zip Code Account/Shipping/Country Account.ShippingCountry Shipping Country Account/CustomerType Account.Type Customer Type(3) Account/Description Account.Description Age Verification(4) Account/Phone Account.Phone Phone Number

(1) IftheSalesforceAccount.Typefieldis"Residential"theSalesforceAccount.AccountNumberfield

Page 13: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page13of22

willcontaintheNexternalCustomerNumber.IftheSalesforceAccount.Typeis"Business"theSalesforce.AccountNumberfieldwillcontainanauto-generated(andauto-incremented)numericvalueprefixedwiththeletter"C".Thisauto-generatedvalueisusedbytheNexternalCommerceConnectortoqueryforandselect"Business"accountsthatcanbeusedastheparentAccountforoneormoreContacts.See(2)and(3)belowformoreinformationabouthowSalesforceAccountsandContactsareprocessed.

(2) IftheCompanyNamefieldinaNexternalCustomerrecordisempty(blank)theNexternal

CommerceConnectorwillcreateaSalesforceAccountandamatchingSalesforceContactusingtheNexternalCustomerrecord.BothSalesforceobjectswillbelabelledwiththeCustomerName.IftheCompanyNamefieldisnotemptytheNexternalCommerceConnectorwilltrytofindaSalesforceAccountthatmatchestheCompanyName,and,ifoneisfound,itwillcreateaSalesforceContactandattachittotheexistingSalesforceCompanyAccount.IfamatchingAccountisnotfoundanewSalesforceAccountbasedontheNexternalCustomerinformationwillbecreatedusingtheCompanyName,andanewSalesforceContactwillbecreatedandattachedtothenewSalesforceAccount.

(3) TheNexternalCustomerTypeisusedintheSalesforceAccountContactRole.Rolefield.Whena

newSalesforceAccountobjectiscreatedtheAccount.Typefieldissettoeither"Business"or"Residential",dependingonwhetherornotaCompanyNameisinvolved.

(4) IfAgeVerificationisenabledinthestorefrontOrderManagementSystemtheAgeVerification

FlagandAgeVerificationNotesarepassedtotheSalesforceAccount.Descriptionfield.Seealso:WhatHappensDuringAnImport

Page 14: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page14of22

SalesforceContactObject

Nexternal Response Node Salesforce Object and

Field Description

Contact/Name/LastName(1) Contact.LastName Customer Last Name Contact/Name/FirstName Contact.FirstName Customer First Name Contact/Mailing/Street Contact.MailingStreet Billing Address Contact/Mailing/City Contact.MailingCity Billing City Contact/Mailing/State Contact.MailingState Billing State Contact/Mailing/Zip Contact.MailingPostalCode Billing Zip Code Contact/Mailing/Country Contact.MailingCountry Billing Country Contact/Phone Contact.Phone Phone Number Contact/Email Contact.Email Email Address(2) Contact/LeadSource Contact.LeadSource Nexternal (Customer

Number)(3)

(1) NotethatinthisinstancetheNexternalResponseNodecolumnisamappingplaceholderforContact-levelinformationthatactuallycomesfromthe"Account/*"nodes.SeethenotesforSalesforceAccountObjectformoreinformation.

Page 15: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page15of22

(2) WhenaNexternalCustomerrecordisinitiallyimportedintoaSalesforceaccounttheNexternal

CommerceConnectorwillusetheContact/Emailnodetotryandfindamatching(pre-existing)SalesforceContact.IfthesameemailaddressisusedformorethanoneContact(ormorethanoneNexternalCustomer)onlythefirstmatchfoundwillresultinabindingbetweenthatspecificNexternalCustomerandthatspecificSalesforceContact;allsubsequentNexternalCustomerssharingthatemailaddresswillcreatenewSalesforceContactobjects.

(3) TheSalesforceContact.Leadsourceisusedtostorethesouceofthelead(yourNexternal

storefront)andtheNexternalCustomerNumber.Seealso:WhatHappensDuringAnImport

Page 16: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page16of22

SalesforceOpportunityObject

Nexternal Response Node Salesforce Object and

Field Description

Opportunity/OpportunityID Opportunity.Name Order Number Opportunity/CloseDate Opportunity.CloseDate Ship Date Opportunity/NextStep Opportunity.NextStep Payment Method and P.O.

Number Opportunity/StageName Opportunity.StageName Status (always "Closed

Won") Opportunity/Type Opportunity.Type Placed By Opportunity/LeadSource Opportunity.LeadSource Lead Source (always

"Nexternal") Opportunity/OrderDate Opportunity.Description(1) Creation Date Opportunity/OrderNet Opportunity.Description Net Price Opportunity/Coupon Opportunity.Description Coupon Discount(s) Opportunity/Discount Opportunity.Description Other Discount(s) Opportunity/Tax Opportunity.Description Tax Opportunity/Shipping Opportunity.Description Shipping Opportunity/Amount Opportunity.Description Total Price Opportunity/Comments Opportunity.Description Customer Comments

(1) NotethatthelasteightfieldsareconcatenatedandstoredintheOpportunity.Descriptionfieldbydefault.SeeNexternalCustomFieldPropertiesformoreinformation.

Page 17: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page17of22

SalesforceOpportunityLineItemObject

Nexternal Response Node Salesforce Object and Field Description OpportunityLineItem/Quantity OpportunityLineItem.Quantity Line Item Quantity OpportunityLineItem/ServiceDate OpportunityLineItem.ServiceDate Line Item Ship Date OpportunityLineItem/UnitPrice OpportunityLineItem.UnitPrice Line Item Unit Price OpportunityLineItem/LineItemID OpportunityLineItem.Description(1) Line Item Number OpportunityLineItem/ShipTo OpportunityLineItem.Description Line Item ShipTo

Address OpportunityLineItem/TrackingNo OpportunityLineItem.Description Line Item Tracking

Number

(1) NotethatthelastthreefieldsareconcatenatedandstoredintheOpportunityLineItem.Descriptionfieldbydefault.SeeNexternalCustomFieldPropertiesformoreinformation.

Page 18: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page18of22

SalesforceProduct2Object

Nexternal Response Node Salesforce Object and

Field Description

Product2/ProductName Product2.Name Product Name Product2/ProductCode Product2.ProductCode(1) Product Number Product2/Family Product2.Family Product Category Product2/Vendor Product2.Description(2) Product Vendor Product2/Description Product2.Description Product Description

(abbreviated)

(1) See<ProductCode>inTheImportedDataformoreinformationaboutalternativefieldvalues.(2) NotethatthelasttwofieldsareconcatenatedandstoredintheProduct2.Descriptionfieldby

default.SeeNexternalCustomFieldPropertiesformoreinformation.

Page 19: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page19of22

NexternalCustomFieldProperties

IfyouareusingtheNexternalCommerceConnectorwithabrandnewSalesforceaccount,andyourSalesforceaccountwillneverbeusedforanythingexceptimportingorder,customer,andproductinformationfromyourNexternalstorefrontintotheSalesforceCRM,then

YouDONOTneedtohaveaNexternalFields.propertiesfile!Pleasedonotproceedbeyondthispoint,andpleasedonotfollowanyofthestepsorproceduresoutlinedbelow!Theinformationinthissectionisintendedforanycombinationofthefollowing:

(1)CompaniesandusersthathaveanexistingSalesforceaccount,andthatSalesforceaccountalreadycontainsCRMdata.

(2)CompaniesandusersthataresigningupwithSalesforceandintendtouseadditionaladdinsfrom

theSalesforceAppExchangeincombinationwiththeNexternalCommerceConnectoraddin.(3)Companiesandusersthatalreadyareusingorwillbeusinganykindofprogrammingservice(s)to

modifytheirSalesforcedataand/orviews(e.g.triggers,rules,etc.).Thecontentofthenextsectionshouldbecopiedinitsentiretyandpastedintoaplain-ASCIItextfilenamedNexternalFields.properties.ThisistheconfigurationfileyouwillmodifyanduploadtotheStaticResourcesarea(SalesforceSetup>AppSetupSection>Develop>StaticResources)asNexternalFieldsifyouwanttocreateyourownCustomFieldsandusethemforstoringNexternaldata.Thepropertiesfileitselfservesasthedocumentationforwhatkindofchangescanbemade.RememberthatyoumustcreateyourSalesforceCustomfield(s)first,andthentransfertheCustomFieldsAPIName(s)totheSalesforceobjectfield(s)totherightoftheperiod.InformationaboutcreatingSalesforceCustomFieldscanbefoundintheForce.ComWorkbook(PDF)andHowdoIcreateacustomfield?(video).NexternalFields.properties#STARTOFPROPERTIES##Ingeneral,thekeysbelowrepresentnodesintheNexternalXMLresponseand#thevaluesrepresentSalesforceobjectsandfields.Thevaluewillbe'read'#fromtheXMLnodeasaString,convertedtotheappropriateSalesforcedata#type,andstoredintotheSalesforceobject.##(1)Valuesontheleft-handsideoftheequalsign(the'key')cannotbe

Page 20: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page20of22

#changedinanyway.ThesearethenodesintheXMLresponse,andareused#bytheNexternaladdintolocateandretrievedata.##(2)Valuesontheright-handsideoftheequalsign(the'value')represent#theSalesforceobjectandfieldwheredatafromtheXMLnodewillbe#stored.##(a)TheSalesforceobjectontheleft-handsideoftheperiod(e.g.#'Account.')CANNOTbechanged.#(b)TheSalesforceobjectfieldontheright-handsideoftheperiod#(e.g.'AccountNumber')CANbechangedtoacustomfieldthatyouhave#createdwithinyourSalesforceobject,butitisYOURRESPONSIBILITY#toensurethecustomfieldisoftheSAMESALESFORCEDATATYPEasthe#fielditwillreplace.ThefollowingSalesforceDisplayTypesare#currentlysupportedintheNexternaladdin:Currency,Date,Double,#Integer,String,andPickList.##(3)Thevaluesstoredinthefollowingnodescannotbealteredinanyway:##Account/AccountID#Contact/LeadSource#Opportunity/OpportunityID#OpportunityLineItem/LineItemID#Product2/ProductCode##TheinformationinthesefieldsisusedtoidentifyNexternalinformation#importedintoSalesforcesothatchangestoacustomer,order,orproduct#inyourNexternalOrderManagementSystemwillbeaccuratelyreflectedin#yourSalesforceaccount.##Alloftheaboveidentificationvalues(exceptforOpportunityLineItem/#LineItemID)mustbemappedtoaSalesForcefieldthatcontainsONLYthe#Nexternalrecordvalue,sothatSOQLqueriescanbeusedtoretrieve#SalesforcerecordsthatmatchtherecordsimportedfromyourNexternal#OrderManagementSystem.##(4)AlmostallSalesforceobjectshaverequiredfields.Forexample,theAccount#objectrequiresanentryfortheAccount.Namefield,soifyouchangethe#Account/NamenodetopointtoaSalesforcefieldotherthanAccount.Namethe#NexternaladdinwillwritethevalueofAccount/Nametoyourcustomfield#ASWELLAStheAccount.NamefieldtofulfilltheSalesforcerequirementfor#thatfield.##NotethattheaboveconditionwillonlybeappliedtoNEWSalesforceobjects#thatarecreatedbytheNexternaladdinduringanimport.#Account/AccountID=Account.AccountNumberAccount/Company=Account.NameAccount/Name=Account.Name

Page 21: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page21of22

Account/EMail=Account.SiteAccount/Billing/Street=Account.BillingStreetAccount/Billing/City=Account.BillingCityAccount/Billing/State=Account.BillingStateAccount/Billing/Zip=Account.BillingPostalCodeAccount/Billing/Country=Account.BillingCountryAccount/Shipping/Street=Account.ShippingStreetAccount/Shipping/City=Account.ShippingCityAccount/Shipping/State=Account.ShippingStateAccount/Shipping/Zip=Account.ShippingPostalCodeAccount/Shipping/Country=Account.ShippingCountryAccount/CustomerType=Account.TypeAccount/Description=Account.DescriptionAccount/Phone=Account.Phone##SalesforceContactrecordsarecreatedusingthechildnodesoftheAccount#containernodefromtheNexternalXMLresponse.#Contact/Name/LastName=Contact.LastNameContact/Name/FirstName=Contact.FirstNameContact/Mailing/Street=Contact.MailingStreetContact/Mailing/City=Contact.MailingCityContact/Mailing/State=Contact.MailingStateContact/Mailing/Zip=Contact.MailingPostalCodeContact/Mailing/Country=Contact.MailingCountryContact/Phone=Contact.PhoneContact/EMail=Contact.EmailContact/LeadSource=Contact.LeadSource#Opportunity/OpportunityID=Opportunity.NameOpportunity/CloseDate=Opportunity.CloseDateOpportunity/NextStep=Opportunity.NextStepOpportunity/StageName=Opportunity.StageNameOpportunity/Type=Opportunity.TypeOpportunity/LeadSource=Opportunity.LeadSource##ThedirectionsbelowapplytothefollowingsectionONLY.##Thevaluesforthenext8nodesarenormallycombinedintooneStringas#'key:value'pairsseparatedbylinefeedsandstoredintheOpportunity.#DescriptionfieldonSalesforce.Youcanchangeany(orall)ofthevalues#belowtostoretheXMLnodevalueinadifferent(orcustom)Salesforce#fieldwithintheOpportunityobject,andanyremainingnodesmappedto#Opportunity.DescriptionwillbecombinedintotheStringandstored.#Opportunity/OrderDate=Opportunity.DescriptionOpportunity/OrderNet=Opportunity.DescriptionOpportunity/Coupon=Opportunity.DescriptionOpportunity/Discount=Opportunity.Description

Page 22: Salesforce Nexternal Commerce Connector Configuration Guideecommerce-blog.nexternal.com/wp-content/uploads/2017/10/... · 2017-10-22 · Salesforce/Nexternal Commerce Connector Configuration

11/15/12

Page22of22

Opportunity/Tax=Opportunity.DescriptionOpportunity/Shipping=Opportunity.DescriptionOpportunity/Amount=Opportunity.DescriptionOpportunity/Comments=Opportunity.Description#OpportunityLineItem/Quantity=OpportunityLineItem.QuantityOpportunityLineItem/ServiceDate=OpportunityLineItem.ServiceDateOpportunityLineItem/UnitPrice=OpportunityLineItem.UnitPrice##ThedirectionsbelowapplytothefollowingsectionONLY.##Thevaluesforthenext3nodesarenormallycombinedintooneStringas#'key:value'pairsseparatedbylinefeedsandstoredintheOpportunityLineItem.#DescriptionfieldonSalesforce.Youcanchangeany(orall)ofthevalues#belowtostoretheXMLnodevalueinadifferent(orcustom)Salesforce#fieldwithintheOpportunityLineItemobject,andanyremainingnodesmappedto#OpportunityLineItem.DescriptionwillbecombinedintotheStringandstored.#OpportunityLineItem/LineItemID=OpportunityLineItem.DescriptionOpportunityLineItem/ShipTo=OpportunityLineItem.DescriptionOpportunityLineItem/TrackingNo=OpportunityLineItem.Description#Product2/ProductName=Product2.NameProduct2/ProductCode=Product2.ProductCodeProduct2/Family=Product2.Family##ThedirectionsbelowapplytothefollowingsectionONLY.##Thevaluesforthenext2nodesarenormallycombinedintooneStringas#'key:value'pairsseparatedbylinefeedsandstoredintheProduct2.#DescriptionfieldonSalesforce.Youcanchangeany(orall)ofthevalues#belowtostoretheXMLnodevalueinadifferent(orcustom)Salesforce#fieldwithintheProduct2object,andanyremainingnodesmappedto#Product2.DescriptionwillbecombinedintotheStringandstored.#Product2/Vendor=Product2.DescriptionProduct2/Description=Product2.Description##AdditionalConfigurationSettings:ContactyourNexternalAccountManagerbefore#enablinganyofthefollowingconfigurationvalues.##UseSKULevelCode=true##ENDOFPROPERTIES