Объединение нескольких профилей
Описание
Объединение нескольких профилей в новый или уже существующий профиль.
предупреждение
-
Профили, созданные объединением, — это не импорт. Импорт триггер по ним не срабатывает.
-
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) |
Копирование полей профилей
Пример запроса
{
"matching": "custom",
"field_name": "field_1",
"delete": true,
"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,
"token": "abcdefghijklmnqrstuvwxyz"
}
Пример ответа
{
"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"
}
]
}
Возвращаемые параметры
Параметр | Тип | Описание |
---|---|---|
destination_id | JSON объект | Содержит данные о профиле, получившемся в результате объединения:db_id — идентификатор базы данныхprofile_id — идентификатор профиля |
source_ids | JSON объект | Содержит данные об объединенных профилях в виде списка:db_id — идентификатор базы данныхprofile_id — идентификатор профиля |
error | int | Код ошибки |
error_text | string | Текст ошибки |