What can I do with import?

Import allows you to get subscribers into your Sign-Up.to account quickly:

  • Define the source as .CSV file accessible via HTTP or HTTPS. Read more
  • Check completed to see the status of your import.
  • The errorcode and error attributes will describe any issues which may arise during import. Read more
  • Choose from one of the updatemode options provided.

We recomended that your source URL is served over HTTPS with basic authentication.

Use the source, Luke

The source attribute must point to a file accessible via HTTP or HTTPS. We will then use this URL to fetch, parse and update your subscribers, creating a subscription for each valid record found.

HTTP basic authentication

We go to great lengths to keep your subscriber data safe and we advise you do the same. To ensure that your source file isn't visible to prying eyes, please use HTTP basic authentication. This protocol cobines a simple username and password; it's widely compatible, doesn't require sessions/cookies and is easy to set up.

To specify HTTP basic authentication in your source, the URL should include the username and password you set up. This should be formatted as "https://user@pass:mysite.com/path/to/data_file.csv".

Column headers

As well as being comma separated (obviously), your .CSV must contain the subscriberProfileFields for the data you are importing. These subscriberProfileFields should be identified by their columnheader attribute. These fields must be present on the first row, otherwise your import will error.

Please note, we only accept a .CSV without headers if it has 1 column consisting of email addresses only.

Example .CSV

email,firstname,surname,favourite_spoon
mailbox@example.com,John,Smith,silver
mailbox+1@example.com,Jane,Smith,gold
mailbox+2@example.com,Foo,Bar,wooden

Starting from a template

To get you started quickly, we've made a handy tool which creates a template .CSV with each columnheader present. The tool needs some information from your account, so follow these three easy steps:

  1. Log into your account in the usual way.
  2. Once logged in, append '/profile/headers' to the URL e.g. https://secure.sign-up.to/profile/headers. Please note that for partners the domain will be the usual address used for logging in.
  3. A .CSV file will download - once complete, open this up and take a look.

GET /import or /import/:id

AttributeTypeFilterSortDescription
id
intYesYesUnique ID of the import.
completed
boolYesNoFlag indicating whether import processing has completed. Please note that "true" indicates that the import completed, but does not indicate that it did so successfully.
error
string/nullNoNoFree-form system-generated text describing an error that prevented the import from completing. Null if the import has not yet been processed, or if it was processed successfully.
errorcode
int/nullNoNoCode associated with the error in the "error" attribute. Null if the import has not yet been processed, or if it was processed successfully.
list_id
intYesNoID of the list into which data is to be imported.
recordcount
int/nullNoNoNumber of records found in the data file.
source
string/nullNoNoURL of data to be imported, either "http" or "https".
updatemode
enumNoNoAttribute update mode. Specifies the behaviour for data attributes: one of "add" (do not overwrite existing attribute data), "overwrite" (overwrite existing data), "delete" (blank input attributes cause deletion of existing data).
user_id
intYesNoID of the user who created the import.
cdate
decimalNoYesTimestamp at which the import was created.

HEAD /import or /import/:id

AttributeTypePresenceDescription
id
intOptionalUnique ID of the import.
completed
boolOptionalFlag indicating whether import processing has completed. Please note that "true" indicates that the import completed, but does not indicate that it did so successfully.
list_id
intOptionalID of the list into which data is to be imported.
user_id
intOptionalID of the user who created the import.

POST /import

AttributeTypePresenceDescription
list_id
intRequiredID of the list into which data is to be imported.
source
string/nullRequiredURL of data to be imported, either "http" or "https".
updatemode
enumRequiredAttribute update mode. Specifies the behaviour for data attributes: one of "add" (do not overwrite existing attribute data), "overwrite" (overwrite existing data), "delete" (blank input attributes cause deletion of existing data).

PUT /import or /import/:id

This method is not supported.

DELETE /import or /import/:id

This method is not supported.

Error codes

This endpoint exposes any errors encountered during import through the errorcode attribute. Please note, this errorcode differs to those exposed through erroneous requests because this errorcode is permanent and request-agnostic.

Error Description
1
Internal exception.
2
Invalid source.
3
Unable to fetch the source file.
4
Invalid column headers.
5
No header was specified and the data does not validate as email addresses.
6
Duplicate column header. Column headers must be unique.
7
Column headers do not contain either "email" or "mobile". At least one of these are mandatory.

Examples

JSON response

{
    "id":            123,
    "completed":     true,
    "error":         null,
    "errorcode":     null,
    "list_id":       456789,
    "recordcount":   5400,
    "source":        "https://user@pass:mysite.com/path/to/data_file.csv",
    "updatemode":    "add",
    "user_id":       123,
    "cdate":         131674521
}