Inbound Integration Guide - CRM Data
Description
This How-to guide explains the integration of following configuration data entities.
- customer
- customerCustomerGroup
- customerNote
- customerKeyDate
- customerPreference
- customerRelationship
- customerGroup (Group)
- customerPreferenceOptionSet (OptionSet)
Notes
This guide does not cover all possible integration topics. Please see the Enactor Books for detailed information.
See the Inbound Integration Guide - Introduction for the basics of importing and exporting data.
This guide will use manual import and export of data using the Enactor Estate Manager.
Overview
Customer data has many interaction points in the applications. These could be within the Customer Relationship Management (CRM) system, loyalty, and promotions to name a few.
To use customer preference option set data with a customer, the customer preference option must be setup within the OptionSet data.
To use customers with promotions, the customer must be part of a customer group which is configured within the group data.
customer
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customer>
<retail:addresses>
<retail:address>
<retail:countryCodeId></retail:countryCodeId>
<retail:isPreferred>true</retail:isPreferred>
<retail:typeId></retail:typeId>
<retail:county>Hertfordshire</retail:county>
<retail:postCode>SG132PE</retail:postCode>
<retail:street1>Rowneybury</retail:street1>
<retail:street2>Union Wood</retail:street2>
<retail:town>Harlow</retail:town>
<retail:isTemplate>false</retail:isTemplate>
<retail:referenceId></retail:referenceId>
<retail:addressReferenceId>6</retail:addressReferenceId>
</retail:address>
<retail:address>
<retail:country>UK</retail:country>
<retail:countryCodeId>GB</retail:countryCodeId>
<retail:isPreferred>false</retail:isPreferred>
<retail:organisation>org</retail:organisation>
<retail:typeId>ADDRESS_OTHER</retail:typeId>
<retail:county>county</retail:county>
<retail:postCode>SG14 1PB</retail:postCode>
<retail:street1>str1</retail:street1>
<retail:street2>str2</retail:street2>
<retail:street3>str3</retail:street3>
<retail:town>town</retail:town>
<retail:isTemplate>false</retail:isTemplate>
<retail:referenceId></retail:referenceId>
<retail:addressReferenceId>25:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:addressReferenceId>
</retail:address>
</retail:addresses>
<retail:contactMethod></retail:contactMethod>
<retail:contactMethodNotes></retail:contactMethodNotes>
<retail:contactable>false</retail:contactable>
<retail:dateCreated>2014-06-04T16:26:25+01:00</retail:dateCreated>
<retail:maritalStatus></retail:maritalStatus>
<retail:nationality></retail:nationality>
<retail:noChildren>0</retail:noChildren>
<retail:customerNumber>7</retail:customerNumber>
<retail:emailAddresses>
<retail:emailAddress>demo@enactor.co.uk</retail:emailAddress>
<retail:preferred>true</retail:preferred>
<retail:restrictedReason></retail:restrictedReason>
<retail:status></retail:status>
<retail:typeId></retail:typeId>
<retail:referenceId>6</retail:referenceId>
<retail:active>false</retail:active>
<retail:emailAddressReferenceId></retail:emailAddressReferenceId>
</retail:emailAddresses>
<retail:emailAddresses>
<retail:emailAddress>someone@nowhere.com</retail:emailAddress>
<retail:preferred>false</retail:preferred>
<retail:restrictedReason></retail:restrictedReason>
<retail:status></retail:status>
<retail:typeId>EMAIL_WORK</retail:typeId>
<retail:validFrom>2020-11-19T00:00:00Z</retail:validFrom>
<retail:validTo>2020-11-20T00:00:00Z</retail:validTo>
<retail:referenceId></retail:referenceId>
<retail:active>false</retail:active>
<retail:emailAddressReferenceId></retail:emailAddressReferenceId>
</retail:emailAddresses>
<retail:phoneNumbers>
<retail:countryCode></retail:countryCode>
<retail:number>01922567432</retail:number>
<retail:preferred>false</retail:preferred>
<retail:restrictedReason></retail:restrictedReason>
<retail:status></retail:status>
<retail:typeId></retail:typeId>
<retail:referenceId></retail:referenceId>
<retail:active>false</retail:active>
<retail:phoneNumberReferenceId>5</retail:phoneNumberReferenceId>
</retail:phoneNumbers>
<retail:phoneNumbers>
<retail:countryCode>+1</retail:countryCode>
<retail:number>1234567890</retail:number>
<retail:preferred>true</retail:preferred>
<retail:restrictedReason></retail:restrictedReason>
<retail:status></retail:status>
<retail:typeId>PHONE_WORK</retail:typeId>
<retail:referenceId></retail:referenceId>
<retail:active>false</retail:active>
<retail:phoneNumberReferenceId>838:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:phoneNumberReferenceId>
</retail:phoneNumbers>
<retail:customerName>
<retail:surname>Beckham</retail:surname>
<retail:forename>David</retail:forename>
<retail:initials>DB</retail:initials>
<retail:title>Mr</retail:title>
<retail:sex>MALE</retail:sex>
<retail:dateOfBirth>1950-01-01T00:00:00Z</retail:dateOfBirth>
</retail:customerName>
<retail:businessContactMethod></retail:businessContactMethod>
<retail:preferredContactTime></retail:preferredContactTime>
<retail:allowInternalMarketing>true</retail:allowInternalMarketing>
<retail:allowExternalMarketing>true</retail:allowExternalMarketing>
<retail:privacyLevel>1</retail:privacyLevel>
<retail:employeeKey></retail:employeeKey>
<retail:customerType></retail:customerType>
<retail:organisation>org</retail:organisation>
<retail:taxIdentification>taxid</retail:taxIdentification>
<retail:companyNumber>company</retail:companyNumber>
<retail:jobTitle>title</retail:jobTitle>
<retail:createdBy></retail:createdBy>
<retail:createdAt></retail:createdAt>
<retail:status>Active</retail:status>
<retail:source>pos1@0004.enactor</retail:source>
<retail:password></retail:password>
</retail:customer>
</Batch>
XML Structure
customer
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customer | Root | outer wrapper for the entity | |||
| addresses | customer | Element | Zero or more address records for the customer | ||
| address | addresses | Element | An address record for the customer | address | |
| contactMethod | customer | Element | A contact type id from the available customer address contact types | contact Type | |
| contactMethod Notes | customer | Element | Notes for the contact that was made with the customer | string | |
| contactable | customer | Element | If true, customer is contactable; if omitted, false | boolean | |
| dateCreated | customer | Element | Date Time the record was created | datetime | |
| createdBy | customer | Element | The operator id of the person who created this customer record | UserKey | |
| createdAt | customer | Element | The device where the customer was created | DeviceKey | |
| source | customer | Element | The device where the customer was created | DeviceKey | |
| maritalStatus | customer | Element | The customer marital status | string | |
| nationality | customer | Element | The customer nationality | string | |
| noChildren | customer | Element | The number of children for the customer | integer | |
| customerNumber | customer | Element | The unique Id for the customer | string | |
| emailAddresses | customer | Element | A customer email address | email Addresses | |
| phoneNumbers | customer | Element | Zero or more phone numbers for the customer | phone Numbers | |
| customerName | customer | Element | The customers name | customer Name | |
| business ContactMethod | customer | Element | A contact type id from the available customer address contact types | contact TypeKey | |
| preferred ContactTime | customer | Element | The preferred time to contact the customer | string | |
| allowInternal Marketing | customer | Element | If true, the customer accepts internal marketing; if omitted, false | boolean | |
| allowExternal Marketing | customer | Element | If true, the customer accepts external marketing; if omitted, false | boolean | |
| employeeKey | customer | Element | If the customer is an employee, the employee key from the employee data | employee Key | |
| customerType | customer | Element | A customer type from the available customer types | customer Type | |
| priceTypeId | customer | Element | The customer's price type for specific customer pricing | string | |
| organisation | customer | Element | The customer's organisation | string | |
| taxIdentification | customer | Element | The customer's tax identification | string | |
| company Number | customer | Element | The customer's company id | string | |
| occupation | customer | Element | The customer occupation | string | |
| jobTitle | customer | Element | The customer job title | string | |
| tradingName | customer | Element | The customer trading name | string | |
| lastTransaction Date | customer | Element | The date time of the last customer transaction | datetime | |
| status | customer | Element | One of the following status for the customer: New, Captured, Active, Inactive | fixed string | |
| password | customer | Element | The customer encrypted password | string |
address
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| address | Root | outer wrapper for the entity | |||
| countryCodeId | address | Element | The country code for the address | string | |
| isPreferred | address | Element | if true, this is the preferred contact address for the customer; if omitted, false | boolean | |
| typeId | address | Element | A contact type id from the available customer address contact types | ContactType Key | |
| organisation | address | Element | The customer organisation | string | |
| county | address | Element | The customer county | string | |
| postCode | address | Element | The customer post code | string | |
| street1 | address | Element | The customer street address | string | |
| street2 | address | Element | Additional customer street info | string | |
| street3 | address | Element | Additional customer street info | string | |
| town | address | Element | The customer town / city | string | |
| isTemplate | address | Element | if true, this information is a template; if omitted, false | boolean |
emailAddresses
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| emailAddress | emailAddresses | Element | The customer email address | string | |
| emailAddresses | Root | outer wrapper for the entity | |||
| preferred | emailAddresses | Element | If true, this is the customer preferred address; If omitted, false | boolean | |
| restrictReason | emailAddresses | Element | A reason code for restricted access | ReasonCode Key | |
| status | emailAddresses | Element | One of the following status for the customer: New, Captured, Active, Inactive | fixed string | |
| typeId | emailAddresses | Element | A contact type id from the available customer email contact types | ContactType Key | |
| validFrom | emailAddresses | Element | Date time from which this email is valid; if omitted, no restriction | date time | |
| validTo | emailAddresses | Element | Date time to which this email is valid; if omitted; no restriction | date time | |
| active | emailAddresses | Element | If true, email is active; if omitted, false | boolean |
phoneNumbers
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| phoneNumbers | Root | outer wrapper for the entity | |||
| countryCode | phoneNumbers | Element | The customer country code | string | |
| number | phoneNumbers | Element | The customer phone number | string | |
| preferred | phoneNumbers | Element | If true, this is the customer preferred address; If omitted, false | boolean | |
| restrictedReason | phoneNumbers | Element | A reason code for restricted access | ReasonCode Key | |
| status | phoneNumbers | Element | One of the following status for the customer: New, Captured, Active, Inactive | fixed string | |
| typeId | phoneNumbers | Element | A contact type id from the available customer email contact types | ContactType Key | |
| validFrom | phoneNumbers | Element | Date time from which this email is valid; if omitted, no restriction | date time | |
| validTo | phoneNumbers | Element | Date time to which this email is valid; if omitted; no restriction | date time | |
| active | phoneNumbers | Element | If true, email is active; if omitted, false | boolean |
customerName
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customerName | Root | outer wrapper for the entity | |||
| surname | customerName | Element | Customer surname/last name | string | |
| forename | customerName | Element | Customer forename/first name | string | |
| initials | customerName | Element | Customer initials | string | |
| title | customerName | Element | Customer title | string | |
| sex | customerName | Element | Customer sex | string | |
| dateOfBirth | customerName | Element | Date of birth (date time with time as 00:00:00Z) | date time |
customerCustomerGroup
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerCustomerGroup>
<retail:groupId variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="CUSTOMER" groupTypeId="customerGroup">VIP</retail:groupId>
<retail:customerId>7</retail:customerId>
</retail:customerCustomerGroup>
</Batch>
XML Structure
customerCustomerGroup
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customer customerGroup | Root | outer wrapper for the entity | |||
| groupId | customer customerGroup | Element | The group id (see Group) | Group | |
| variantGroup HierarchyId | groupId | Attribute | The group hierarchy | Group | |
| variantGroupId | groupId | Attribute | The region Id | Group | |
| variantGroup TypeId | groupId | Attribute | fixed: region | Group | |
| groupHierarchyId | groupId | Attribute | The name of the customer group hierarchy | Group | |
| groupTypeId | groupId | Attribute | fixed: customerGroup | Group | |
| customerId | customer CustomerGroup | Element | The customer Id that should be part of this group | string |
customerNote
XML Example
Public Note
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerNote>
<retail:userId>KEN.BUNDY</retail:userId>
<retail:customerId>7</retail:customerId>
<retail:isPrivate>false</retail:isPrivate>
<retail:noteId>c3f2-:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:noteId>
<retail:notes>public note</retail:notes>
</retail:customerNote>
</Batch>
Private Note
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerNote>
<retail:userId>KEN.BUNDY</retail:userId>
<retail:customerId>7</retail:customerId>
<retail:isPrivate>true</retail:isPrivate>
<retail:noteId>71c2-:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:noteId>
<retail:notes>private note</retail:notes>
</retail:customerNote>
</Batch>
XML Structure
customerNote
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customerNote | Root | outer wrapper for the entity | |||
| userId | customerNote | Element | The user id that created the note | UserKey | |
| customerId | customerNote | Element | The customer id for the note | Customer Key | |
| isPrivate | customerNote | Element | If true, the note is private and can only be viewed by the user id who created the note; if omitted, false | boolean | |
| noteId | customerNote | Element | If provided, replace the note with the same id; if omitted, create a new note | string | |
| notes | customerNote | Element | The note text | string |
customerKeyDate
XML Example
recurring key date
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerKeyDate>
<retail:customerId>7</retail:customerId>
<retail:details>detail note</retail:details>
<retail:generateReminder>false</retail:generateReminder>
<retail:keyDate>
<core:recurrenceType>ANNUALLY</core:recurrenceType>
<core:startDate>2020-11-03T00:00:00Z</core:startDate>
</retail:keyDate>
<retail:keyDateId>4043-:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:keyDateId>
<retail:customerKeyDateTypeId>ANNIVERSARY</retail:customerKeyDateTypeId>
<retail:createdBy>KEN.BUNDY</retail:createdBy>
<retail:creationDate>2020-11-19T17:15:21Z</retail:creationDate>
<retail:amendedBy></retail:amendedBy>
</retail:customerKeyDate>
</Batch>
non-recurring key date
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerKeyDate>
<retail:customerId>7</retail:customerId>
<retail:details></retail:details>
<retail:generateReminder>false</retail:generateReminder>
<retail:keyDate>
<core:recurrenceType>NONE</core:recurrenceType>
<core:startDate>2020-11-02T00:00:00Z</core:startDate>
</retail:keyDate>
<retail:keyDateId>23a3-:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:keyDateId>
<retail:customerKeyDateTypeId>ANNIVERSARY</retail:customerKeyDateTypeId>
<retail:createdBy>KEN.BUNDY</retail:createdBy>
<retail:creationDate>2020-11-19T17:14:55Z</retail:creationDate>
<retail:amendedBy></retail:amendedBy>
</retail:customerKeyDate>
</Batch>
XML Structure
customerKeyDate
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customerKeyDate | Root | outer wrapper for the entity | |||
| customerId | customerKeyDate | Element | The customer id for the date | Customer Key | |
| details | customerKeyDate | Element | |||
| generate Reminder | customerKeyDate | Element | If true, generate a reminder for the user who created the note; if omitted, false | boolean | |
| keyDate | customerKeyDate | Element | A date for the customer | keyDate | |
| keyDateId | customerKeyDate | Element | If provided, replace the keydate with the same id; if omitted, create a new keydate | string | |
| customerKey DateTypeId | customerKeyDate | Element | One of the key date types from customer key date types | Customer KeyDate TypesKey | |
| createdBy | customerKeyDate | Element | The user who created the key date | UserKey | |
| creationDate | customerKeyDate | Element | The date time when the key date was created | date time | |
| amendedBy | customerKeyDate | Element | the user who modified the key date | UserKey |
keyDate
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| keyDate | Root | outer wrapper for the entity | |||
| recurrenceType | keyDate | Element | fixed: ANNUALLY, NONE | fixed string | |
| startDate | keyDate | Element | The date of the key date (date time with time as 00:00:00Z) | date time |
customerPreference
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerPreference>
<retail:created>2020-11-19T17:16:16Z</retail:created>
<retail:optionPathId>Email:Email_Optin</retail:optionPathId>
<retail:optionSetId type="customerPreferenceOptionSet" optionSetId="CONTACT_PERMISSIONS">
<retail:groupId groupHierarchyId="All" groupTypeId="region">All</retail:groupId>
</retail:optionSetId>
<retail:customerId>7</retail:customerId>
<retail:preferenceId>bff1-:ea24d71e571:d83a46e1:0147d192d4f16f19</retail:preferenceId>
<retail:value id="Email:Email_Optin">true</retail:value>
</retail:customerPreference>
</Batch>
XML Structure
customerPreference
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customer Preference | Root | outer wrapper for the entity | |||
| created | customer Preference | Element | the date time when the option data was created | date time | |
| optionPathId | customer Preference | Element | The option preference | OptionKey | |
| customerId | customer Preference | Element | The customer for this preference value | Customer Key | |
| preferenceId | customer Preference | Element | If provided, replace this customer preference record with the data provided; if omitted, create a new customer preference value for this preference | string | |
| value | customer Preference | Element | The value of the preference | string | |
| id | value | Attribute | The option preference (should match optionPathId above) | OptionKey |
optionSetId
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| optionSetId | Root | outer wrapper for the entity | |||
| type | optionSetId | Attribute | fixed: customerPreferenceOptionSet | fixed string | |
| optionSetId | optionSetId | Attribute | The id of the customer preference option set | customer Preference OptionSet Key | |
| groupId | optionSetId | Element | The region id for this option set | RegionKey | |
| groupHierarchyId | groupId | Attribute | The region hierarchy key | GroupKey | |
| groupTypeId | groupId | Attribute | fixed: region | fixed string |
customerRelationship
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerRelationship>
<retail:customerId>7</retail:customerId>
<retail:relatedCustomerKey>19</retail:relatedCustomerKey>
<retail:relationshipId>d595-:4f9beb1e571:d83a46e1:0147d192d4f16f19</retail:relationshipId>
<retail:relationshipTypeId>SIBLING</retail:relationshipTypeId>
</retail:customerRelationship>
</Batch>
XML Structure
customerRelationship
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customer Relationship | Root | outer wrapper for the entity | |||
| customerId | customer Relationship | Element | The customer for this relationship | Customer Key | |
| relatedCustomer Key | customer Relationship | Element | The customer being related to this customer | Customer Key | |
| relationship TypeId | customer Relationship | Element | The relationship type from the customer relationship types | Customer Relationship TypeKey | |
| relationshipId | customer Relationship | Element | If provided, replace this customer relationship record with the data provided; if omitted, create a new customer relationship | string |
customerGroup
See Group for more detailed information.
XML Example
CUSTOMER Group (Parent)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerGroup>
<retail:groupId>CUSTOMER</retail:groupId>
<retail:groupTypeId>customerGroup</retail:groupTypeId>
<retail:groupHierarchyId>CUSTOMER</retail:groupHierarchyId>
<retail:level>1</retail:level>
<retail:level1GroupId>CUSTOMER</retail:level1GroupId>
<retail:name>CUSTOMER</retail:name>
<retail:localisedName>
<core:string variant="" language="" country="GB">CUSTOMER</core:string>
</retail:localisedName>
<retail:variantGroupId>All</retail:variantGroupId>
<retail:variantGroupTypeId>region</retail:variantGroupTypeId>
<retail:variantGroupHierarchyId>All</retail:variantGroupHierarchyId>
<retail:variantLevel>1</retail:variantLevel>
</retail:customerGroup>
</Batch>
VIP Customer Group (Child of CUSTOMER)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:customerGroup>
<retail:groupId>VIP</retail:groupId>
<retail:groupTypeId>customerGroup</retail:groupTypeId>
<retail:groupHierarchyId>CUSTOMER</retail:groupHierarchyId>
<retail:level>2</retail:level>
<retail:level10GroupId></retail:level10GroupId>
<retail:level1GroupId>CUSTOMER</retail:level1GroupId>
<retail:level2GroupId>VIP</retail:level2GroupId>
<retail:name>VIP Customer</retail:name>
<retail:localisedName>
<core:string variant="" language="" country="GB">VIP Customer</core:string>
<core:string variant="" language="en" country="US">VIP Customer</core:string>
</retail:localisedName>
<retail:variantGroupId>All</retail:variantGroupId>
<retail:variantGroupTypeId>region</retail:variantGroupTypeId>
<retail:variantGroupHierarchyId>All</retail:variantGroupHierarchyId>
<retail:variantLevel>1</retail:variantLevel>
</retail:customerGroup>
</Batch>
XML Structure
customerGroup
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customer Group | Root | outer wrapper for the entity | |||
| groupId | customerGroup | Element | Unique name for the group | string | |
| groupTypeId | customerGroup | Element | fixed: customerGroup | fixed string | |
| groupHierarchyId | customerGroup | Element | Unique name for the hierarchy | string | |
| level | customerGroup | Element | Level in the hierarchy structure | integer | |
| level1GroupId | customerGroup | Element | Top level in the group structure repeat for level 1-10 as needed based on level value | string | |
| name | customerGroup | Element | Name value that will be used in the user interface | string | |
| localisedName | customerGroup | Element | Localised string values that will be used in the user interface | localised Name | |
| variantGroupId | customerGroup | Element | The region for this group | RegionKey | |
| variantGroup TypeId | customerGroup | Element | fixed: region | fixed string | |
| variantGroup HierarchyId | customerGroup | Element | The hierarchy for this group | Hierarchy Key | |
| variantLevel | customerGroup | Element | Level in the hierarchy for this group | integer |
localisedName
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| localisedName | Root | outer wrapper for the entity | |||
| string | localisedName | Element | string data in country specific language | string | |
| variant | localisedName | Attribute | string | ||
| language | localisedName | Attribute | language specifer from the language specifier, e.g. en from en_US | string | |
| country | localisedName | Attribute | country specifier from the language definition, e.g. US from en_US | string |
customerPreferenceOptionSet
See OptionSet for more detailed information.
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:optionSet>
<retail:name>Contact Permissions</retail:name>
<retail:optionSetId>CONTACT_PERMISSIONS</retail:optionSetId>
<retail:options>
<retail:optionGroup>
<retail:optionId>Email</retail:optionId>
<retail:name>Email</retail:name>
<retail:description>Email</retail:description>
<retail:title/>
<retail:subtitle/>
<retail:options>
<retail:booleanDataOption>
<retail:optionId>Email_Optin</retail:optionId>
<retail:name>Email_Optin</retail:name>
<retail:description>Email Optin</retail:description>
<retail:title/>
<retail:subtitle/>
</retail:booleanDataOption>
<retail:choiceDataOption>
<retail:optionId>Email_Frequency</retail:optionId>
<retail:name>Email_Frequency</retail:name>
<retail:description>Email Frequency</retail:description>
<retail:title/>
<retail:subtitle/>
<retail:values>
<retail:value key="Weekly">
<retail:choiceDataOptionEntry>
<retail:label>Once a week</retail:label>
</retail:choiceDataOptionEntry>
</retail:value>
<retail:value key="Monthly">
<retail:choiceDataOptionEntry>
<retail:label>Once a month</retail:label>
</retail:choiceDataOptionEntry>
</retail:value>
<retail:value key="Bi-Weekly">
<retail:choiceDataOptionEntry>
<retail:label>Once a fortnight</retail:label>
</retail:choiceDataOptionEntry>
</retail:value>
<retail:value key="Everything">
<retail:choiceDataOptionEntry>
<retail:label>Send me everything</retail:label>
</retail:choiceDataOptionEntry>
</retail:value>
</retail:values>
</retail:choiceDataOption>
</retail:options>
</retail:optionGroup>
<retail:optionGroup>
<retail:optionId>Mail</retail:optionId>
<retail:name>Mail</retail:name>
<retail:description>Mail</retail:description>
<retail:title/>
<retail:subtitle/>
<retail:options>
<retail:booleanDataOption>
<retail:optionId>Mail_Optin</retail:optionId>
<retail:name>Mail_Optin</retail:name>
<retail:description>Mail Optin</retail:description>
<retail:title/>
<retail:subtitle/>
</retail:booleanDataOption>
</retail:options>
</retail:optionGroup>
<retail:optionGroup>
<retail:optionId>SMS</retail:optionId>
<retail:name>SMS</retail:name>
<retail:description>SMS</retail:description>
<retail:title/>
<retail:subtitle/>
<retail:options>
<retail:booleanDataOption>
<retail:optionId>SMS_Optin</retail:optionId>
<retail:name>SMS_Optin</retail:name>
<retail:description>SMS Optin</retail:description>
<retail:title/>
<retail:subtitle/>
</retail:booleanDataOption>
</retail:options>
</retail:optionGroup>
<retail:optionGroup>
<retail:optionId>Phone</retail:optionId>
<retail:name>Phone</retail:name>
<retail:description>Phone</retail:description>
<retail:title/>
<retail:subtitle/>
<retail:options>
<retail:booleanDataOption>
<retail:optionId>Phone_Optin</retail:optionId>
<retail:name>Phone_Optin</retail:name>
<retail:description>Phone Optin</retail:description>
<retail:title/>
<retail:subtitle/>
</retail:booleanDataOption>
</retail:options>
</retail:optionGroup>
</retail:options>
<retail:type>customerPreferenceOptionSet</retail:type>
<retail:groupId groupHierarchyId="All" groupTypeId="region">All</retail:groupId>
<retail:prompt></retail:prompt>
<retail:title/>
<retail:subtitle/>
</retail:optionSet>
</Batch>
XML Structure
customerGroup
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| optionSet | Root | outer wrapper for the entity | |||
| name | optionSet | Element | Unique name for the option set | string | |
| optionSetId | optionSet | Element | Unique ID for the option set | string | |
| type | optionSet | Element | fixed: customerPreferenceOptionSet | fixed string | |
| groupId | optionSet | Element | Region for this option set | RegionKey | |
| prompt | optionSet | Element | not used with this option set type | string | |
| title | optionSet | Element | not used with this option set type | string | |
| subtitle | optionSet | Element | not used with this option set type | string | |
| optionGroup | optionSet | Element | The collection of options for this option set | optionGroup |
optionGroup
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| optionGroup | Root | outer wrapper for the entity | |||
| optionId | optionGroup | Element | string | ||
| name | optionGroup | Element | string | ||
| description | optionGroup | Element | string | ||
| title | optionGroup | Element | string | ||
| subTitle | optionGroup | Element | string | ||
| options | optionGroup | Element | One or more options for this option set (see OptionSet for information on option types) | options |
customer Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:CustomerKey">customerId</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The customer id key to delete | String | |
| type | entityKey | Attribute | Fixed:CustomerKey | fixed string |
customerCustomerGroup Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:CustomerCustomerGroupKey">
<retail:customerId>customerId</retail:customerId>
<retail:groupId variantGroupHierarchyId="variantGroupHierarchyId" variantGroupId="variantGroupId" variantGroupTypeId="variantGroupTypeId" groupHierarchyId="groupHierarchyId" groupTypeId="groupTypeId">groupId</retail:groupId>
</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The customer id key to delete | String | |
| type | entityKey | Attribute | Fixed: CustomerCustomerGroupKey | fixed string | |
| customerId | entityKey | Element | The customer id to remove from the customer group | CustomerKey | |
| groupId | entityKey | Element | The group to remove the customer from | GroupKey |
customerKeyDate Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:CustomerKeyDateKey">customerKeyDateId</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The customer id key to delete | String | |
| type | entityKey | Attribute | Fixed: CustomerCustomerGroupKey | fixed string | |
| customerId | entityKey | Element | The customer id to remove from the customer group | CustomerKey | |
| groupId | entityKey | Element | The group to remove the customer from | GroupKey |
customerNote Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:CustomerNoteKey">customerNoteId</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The customer id key to delete | String | |
| type | entityKey | Attribute | Fixed: CustomerCustomerGroupKey | fixed string | |
| customerId | entityKey | Element | The customer id to remove from the customer group | CustomerKey | |
| groupId | entityKey | Element | The group to remove the customer from | GroupKey |
customerPreference Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:CustomerPreferenceKey" preferenceId="customerPreferenceId">customerPreferenceId</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The customer id key to delete | String | |
| type | entityKey | Attribute | Fixed: CustomerCustomerGroupKey | fixed string | |
| customerId | entityKey | Element | The customer id to remove from the customer group | CustomerKey | |
| groupId | entityKey | Element | The group to remove the customer from | GroupKey |
customerRelationship Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:CustomerRelationshipKey">customerRelationshipId</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The customer id key to delete | String | |
| type | entityKey | Attribute | Fixed: CustomerCustomerGroupKey | fixed string | |
| customerId | entityKey | Element | The customer id to remove from the customer group | CustomerKey | |
| groupId | entityKey | Element | The group to remove the customer from | GroupKey |