Skip to main content

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

Exported files follow this naming convention: [timestamp]_[filenumber]_[filename].xml

  • timestamp is automatically formatted as: YYYYMMDDHHmmss

  • filenumber begins at 0. When that file contains 10 000 contacts, the next file is opened and filenumber increases by 1

  • filename is a string that can be changed per tenant, in the Engage back-end

Examples of exported files:

  • 20190723144514_0_customers.xml

  • 20190723144525_1_customers.xml

  • 20230507181112_16_members.xml

FTP location for file exports

Contact exports are placed on the Voyado Engage FTP, which can be found here:

[base-ftp-url]/integration/customerExport

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.