Request profile import (version 2) (beta)

Beta

This is a new feature in APSIS One API and we are still keeping a close look on performance and potential issues. Please report any feedback to [email protected].

Request profile import

Request a profile import into APSIS One.

Import is an asynchronous operation. Once it's been requested you'll receive a response that contains the file upload URL with embedded credentials and the expiration details.

Upload your import file using that URL. APSIS One API profile import supports CSV files (content type text/csv).

In its requests and responses, APSIS One API supports date and time formatted as ISO 8601 referred to as date-time in RFC 3339, section 5.6 in the UTC variant.

Import files support more date formats as described in this Help Center article. However these dates will be converted to a format corresponding to the type of the attribute the import file column is mapped to. Read more about attribute types in this Help Center article.

Once you've uploaded the file you can check the status using the corresponding GET /audience/sections/{section_discriminator}/imports/{import_id} endpoint.

The manage_subscriptions flag must be true on the keyspace used or HTTP 403 Forbidden response status code is returned.

All the attributes and tags you are trying to set during the import need to be allowed to WRITE through the selected keyspace. If any of them is not, HTTP 403 Forbidden response status code is returned.

Limits

The maximum import file size is 50 MB. Split your import into multiple files and import requests to mitigate this.

Pending import count limit. If reached, HTTP 429 Too Many Requests is returned.

The import file considerations are the same when importing via APSIS One as when importing via this API. They've been described in this Knowledge Base article.

Understanding import failures

For every import, we're generating a report that contains statistics and detailed information about the import errors. See this Knowledge Base article.

Version 2

Keyspaces and consents are now independent. You are able to create profiles (and profile keys) in a keyspace of your choice (e.g. CRM) and at the same time create consents for these profiles to the topics that are specific to channels not related to that keyspace (e.g. email or SMS).

Profiles (and profile keys) are created in a single keyspace. Profile merge is not supported.

This version of the Profile Import feature supports two kinds of topics, channel-specific and not, in the following manner:

  • If you're creating a consent for a channel-specific topic then you can omit the channel_discriminator property in the request body. If you provide it then it must match the channel configured for the topic.
  • To create a consent for a topic that is not channel-specific you need to provide the channel_discriminator request body property as we need to know over which channel the consent should be created

Inside consent_mappings, the channel is inferred from the topic provided in the topic_discriminator parameter.

Changes in Consent 2.0

In Consent 2.0 consent list discriminator is not required anymore and a consent is given on the profile level (and not the address level) so the consent_list_discriminator request parameter is now deprecated

When using the Profile Import with the account that is still on Consent 1.0 then the consent is created on the address taken from the corresponding attribute mapping (Email or Mobile, depending on the consent channel). For accounts in Consent 2.0 the consent is created on the profile level.

See this page to understand how to proceed with your existing and new integrations

More information

Step by step guide

Language
Authentication
Bearer
JWT
URL