- Only new information generated after the last import should be transferred
- Each file can contain information for one or more contacts
- If there is no new information, then no file should be sent
Preparing the files
Files sent to the FTP server should follow this naming convention:[Timestamp]_[sequence number OR store id] _contacts.xml.
- [Timestamp] should be formatted as:
YYYYMMDDHHmmss(Y = year, M = month, D = day…) - The sequence number / store id is only needed if there is a risk that several applications might send XML files simultaneously
- The number of contacts should not exceed the maximum specified on the file based integration page
FTP location
Again, see the file based integration page.Validation
Contacts are validated individually and the contact’s fields are considered one by one. If validation fails for any of the contact’s fields, then that field will not be created or updated. But other fields, as long as they are valid, will still be updated. An update to a contact will be skipped entirely if the validation error is grave, such as in the case of a missing mandatory key, or an age that is below the specified minimum age. (Note that age can either be specified in the import or derived from either the social security number / personal identity number or the birth date field.)Using Contact Id as key
It is possible to use contact id as identifier for a contact:<contactId>65D152A2-1C12-4E6B-93DC-1D2122554D30</contactId>
When <contactId> is included for at least one contact in the XML:
- It will be used as key (ignoring other keys)
- It will require all contacts in the XML to have <contactId> specified (otherwise XSD validation will fail)
- Only updates and deletes are allowed
- Neither key fields nor mandatory fields are required
File example
Your XML should look like the example below, with variations depending on the number of fields used in your project. A contact inside a <new> tag is interpreted by Customer Engagement as either new or modified, depending on if it already exists in the database or not.Removing contacts
To delete a contact, an XML block corresponding to its contact type (in this case, “member”) must be placed in the “deleted” section of the file, along with whatever unique identifier has been decided for the project. We recommend you also add the attributedeletionReason.
Deleted contacts will remain in the database for seven days at which point complete anonymization of their data will occur.
Importing without triggering export
After changes are made to your contacts through an XML file import (through updating, adding or deleting) normally BI and XML exports are automatically triggered. However, if you don’t want or need this to happen, you can add the attributeavoidTriggeringExport in your XML. Setting this to “true” will suppress both of those exports.
Read more about avoidTriggeringExport
attributeOne without triggering any exports:
contactId specified will have its custom attribute attributeOne changed to the value given, and no exports will be triggered.
Suppressing automatic exports with avoidTriggeringExport set to “true” in your XML will only work if inside the contact type block (“member” in this case) you only have custom attributes and the identifier (contactId in this case).