Salesforce Nexternal Commerce Connector Configuration...

22
11/15/12 Page 1 of 22 11/15/12 Salesforce/Nexternal Commerce Connector Configuration Guide Initial Setup After installing the Nexternal Commerce Connector from the Salesforce AppExchange you will need to make two adjustments to your Salesforce account settings: 1. Add the Nexternal tab to your Salesforce account page. 2. Add a Remote Site Setting to enable the Commerce Connector to download information from your Nexternal storefront. Prior to performing the initial import from you Nexternal storefront please review the Importing Your Orders section to make sure the import dates have been set (or reset, if you have been testing the addin before installing it in your production Salesforce environment), along with the What Happens During An Import section and the Advanced Configuration section below to ensure the import process won't conflict with any existing information you have entered into Salesforce. Add the Nexternal Tab Click on the tab at the far right of your Salesforce account page to display the All Tabs configuration settings. Click on the button to display the Customize My Tabs configuration settings. Select the Nexternal tab from the list of available tabs, then click the button to add the Nexternal Commerce Connector to your list of Selected Tabs and to save your configuration.

Transcript of Salesforce Nexternal Commerce Connector Configuration...

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