Массовое обновление профилей
Описание
Массовое обновление данных профилей.
Если передать параметры объекта 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, признана экстремистской и запрещена на территории РФ.