Skip to main content

Voyado Engage

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.xml

  • 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.