Skip to main content

Import multiple profiles

Description

Adds or updates multiple profiles to or in a database.

Request URL

Method: POST

https://example.com/api/v1.1/profiles/import_batch

Request parameters

caution
  • For JSON body use the following header: Content-Type: application/json.
  • For XML body use the following header: Content-Type: application/xml.
ParameterTypeExampleRequiredDescription
tokenstring"abcdefghijklmnqrstuvwxyz"YesAPI token
dataJSON array

[    {       "_fname": "John",       "_lname": "Doe",       "custom_id": "abcdefghijklmnqrstuvwxyz",       "email": "john@example.com",       "subscriptions": [          {              "channel": "email",              "email_data": {                  "email": "john@example.com"              },             "resource_id": 1          }       ]    } ]

YesProfile fields data
db_idint1YesDatabase ID
skip_invalid_subscriptionsbooltrueNoSkip invalid subscriptions.
By default – false
skip_triggersbooltrueNoSkip trigger events.
By default – false
detect_geobooltrueNoDetect location by _regip or _ip from data object
Profile matching mode
matchingstring"email"
"email_profile"
"email_sub"
"phone"
"phone_sub"
"profile_id"
"push_sub"
"custom"
"custom_sub"
"email_phone"
"email_phone_sub"
No, if matched by emailProfile matching mode
By default - email

For each type of matching, certain fields must be passed in the request body. Learn more about these fields here.
emailstring"john@example.com""matching":"email"Email address
phonestring"+79000000000""matching":"phone"Phone number
profile_idstring"abcdefghijklmnqrstuvwxyz""matching":"profile_id"Profile ID
field_namestring"CRM_ID""matching":"custom"Custom profile field name
field_valueint/string"123420""matching":"custom"

Custom field value.

tip

Searching by combination of tags is available for tag type profile fields. Values are recorded as a string: "tag-1, tag-2".

resource_idint24NoResource ID for email and phone matching

Subscriptions array

The subscriptions array stores data about the profile's subscriptions to resources. One object is one subscription.

ParameterTypeExampleDescription
resource_idint1Resource ID
statusstring"subscribed"

Subscription status

It is recommended to pass the parameter in the request only in cases where it is necessary to update the subscription status.

priorityint1Subscription priority
custom_fieldsobject
{
   "_browser_name": "Chrome",
   "_device_type": "web"
}
System and custom subscription fields.

You can get information about available subscription fields in a resource using the /v1.1/resources/fields_get method
catsarray
[
   "category_1",
   "category_2"
]
Resource categories to which to subscribe the profile.
Email channel
channelstring"email"Channel type
emailstring"john@example.com"Email
SMS channel
channelstring"sms"Channel type
phonestring"+79000000000"Phone number
Push channel
channelstring"push"Channel type
providerstring"Firefox"Provider type
subscription_idstring"abcdefghijklmnqrstuvwxyz"Subscription ID
Telegram Bot channel
channelstring"telegram_bot"Channel type
cc_dataobject
{
   "id": 1
}
Telegram Bot chat ID
WhatsApp channel
channelstring"whatsapp"Channel type
cc_dataobject
{
   "phone": "+79000000000"
}
Profile phone number on WhatsApp
Viber channel
channelstring"viber"Channel type
cc_dataobject
{
   "phone": "+79000000000"
}
Profile phone number on Viber

JSON request example

{
"data": [
{
"_fname": "John",
"_lname": "Doe",
"custom_id": "abcdefghijklmnqrstuvwxyz",
"email": "jane@example.com",
"subscriptions": [
{
"channel": "email",
"email_data": {
"email": "john@example.com"
},
"resource_id": 1,
"custom_fields": {
"_browser_name": "Firefox",
"_device_type": "web",
"custom_field_1": "test value"
},
"cats": [
"category_1",
"category_2"
]
}
]
}
],
"db_id": 1,
"matching": "custom",
"field_name": "custom_id",
"skip_triggers": true,
"detect_geo": true,
"token": "abcdefghijklmnqrstuvwxyz"
}

JSON response example

{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"error": 0,
"error_text": "Successful operation",
"profile_id": "abcdefghijklmnqrstuvwxyz"
}
]
}

XML request example

<xml>
<token>e94ce55afc3e4e07bd64afb2227f8a5c</token>
<db_id>8</db_id>
<matching>email</matching>
<detect_geo>true</detect_geo>
<format>xml</format>
<skip_triggers>false</skip_triggers>
<data>
<lead>
<email>example@example.org</email>
<_fname>Leonid</_fname>
<_lname>Spartov</_lname>
<_bdate>1990-02-22T21:00:00Z</_bdate>
<_sex>M</_sex>
<_regip>94.231.119.122</_regip>
<custom_string>value1</custom_string>
<custom_integer>42</custom_integer>
<custom_date>1990-02-22T21:00:00Z</custom_date>
<custom_tags>tag1, tag2</custom_tags>
<custom_boolean>true</custom_boolean>
<custom_enum>2</custom_enum>
<custom_ip>94.231.119.122</custom_ip>
<subscriptions>
<subscription>
<resource_id>3</resource_id>
<channel>email</channel>
<email>example333@example.org</email>
</subscription>
<subscription>
<resource_id>3</resource_id>
<channel>phone</channel>
<phone>712345678550</phone>
</subscription>
<subscription>
<resource_id>3</resource_id>
<channel>push</channel>
<push_data>
<subscription_id>ONEOF77THESE11DAYS11dd1</subscription_id>
<provider>Firefox</provider>
</push_data>
</subscription>
</subscriptions>
</lead>
<lead>
<email>example2@example.org</email>
<_fname>Chuck</_fname>
<_lname>Norris</_lname>
<_bdate>1985-02-22T21:00:00Z</_bdate>
<_sex>M</_sex>
<_regip>94.232.119.122</_regip>
<custom_string>value2</custom_string>
<custom_integer>42</custom_integer>
<custom_date>1920-02-22T21:00:00Z</custom_date>
<custom_tags>tag3, tag4</custom_tags>
<custom_boolean>false</custom_boolean>
<custom_enum>3</custom_enum>
<custom_ip>94.234.119.122</custom_ip>
<subscriptions>
<subscription>
<resource_id>3</resource_id>
<channel>email</channel>
<email>example276@example.org</email>
</subscription>
<subscription>
<resource_id>3</resource_id>
<channel>phone</channel>
<phone>73214562290</phone>
</subscription>
<subscription>
<resource_id>3</resource_id>
<channel>push</channel>
<push_data>
<subscription_id>CU86TYOU5INTO34LITT25LEPIE55CES</subscription_id>
<provider>Chrome</provider>
</push_data>
</subscription>
</subscriptions>
</lead>
</data>
</xml>

XML response example

<result>
<error>0</error>
<error_text></error_text>
<result>
<error>0</error>
<error_text>Successful operation</error_text>
<error_field></error_field>
<profile_id>5dd3cfa5c484d021d6e5204f</profile_id>
</result>
<result>
<error>0</error>
<error_text>Successful operation</error_text>
<error_field></error_field>
<profile_id>5dd3cfd0c484d021d6e52050</profile_id>
</result>
</result>

Response parameters

ParameterTypeDescription
errorintError code
error_textstringError text
resultarray of objectUpdate results by profiles

The order of the objects in the returned result array repeats the order of the objects in the input data array.
result.errorintError code, for profile
result.error_textstringError text, for profile
result.profile_idstringProfile ID