REST API

REST API

Legacy Poppulo platform REST API

Import Mapping

The Subscriber Import Job Entity specifies the data in a delimited text segment1. The delimited data is sub-divided into rows and columns. The rows are delimited by newlines, and the columns by the delimiter. This data is then used to populate the imported subscribers.

To enable this, these columns must be mapped onto subscriber fields. Columns can be mapped to any2 of the Poppulo built-in fields, or to any custom field you have created.

Please note that the automatic mapping described below is deprecated and is not available to new integrations. New integrations must specify a columns tag when submitting an import job.

Unless the columns tag is included, these columns are automatically mapped into the Poppulo system. This automatic mapping uses a variety of heuristics to determine which values should be mapped to which fields in our system. For example, a typical import might be a CSV file with a header line consisting of column names.

However, the automatic mapping process will not always do what is desired. More importantly, the automatic mapping algorithm can be tweaked, which could cause automatically submitted imports to be mapped differently over time. For API imports, we recommend instead that an explicit mapping is provided. This is the purpose of the columns tag. It is a comma separated list of Poppulo's canonical field names3. The number of columns specified in the tag must match the number of columns in the file. If specified, the automatic mapping will not be performed and the subscriber data will instead be mapped exclusively according to the content of this tag.

The following is the complete list of canonical column names for the columns tag of the subscriber import job. The exact name must be used, including any dots and spacing. Custom field names should be included verbatim.

Column nameColumn descriptionExample CSV value(s)
emailSubscriber's email addressjoe.m.bloggs@example.com
employeeId 4Subscriber's employee idempl_1234
mobileAccessCode 4Subscriber's mobile access code654160809328
salutationSubscriber's salutationMr, Ms, etc...
name.first nameSubscriber's first nameJoe
name.middle initialSubscriber's middle initialM
name.surnameSubscriber's last nameBloggs
companyThe company the subscriber works atPoppulo
positionThe subscriber's job titleDeveloper
address.address line 1First line of subscriber's addressBuilding 101
address.address line 2Second line of subscriber's address123 Fake Street
address.address line 3Final line of subscriber's addressBrooklyn
address.cityThe city the subscriber is inNew York
address.state/regionThe state or region the subscriber is inNY
address.postal codeThe postal code for the subscriber11201
address.countryThe subscriber's countryUSA
phoneNumber.phone numberThe subscriber's phone number555 123456
fax.fax numberThe subscriber's fax number555 123456
websiteA website associated with the subscriberwww.example.com
sourceThe source of the subscriberOctober mailing
mail formatThe subscriber's preferred email formatHtml, Text
externalIdAn identifier used in your system to refer to the subscriberFree text
statusSubscriber statusActive, Inactive or Opt_Out
optoutReasonThe reason the subscriber has opted outAdmin, Subscriber
tagsComma separated list of tags to addImported via API
topicsComma separated list of topics to addWorld News
permissionsComma separated list of permissions to addNewsletter
sections5Comma separated list of sections to addFeature Story
removetagsComma separated list of tags to removeImported via API, *
removetopicsComma separated list of topics to removeWorld News, *
removepermissionsComma separated list of permissions to removeNewsletter, *
removesections5Comma separated list of sections to removeFeature Story, *
doNotImportThis column will be ignored6Free Text
Custom field nameCustom fields are referred to by their own namesMy Custom Field Value

Some of the columns do not map directly to individual fields in a subscriber. The permissions, sections and tags fields are special values that allow the client program to specify these entities on a per-subscriber level. The remove versions of these fields remove the specified values from the subscribers. The special wildcard value * can be used with the remove to remove all permissions/sections/tags from the specified subscriber.

Please read Tag Synchronisation for more information about the risks of removing all Tags in your integration


Footnotes

  1. The delimiter is by default a comma. Thus the data is typically CSV. The field_separator tag can override this default.

  2. Some fields are read only system fields, e.g. date created or date updated. If you want to maintain such data explicitly, create a custom field.

  3. The values in the columns tag is always comma separated, even if field_separator is present and specifies a different delimiter.

  4. These fields are optional, and rely on the non-email feature being enabled for the account. Please contact our Customer Support team if you need this feature turned on. 2

  5. This functionality is deprecated and may not be available to you. Please use "topics" instead. 2

  6. The doNotImport column is useful if there is an existing process that generates the data, and it is to be used unmodified.