Описание
Объединение нескольких профилей в новый или уже существующий профиль.
- Профили, созданные объединением - это не импорт. Импорт триггер по ним не срабатывает.
- Email: localhost - как отсуствующее поле, создается при необходимости и не копируется в другой профиль.
- Не localhost email копируется как любое другое поле, но чтобы не было коллизий - пропадает из source-профиля, меняется на пустое (то есть localhost).
URL-адрес
Метод: POST
https://example.com/api/v1.1/profiles/merge
Параметры запроса
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
data | JSON object | "data": { "_fname": "John", "_lname": "Doe" } | Нет | Данные о профиле, которые изменятся после объединения |
skip_triggers | bool | true | Нет | Пропустить запуск триггеров по умолчанию – false |
source | array | "source": [ { "db_id": 1, "email": "test1@mail.ru" }, { "db_id": 2, "email": "test2@mail.ru" } ] | Да | Содержит данные матчинга о профилях, которые нужно объединить |
destination | JSON object | "destination": { "db_id": 3, "email": "test3@mail.ru" } | Да | Содержит данные матчинга профиля, который получится в результате объединения |
matching | string | "email" "email_profile" "email_sub" "phone" "phone_sub" "profile_id" "push_sub" "custom" "custom_sub" "email_phone" "email_phone_sub" | Нет, если поиск по 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 | Текст ошибки |