Import users via SFTP

To import Users via SFTP, you can upload two JSON files, a header file and a data file, to the File Server. If you don't have credentials for the SFTP server, please contact the ActivatePro Support Team.

The header file contains the data fields structure, so that ActivatePro can validate each field on upload, to ensure there are no mistakes. The data file contains the Users and their attributes that you wish to upload to the ActivatePro system.

Naming convention

The naming convention for these 2 files is the following:

user_feed_header_YYYYMMDDHHMMSS.json
user_feed_data_YYYMMDDHHMMSS.json

Example:

user_feed_header_20180321110559.json
user_feed_data_20180321110559.json

Please ensure that a pair of header and data files always have the same timestamp in the UTC Timezone (YYYMMDDHHMMSS). If the files have different timestamps, they will not be processed as intended.

Header File

This header file contains an array of objects which describe the type of attributes that may be loaded through a user object in the data file. The structure of these objects is as follows:

Key Description
column_name Name of the user attribute loaded through the user data file. The column name should always be sent in camelCase e.g. firstName
data_type This describes the type of data that will be loaded in the respective attribute. See all possible values in the Supported data types section below.
is_nullable This property allows you to describe whether or not a field can have the value NULL. Our system will automatically validate this to ensure that users will be updated correctly. Please note that the id field is mandatory and cannot be NULL.

Supported data types

Should your data file include any array attributes, please make sure to create these via API before uploading the file to our system to prevent our system from rejecting your file.

Data type Description Example
text strings of different lengths Some characters
date A date e.g. birthdate 2016-03-22
timestamp timestamp 2016-04-01T18:02:42+01
boolean logical true
integer an integer number 42
numeric any number 18.5

Example header file

[
{
"column_name":"id",
"data_type":"text",
"is_nullable":"NO"
},
{
"column_name":"email",
"data_type":"text",
"is_nullable":"YES"
},
{
"column_name":"businessUnit",
"data_type":"text",
"is_nullable":"YES"
},
{
"column_name":"firstName",
"data_type":"text",
"is_nullable":"YES"
},
{
"column_name":"lastName",
"data_type":"text",
"is_nullable":"YES"
},
{
"column_name":"birthday",
"data_type":"date",
"is_nullable":"YES"
},
{
"column_name":"gender",
"data_type":"text",
"is_nullable":"YES"
}
]

Data File

This data file contains an array of objects which contain the data of the users that should be loaded into ActivatePro. Each object defines the attributes of a single user.

  • The only technical mandatory field in User data is the id. The id refers to the user identifier you have assigned to a customer in your data warehouse. This is the same id you might be already sending through our Tracking SDK or User Management API.
  • But the combination of email and businessUnit of a user is also a unique identifier and therefore its advised to also include it in the user feed.
  • If email and/or businessUnit are empty or missing from the import file, the importer will update them as empty and overwrite whatever there might have been saved before in the user profile.
  • Please note that if you drop more than one file at the same time before they are processed, only the most recent file will be processed. The older one(s) will be ignored.

Example data file

[
{
"id": "JD1534",
"gender": "male",
"firstName": "James",
"email": "james.dean@yahoo.com",
"businessUnit":"test",
"birthday": "1931-02-08",
"lastName": "Dean",
"lastOperation": {
"operationDate": "2016-08-20",
"type": "PURCHASE"
},
"subscriptions": [
{
"subscriptionId": "BI934",
"subscriptionName": "BILD daily"
},
{
"subscriptionId": "FA772",
"subscriptionName": "FAZ weekly"
}
],
"tags": ["tag1", "tag2"]
},
{
"id": "JD1332",
"gender": "female",
"firstName": "Marilyn",
"email": "marilyn.monroe@gmail.com",
"businessUnit":"test",
"birthday": "1926-01-06",
"lastName": "Monroe",
"subscriptions": [
{
"subscriptionId": "SZ337",
"subscriptionName": "SZ weekly"
}
]
}
]