Объединение нескольких профилей
Описание
Объединение нескольких профилей в новый или уже существующий профиль.
предупреждение
-
Профили, созданные объединением, — это не импорт. Импорт триггер по ним не срабатывает.
-
Email: localhost
как отсутствующее поле, создается при необходимости и не копируется в другой профиль. -
Не localhost email копируется, как любое другое поле, но чтобы не было коллизий — пропадает из source-профиля, меняется на пустое (то есть
localhost
).
URL-адрес
Метод: POST
https://example.com/api/v1.1/profiles/merge
Параметры запроса
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
data | JSON object | "data": { | Нет | Данные о профиле, которые изменятся после объединения. |
skip_triggers | bool | true | Нет | Пропустить запуск триггеров (по умолчанию – false) |
source | array | "source": [ | Да | Содержит данные матчинга о профилях, которые нужно объединить. |
destination | JSON object | "destination":{ | Да | Содержит данные матчинга профиля, который получится в результате объединения. |
matching | string | "email" "email_profile" "email_sub" "phone" "phone_sub" "profile_id" "push_sub" "custom" "custom_sub" "email_phone" "email_phone_sub" | Нет, если поиск по email из профиля или подписок | Режим поиска подписчика. По умолчанию - email. Для каждого типа матчинга в теле запроса необходимо передавать определенные поля. Подробнее об этих полях можно узнать здесь. |
field_name | string | custom_ID | Да, если "matching": "custom" | Имя кастомного поля БД Altcraft при matching : custom. В форме сбора данных для поиска нужно поле с таким же именем. |
field_value | int/string | custom_string | Да, если "matching": "custom" | Значение кастомного поля при matching : custom. |
subscriptions | bool | true | Нет | Копировать и объединить подписки. Подписки на категории ресурса и данные из полей подписки также скопируются. (по умолчанию – true) |
history | bool | true | Нет | Копировать историю и флаги активности (по умолчанию – true) |
static_segments | bool | true | Нет | Вносить ли изменения в статические сегменты (source-профили выйдут из сегментов, а destination-профиль - войдет) (по умолчанию – false) |
overwrite | bool | true | Нет | Копировать ли поля source-профилей (по умолчанию – false) Если у destination-профиля есть пустые поля, они в любом случае будут заполнены полями профиля с наибольшим приоритетом. |
delete | bool | true | Нет | Удалить ли source-профили после обьединения (по умолчанию – false) |
Копирование полей профилей
Пример запроса
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"matching": "custom",
"field_name": "field_1",
"source": [
{
"db_id": 1,
"field_value": "1",
"data": {
"_fname": "Profile1",
"_lname": "LnameProfile1"
}
},
{
"db_id": 1,
"matching": "email",
"email": "test2@mail.ru",
"data": {
"_fname": "Profile2",
"_lname": "LnameProfile2"
}
}
],
"destination": {
"db_id": 2,
"matching": "email",
"email": "test3@mail.ru",
"data": {
"_fname": "Profile3",
"_lname": "LnameProfile3"
}
},
"subscriptions": true,
"static_segments": true,
"history": false
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<matching>custom</matching>
<field_name>field_1</field_name>
<source>
<db_id>1</db_id>
<field_value>1</field_value>
<data>
<_fname>Profile1</_fname>
<_lname>LnameProfile1</_lname>
</data>
</source>
<source>
<db_id>1</db_id>
<matching>email</matching>
<email>test2@mail.ru</email>
<data>
<_fname>Profile2</_fname>
<_lname>LnameProfile2</_lname>
</data>
</source>
<destination>
<db_id>2</db_id>
<matching>email</matching>
<email>test3@mail.ru</email>
<data>
<_fname>Profile2</_fname>
<_lname>LnameProfile2</_lname>
</data>
</destination>
<subscriptions>true</subscriptions>
<static_segments>true</static_segments>
<history>false</history>
</xml>
Пример ответа
- JSON
- XML
{
"destination_id": {
"db_id": 2,
"profile_id": "60a7855930b8bc8535b2acfb"
},
"error": 0,
"error_text": "",
"source_ids": [
{
"db_id": 1,
"profile_id": "60a7839330b8bc86a5bc5f62"
},
{
"db_id": 1,
"profile_id": "60a7845230b8bc8535b2acf7"
}
]
}
<xml>
<destination_id>
<db_id>2</db_id>
<profile_id>60a7855930b8bc8535b2acfb</profile_id>
</destination_id>
<error>0</error>
<error_text></error_text>
<source_ids>
<db_id>1</db_id>
<profile_id>60a7839330b8bc86a5bc5f62</profile_id>
</source_ids>
<source_ids>
<db_id>1</db_id>
<profile_id>60a7845230b8bc8535b2acf7</profile_id>
</source_ids>
</xml>