Update multiple profiles
Description
Updates (only) multiple profiles to or in a database.
If you pass the status
and priority
parameters of the subscriptions
object with a value of 0
, then the value is taken into account.
In order not to change or update the values of these parameters, do not pass them, or set the values to -1
.
In one request it is not recommended:
- transfer more than 10,000 profiles;
- transfer more than 10 MB of data. It is possible totransfer more data using multiple streams.
Request URL
Method: POST
https://example.com/api/v1.1/profiles/update_batch
Request parameters
Parameter | Type | Example | Required | Description |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Yes | API token |
data | JSON array |
| Yes | Profile fields data |
db_id | int | 1 | Yes | Database ID |
skip_invalid_subscriptions | bool | true | No | Skip invalid subscriptions. By default – false |
Profile matching mode | ||||
matching | string | "email" "email_profile" "email_sub" "phone" "phone_sub" "profile_id" "push_sub" "custom" "custom_sub" "email_phone" "email_phone_sub" | No, if matched by email | Profile 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. |
string | "john@example.com" | "matching":"email" | Email address | |
phone | string | "+79000000000" | "matching":"phone" | Phone number |
profile_id | string | "abcdefghijklmnqrstuvwxyz" | "matching":"profile_id" | Profile ID |
field_name | string | "CRM_ID" | "matching":"custom" | Custom profile data field name |
field_value | int/string | "123420" | "matching":"custom" | Custom profile data 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_id | int | 24 | No | Resource 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.
Parameter | Type | Example | Description |
---|---|---|---|
resource_id | int | 1 | Resource ID |
status | string | "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. |
priority | int | 1 | Subscription priority |
custom_fields | object | { | System and custom subscription fields. You can get information about available subscription fields in a resource using the /v1.1/resources/fields_get method |
cats | array | [ | Resource categories to which to subscribe the profile. |
Email channel | |||
channel | string | "email" | Channel type |
string | "john@example.com" | ||
SMS channel | |||
channel | string | "sms" | Channel type |
phone | string | "+79000000000" | Phone number |
Push channel | |||
channel | string | "push" | Channel type |
provider | string | "Firefox" | Provider type |
subscription_id | string | "abcdefghijklmnqrstuvwxyz" | Subscription ID |
Telegram Bot channel | |||
channel | string | "telegram_bot" | Channel type |
cc_data | object | { | Telegram Bot chat ID |
WhatsApp channel | |||
channel | string | "whatsapp" | Channel type |
cc_data | object | { | Profile phone number on WhatsApp |
Viber channel | |||
channel | string | "viber" | Channel type |
cc_data | object | { | Profile phone number on Viber |
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,
"field_name": "CustomID",
"field_value": 13,
"matching": "custom",
"skip_triggers": true,
"token": "abcdefghijklmnqrstuvwxyz"
}
Response example
{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"error": 0,
"error_text": "Successful operation",
"profile_id": "abcdefghijklmnqrstuvwxyz"
}
]
}
Response parameters
Parameter | Type | Description |
---|---|---|
error | int | Error code |
error_text | string | Error text |
profile_id | string | Profile ID |