Массовое обновление профилей
Описание
Массовое обновление данных профилей.
Если передать параметры объекта subscriptions status
и priority
со значением 0
, то значение учитывается.
Чтобы не изменять и не обновлять значения этих параметров – не передавайте их, либо установите значения в -1
.
В одном запросе не рекомендуется:
- передавать более 10 000 профилей;
- передавать более 10 Мб данных. Можно передавать больший объем в несколько потоков.
URL-адрес
Метод: POST
https://example.com/api/v1.1/profiles/update_batch
Параметры запроса
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
data | JSON array |
| Да | Данные о профилях |
db_id | int | 1 | Да | Идентификатор базы данных |
skip_invalid_subscriptions | bool | true | Нет | Пропустить невалидные подписки (по умолчанию – false) |
Поиск профиля подписчика для обновления | ||||
matching | string | "email" – поиск по email из профиля или подписок "email_profile" – по email из профиля "email_sub" – по email из подписок "phone" – по телефону из профиля или подписок "phone_sub" – по телефону из подписок "profile_id" – по идентификатору профиля (только при обновлении!) "push_sub" – по пуш подписке "custom" – по кастомному полю "custom_sub" – по подписке на кастомный канал "email_phone" – по email или телефону из профиля "email_phone_sub" – по email или телефону из подписок | Нет, если поиск по email из профиля или подписок | Режим поиска подписчика. По умолчанию - email. Для каждого типа матчинга в теле запроса необходимо передавать определенные поля. Подробнее об этих полях можно узнать здесь. Обратите внимание, что при режиме "email" или "phone" поиск происходит одновременно в контактных данных и в подписках. |
string | "john@example.com" | "matching":"email" - по профилю и подпискам "matching":"email_profile" - только по профилю | Email-адрес. Должен быть передан в элементе массива data. | |
phone | string | "+79000000000" | "matching":"phone" | Номер телефона |
profile_id | string | "abcdefghijklmnqrstuvwxyz" | "matching":"profile_id" | Идентификатор профиля |
field_name | string | "CRM_ID" | "matching":"custom" | Название кастомного поля профиля для поиска. Данное поле должно присутствовать в элементе массива data. |
resource_id | int | 24 | Нет | Идентификатор ресурса для поиска по email и phone |
Массив subscriptions
Массив subscriptions
хранит данные о подписках профиля на ресурсы. Один объект — одна подписка.
Параметры | Тип | Пример | Описание |
---|---|---|---|
resource_id | int | 1 | Идентификатор ресурса |
status | string | "subscribed" | Статус подписки. |
priority | int | 1 | Приоритет подписки |
custom_fields | object |
| Стандартные и дополнительные поля подписки. Получить информацию о доступных полях подписки в ресурсе можно с помощью метода /v1.1/resources/fields_get |
cats | array |
| Категории ресурса, на которые подписать профиль. |
Email канал | |||
channel | string | "email" | Тип канала |
string | "john@example.com" | Email-адрес | |
SMS канал | |||
channel | string | "sms" | Тип канала |
phone | string | "+79000000000" | Номер телефона |
Push канал | |||
channel | string | "push" | Тип канала |
provider | string | "Firefox" | Тип провайдера |
subscription_id | string | "abcdefghijklmnqrstuvwxyz" | Идентификатор подписки |
Telegram Bot канал | |||
channel | string | "telegram_bot" | Тип канала |
cc_data | object |
| id чата в Telegram-бот |
WhatsApp*-канал | |||
channel | string | "whatsapp" | Тип канала |
cc_data | object |
| Телефон профиля в WhatsApp* |
Viber канал | |||
channel | string | "viber" | Тип канала |
cc_data | object |
| Телефон профиля в Viber |
Пример запроса
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"db_id": 1,
"matching": "custom",
"field_name": "Custom_ID",
"skip_triggers": true,
"data": [
{
"_fname": "Lala",
"_lname": "Doe",
"Custom_ID": 77,
"email": "example@example.com",
"subscriptions": [
{
"channel": "email",
"email_data": {
"email": "example@example.com"
},
"resource_id": 28,
"custom_fields": {
"custom_field": "test value"
},
"cats": [
"category_1",
"category_2"
]
}
]
},
{
"_fname": "Victor",
"Custom_ID": 88,
"email": "example@example.com"
}
]
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<db_id>1</db_id>
<matching>custom</matching>
<field_name>Custom_ID</field_name>
<skip_triggers>true</skip_triggers>
<data>
<_fname>Lala</_fname>
<_lname>Doe</_lname>
<Custom_ID>77</Custom_ID>
<email>example@example.com</email>
<subscriptions array='true'>
<channel>email</channel>
<email_data>
<email>example@example.com</email>
</email_data>
<resource_id>28</resource_id>
<custom_fields>
<custom_field>test value</custom_field>
</custom_fields>
<cats>category_1</cats>
<cats>category_2</cats>
</subscriptions>
</data>
<data>
<_fname>Alex</_fname>
<Custom_ID>345</Custom_ID>
<email>example@example.com</email>
</data>
</xml>
Пример ответа
- JSON
- XML
{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"error": 0,
"error_text": "Successful operation",
"profile_id": "abcdefghijklmnqrstuvwxyz"
},
{
"error": 0,
"error_text": "Successful operation",
"profile_id": "abcdefghijklmnqrstuvwzzz"
}
]
}
<xml>
<error>0</error>
<error_text>Successful operation</error_text>
<result>
<error>0</error>
<error_text>Successful operation</error_text>
<profile_id>abcdefghijklmnqrstuvwxyz</profile_id>
</result>
<result>
<error>0</error>
<error_text>Successful operation</error_text>
<profile_id>abcdefghijklmnqrstuvwzzz</profile_id>
</result>
</xml>
Возвращаемые параметры
Параметр | Тип | Описание |
---|---|---|
error | int | Код ошибки, для всего запроса |
error_text | string | Текст ошибки, для всего запроса |
data | array of object | Результаты обновления по профилям |
data.error | int | Код ошибки, для профиля |
data.error_text | string | Текст ошибки, для для профиля |
data.profile_id | string | Идентификатор профиля |
*Организация Meta, которой принадлежат продукты Instagram, Facebook и WhatsApp, признана экстремистской и запрещена на территории РФ.