Contact XML export
The export of contacts is primarily done when Voyado Engage is not the master or when the integrating system needs to have a fallback contact registry. These are the important points to remember about exporting contacts:
Only contacts of type Member can be exported
Each file can contain information for either one or many contacts
If there is no new information, no file will be exported
If an export contains more than 10 000 contacts it will be divided into several files
The schedule of the export can be configured as required
Contacts are exported incrementally as either new, updated and deleted
Note
If a contact is created and then modified within the same export interval then Engage will combine these steps and export it just once as a new contact but with the updated data.
Please read about file based integration before going any further!
Triggered exports
Any import that changes a contact's fields will automatically trigger an export. This can be suppressed by adding an attribute to your import XML. See the section about importing contacts by XML for more information.
Naming the export file
The files will follow the naming convention [Timestamp]_[fileNumber]_memberExport.xml
For example: 20190723144514_0_memberExport.xm
The [Timestamp] should be formatted as: YYYYMMDDHHmmss
The first file will have fileNumber 0. When it contains 10 000 contacts, the next file is opened and given fileNumber 1, and so on
The word “member” as shown in the filename above can be changed per instance
FTP location for file exports
Contact exports are placed on the Voyado Engage FTP, which can be found here:
[base-ftp-url]/integration/contactExport
File example
The file topology follows the structure below but it is possible to do client-specific XSLT transformations. The specific fields used will be decided based on the needs of the project.
<contacts xmlns="http://eClub.Schemas.ExportMember"> <new> <member source="External system"> <firstName>Example</firstName> <lastName>Examplesson</lastName> <street>Examplegatan</street> <zipCode>12345</zipCode> <city>Examplestan</city> <email>example@example.com</email> <mobilePhone>+46739111111</mobilePhone> <countryCode>SE</countryCode> <socialSecurityNumber>198101010101</socialSecurityNumber> <nps.grade /> <nps.datetime /> <nps.averagegrade /> <gender /> <country>Sverige</country> <birthDay>1981-01-01</birthDay> <externalId>1000</externalId> <id>0f8e4b81-d07f-4740-91fd-214a497b1b13</id> <registrationDate>2021-05-17T11:55:45.0000000+02:00</registrationDate> <bonusPoints>0</bonusPoints> <contactPreferencesAcceptsEmail>true</contactPreferencesAcceptsEmail> <contactPreferencesAcceptsSms>true</contactPreferencesAcceptsSms> <contactPreferencesAcceptsPostal>true</contactPreferencesAcceptsPostal> <recruitedByStore> <storeId>00000000-0000-0000-0000-000000000000</storeId> <storeName>affär</storeName> <storeExternalId>1234</storeExternalId> </recruitedByStore> <currentStore> <storeId>00000000-0000-0000-0000-000000000000</storeId> <storeName>affär</storeName> <storeExternalId>1234</storeExternalId> </currentStore> </member> </new>
<modified> <member source="External system"> <firstName>Example</firstName> <lastName>Examplesson</lastName> <street>Examplegatan</street> <zipCode>12345</zipCode> <city>Examplestan</city> <email>example@example.com</email> <mobilePhone>+46739111111</mobilePhone> <countryCode>SE</countryCode> <socialSecurityNumber>198101010101</socialSecurityNumber> .......... </member> </modified>
............ <deleted> <member deletionReason="" source="External system"> <externalId>1001</externalId> <registrationDate>2016-09-28T00:00:00</registrationDate> <deletedOn /> <lastModifiedTime>2019-07-23T15:01:26.5371417+02:00</lastModifiedTime> <currentStore> <storeId>00000000-0000-0000-0000-000000000000</storeId> <storeName>affär</storeName> <storeExternalId>1234</storeExternalId> </currentStore> </member> </deleted> </contacts>
For the standard fields used, see the page Contact field definitions.