Guides

Create Import

In this page you'll learn how to create an import job. This functionality allows you to easily import certain sets of data using a .csv file (comma separated values) and quickly add data to your applications. In most cases this is used to migrate data from other platforms or synchronize data with other 3rd party products.

To access this page expand the Data menu and click in Import:

menu

To create an import job, from the list of imports, click in the New Job button:

new import job button

Import Devices/Contacts/Numbers

To import devices first it's important you get your device tokens from a reliable source (like your old push provider). If you have a valid set of device tokens you wish to import, go ahead and select Import Devices from the Job Type selector:

job type devices

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

Optionally if you wish to overwrite records if they already exist, toggle the following option:

overwrite

Then you should select which type fo medium you want to import devices as:

medium

If you select Push as the medium, optionally if you want to provide a default value for Platform, toggle the following option and select which platform you want to use:

default platform

If you want to provide a default value for OS Version, toggle the following option and insert which version you want to use:

default os

If you want to provide a default value for App Version, toggle the following option and insert which version you want to use:

default app version

These values can also be included in your import file. If you do, ignore the previous fields.

You can also associate your devices with tags while importing them, to do that, toggle the option below:

include tags

If you check this option, you can also provide which separator you use in between each tag. By default we will look for a vertical bar (a.k.a pipe), if you use something else you should provide it in the following field:

tags separator

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file for Push devices

deviceID,osVersion,appVersion,platform,language,userID
"b489bc0c0c4420dc6b09f54270548292a102ac9","8.0","1.1","iOS","nl","test123@example.com"
"c0c4420dc6b09f54202ac83385f9f0a150dc6b0","8.1","1.1","iOS","en","test456@example.com"
"9f54270548292a102ac93b07e952aeb283385f9","7.1","1.0","iOS","pt","test789@example.com"

Example .csv file for Email devices

subscriptionId,language,userID
"joel+import-1@notifica.re","nl","test123@example.com"
"joel+import-2@notifica.re","nl","test124@example.com"

Example .csv file for SMS devices

subscriptionId,language,userID
"+31098765432","nl","test123@example.com"
"+31098765433","nl","test124@example.com"

Import Users

If you have imported devices with an unique identifier (userID), you will also want to import users. This will create a user profile which can have an unlimited number of devices. Go ahead and select Import Users from the Job Type selector:

job type users

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file

userID,userName
"test123@example.com","Test User 1"
"test123@example.com","Test User 2"
"test123@example.com","Test User 2"

Import Users into a Segment

With this job you can quickly assign existing users into a segment. This might be extremely useful if you want to keep user segmentation in sync with other software like a CRM. Go ahead and select Import Users into a Segment from the Job Type selector:

job type users into segment

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

You will have to select the segment you want to import users into. To do data search for existing segments as shown below:

search segments

And select the segment you'll use in the import job:

selected segment

Optionally if you wish to remove all users currently in the segment before importing new data, check the following box:

remove all

After importing new data, if you want to send a message to this segment, you can toggle the option below:

send message

If you check this option you will have to define which template we should use to send your message. To do that search templates in the field below:

search templates

And select which one you want to use as the base for your message:

selected template

By default, we will send the message right after the import job is finished. Optionally you can also scheduled the message for precision, to do that toggle the option below:

schedule message

If you choose to schedule your message, you will also need to provide a date, a timezone or if you want to use the device's timezone:

schedule picker

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file

userID
"user1@email.com"
"user2@email.com"
"user3@email.com"

Import Regions

If your app will make use of location services like geo-fencing and you have the need to create considerable amounts of locations then this job will help you. To import regions simply select Import Regions from the Job Type selector:

job type regions

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file

name,major,latitude,longitude,distance,timezone
"Amsterdam Shop","12345","52.357079","4.929666","1000","Europe/Amsterdam"
"New York Shop","12346","40.7058316","-74.2581936","1000","America/New_York"
"Tokyo Shop","12347","35.6742958","139.574921","1000","Asia/Tokyo"

Import Beacons

After importing regions and you also have BTLE beacons in your locations, you will want to also import that data. To do that, select Import Beacons from the Job Type selector:

job type beacons

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

Because in most cases, beacons are managed in other systems and their configuration data might change, there could be times where you just need to update existing records, to do that if you wish to updated existing beacons with new data, check the following box:

overwrite beacon

There is also cases where you will want to simply import beacon data and quickly create the regions where they will be inserted. If that is the case you can check the box below:

create region

If you check this option you will also want to provide a timezone for those regions:

region timezone

You will also want to provide a radius for those regions:

region radius

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file

name,major,minor,latitude,longitude,timezone
"Entrance","12345","1001","52.357079","4.929667","Europe/Amsterdam"
"POS","12345","1002","52.357078","4.929668","Europe/Amsterdam"
"Milk Aisle","12345","1003","52.357077","4.929669","Europe/Amsterdam"

Batch Passes Import

If you've subscribed the Loyalty add-on and have the need to generate passes with data from another sources, your best option is this import job. To create a bulk pass generation, select Batch Passes Import from the Job Type selector:

job type passes

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

You will need to select an existing pass template as the starting point for this import job:. To do that, search for an existing pass template like shown below:

search pass templates

And select the template you want to use:

selected pass template

Optionally you can also provide a default description of your passes (you can ignore this field if you already provide this information in the import file):

pass description

Depending on the template you choose, we will show the available fields in that pass. If you want, you can provide default values for all those fields. You can leave these empty if you already provide these values in the import file:

default pass values

Additionally you can select up to 10 locations to be added to all the passes you are updating:

import pass locations

You should however ignore this option if you already include those locations inside the CSV file you are importing. It is also possible to clear all the locations of a pass by toggling the following option:

import pass clear locations

Similarly, you can select up to 10 beacons to be added to all the passes you are updating:

import pass beacons

You should however ignore this option if you already include those beacons inside the CSV file you are importing. It is also possible to clear all the beacons of a pass by toggling the following option:

import pass clear beacons

We will also give you the chance to distribute the passes via a Push, Email or SMS message right after the import job is completed. If you want to send a message whenever a new card is created, toggle the following option:

send message after create pass

Additionally, if you want to send a message whenever an existing card is updated, toggle the following option:

send message after update pass

If you do choose any of these options, you'll need to select a template. The type of template will define the type of message you will send. To do that, search for an existing message template like shown below:

search templates

And select which one you want to use as the base for your message:

selected template

Please note that you have several placeholders that you should use in your template to personalize the message according to the pass.

The following placeholders are available:

  • {{pass_link}} (Link for iOS devices that support Wallet passes)
  • {{pass_link_view}} (Link to the web version of a pass)
  • {{pass_link_app}} (Universal link for iOS, Android and Web)

Additionally, any column included in your .csv file is also available as a placeholder in your template.

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file

Recognized columns:

  • userID
  • message
  • pass_barcode (unique)
  • pass_barcode_message (non-unique, only one of these can be used)
  • pass_barcode_alt_text
  • pass_barcode_show_alt_text
  • pass_relevant_date
  • pass_expiration_date
  • pass_location_latitude
  • pass_location_longitude
  • pass_location_altitude
  • pass_location_relevant_text
  • pass_location_region_major
  • pass_location_region_id
  • pass_locations (list of max 10 locations, separated by '|' and formatted as 'latitude;longitude;altitude;relevantText')
  • pass_beacons (list of max 10 beacons, separated by '|' and formatted as 'proximityUUID;major;minor;relevantText')
  • pass_xxx (where xxx is any field defined in the Passbook Template)
  • notification_xxx (where xxx is any arbitrary type of data you wish to include in your message)

Example with a single location referenced by a region major (known region in app):

userID,pass_barcode,pass_boarding,pass_origin,pass_destination,pass_flight,pass_gate,pass_seat,pass_location_region_major,pass_relevant_date,pass_expiration_date,notification_username
joris@notifica.re,12345,930P,AMS,MSY,KL1234,D2,42A,2,2017-08-29T21:00:00,2017-08-30T00:00:00,Joel
joel@notifica.re,12346,930P,AMS,MSY,KL1234,D2,42A,2,2017-08-29T21:00:00,2017-08-30T00:00:00,Joris

Example with a list of locations:

userID,pass_barcode,pass_boarding,pass_origin,pass_destination,pass_flight,pass_gate,pass_seat,pass_locations,pass_relevant_date,pass_expiration_date,notification_username
joris@notifica.re,12345,930P,AMS,MSY,KL1234,D2,42A,"52.3105;4.7683;;You are here|29.9911;-90.2592;;You are there",2017-08-29T21:00:00,2017-08-30T00:00:00,Joel
joel@notifica.re,12346,930P,AMS,MSY,KL1234,D2,42A,"52.3105;4.7683;;You are here|29.9911;-90.2592;;You are there",2017-08-29T21:00:00,2017-08-30T00:00:00,Joris

Batch Update Pass Fields Import

If you've subscribed the Loyalty add-on and have the need to update one or more fields of one or more passes, this is your best option. To update fields of passes of a specific template, select Passes Batch Import from the Job Type selector:

job type passes

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

You will need to select an existing pass template as the starting point for this import job. To do that, search for an existing pass template like shown below:

search pass templates

And select the template you want to use:

selected pass template

Additionally you can select up to 10 locations to be added to all the passes you are updating:

import pass locations

You should however ignore this option if you already include those locations inside the CSV file you are importing. It is also possible to clear all the locations of a pass by toggling the following option:

import pass clear locations

Similarly, you can select up to 10 beacons to be added to all the passes you are updating:

import pass beacons

You should however ignore this option if you already include those beacons inside the CSV file you are importing. It is also possible to clear all the beacons of a pass by toggling the following option:

import pass clear beacons

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

Example .csv file

Recognized columns:

  • pass_barcode (unique)
  • pass_barcode_message (non-unique, only one of these can be used)
  • pass_barcode_alt_text
  • pass_barcode_show_alt_text
  • pass_relevant_date
  • pass_expiration_date
  • pass_location_latitude
  • pass_location_longitude
  • pass_location_altitude
  • pass_location_relevant_text
  • pass_location_region_major
  • pass_location_region_id
  • pass_locations (list of max 10 locations, separated by '|' and formatted as 'latitude;longitude;altitude;relevantText')
  • pass_beacons (list of max 10 beacons, separated by '|' and formatted as 'proximityUUID;major;minor;relevantText')
  • pass_xxx (where xxx is any field defined in the Passbook Template)
pass_barcode,pass_gate
12345,D2
12346,D2

Batch Private Messages Import

A powerful way of sending transactional 1-on-1 messages is to create an import job to send private messages. To do that, select Batch Private Messages Import from the Job Type selector:

job type private messages

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

Optionally you can select a previously created template as the basis of your message. You can choose to not use this option if you are going to send simple text messages. For more elaborated content consider toggling this option ON:

private message with template

If you do choose this option, you'll need to select a template. To do that, search for an existing message template like shown below:

search templates

And select which one you want to use as the base for your message:

selected template

By default, we will send the message right after the import job is finished. Optionally you can also scheduled the message for precision, to do that toggle the option below:

schedule message

If you choose to schedule your message, you will also need to provide a date and a timezone:

private message date picker

If you wish to filter out the data in the file you are about to import, you can use our familiar Criteria selection to do just that:

Criteria

Learn how to setup a custom criteria by reading our guides located here.

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

This type of import will allow you to send messages to a user (and all its devices) or to single devices. Recognized columns:

  • userID
  • deviceID
  • message
  • title
  • subtitle
  • ttl
  • sound
  • extra
  • attachmentUri
  • attachmentMimeType
  • notification_xxx

Below you find the .csv file example for this type of import for users:

userID,message,notification_placeholder1,notification_placeholder2
joris@notifica.re,"Great stuff {{notification_placeholder1}}. You have now {{notification_placeholder2}} points",Joris, 50
joel@notifica.re,"Great stuff {{notification_placeholder1}}. You have now {{notification_placeholder2}} points", Joel, 150

Below you find the .csv file example for this type of import for devices:

deviceID,message,notification_placeholder1,notification_placeholder2
ede4451c18dfa4bc08de6296c472558f17a3f2a38e1593a0c5cd1e8ea6f25171,"Great stuff {{notification_placeholder1}}. You have now {{notification_placeholder2}} points", Joris, 50
ede4451c18dfa4bc08de6296c472558f17a3f2a38e1593a0c5cd1e8ea6f25172,"Great stuff {{notification_placeholder1}}. You have now {{notification_placeholder2}} points", Joel, 150

Below you find the .csv file example for this type of import for subscription identifiers (using push token, email address or SMS number):

subscriptionId,message,notification_placeholder1,notification_placeholder2
joris@notifica.re,"Great stuff {{notification_placeholder1}}. You have now {{notification_placeholder2}} points", Joris, 50
joel@notifica.re,"Great stuff {{notification_placeholder1}}. You have now {{notification_placeholder2}} points", Joel, 150

Columns in the CSV will overwrite corresponding values in the Notification Template, both CSV provided placeholders (e.g., {{notification_placeholder}}) as well as standard placeholders (e.g., {{userName}}) can be used, both in the template and inside CSV values.

Batch Grouped Messages Import

With this type of import job it is possible to create one single messaging campaign to several (unique) users or devices, using data from external sources that is unknown to Notificare. To do that, select Batch Grouped Messages Import from the Job Type selector:

job type grouped messages

If you wish to run an import job in verification mode, you can use the following option:

verify only

Obviously, when this option is ON the import job will not import any data and instead will simply verify if your source data conforms to our requirements.

Then you should select a previously created template as the basis of your message. These templates can contain placeholders for any arbitrary data you choose to include in your import file. Assuming you've create a template you should search for it like shown below:

search templates

And select the template you want to use:

selected template

By default, we will send the message right after the import job is finished. Optionally you can also scheduled the message for precision, to do that toggle the option below:

schedule message

If you choose to schedule your message, you will also need to provide a date, a timezone or if you want to use the device's timezone:

schedule picker

If you wish to filter out the data in the file you are about to import, you can use our familiar Criteria selection to do just that:

Criteria

Learn how to setup a custom criteria by reading our guides located here.

Finally you should upload a .csv file with the data you wish to import in the following field:

upload csv

This type of import will allow you to send messages to a user (and all its devices) or to single devices. Recognized columns:

  • userID (unique)
  • deviceID (unique, this property is ignored if an userID is included)
  • notification_xxx

Below you find the .csv file example for this type of import for users:

userID,notification_placeholder1,notification_placeholder2
joris@notifica.re, Joris, 50
joel@notifica.re, Joel, 150

Below you find the .csv file example for this type of import for devices:

deviceID,notification_placeholder1,notification_placeholder2
ede4451c18dfa4bc08de6296c472558f17a3f2a38e1593a0c5cd1e8ea6f25171, Joris, 50
ede4451c18dfa4bc08de6296c472558f17a3f2a38e1593a0c5cd1e8ea6f25172, Joel, 150

Below you find the .csv file example for this type of import for subscription identifiers (using push token, email address or SMS number):

subscriptionId,notification_placeholder1,notification_placeholder2
joris@notifica.re, Joris, 50
joel@notifica.re, Joel, 150

Columns in the CSV will overwrite corresponding values in the Notification Template, both CSV provided placeholders (e.g., {{notification_placeholder}}) as well as standard placeholders (e.g., {{userName}}) can be used, both in the template and inside CSV values.

Finally when you done configuring your import job, click in the Create Job to actually create the import job:

create button