Описание

Объединение нескольких профилей в новый или уже существующий профиль.

  • Профили, созданные объединением - это не импорт. Импорт триггер по ним не срабатывает.
  • Email: localhost - как отсуствующее поле, создается при необходимости и не копируется в другой профиль.
  • Не localhost email копируется как любое другое поле, но чтобы не было коллизий - пропадает из source-профиля, меняется на пустое (то есть localhost).

URL-адрес

Метод: POST

https://example.com/api/v1.1/profiles/merge

Параметры запроса

ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
dataJSON object
"data": {
    "_fname": "John",
    "_lname": "Doe"
}
НетДанные о профиле, которые изменятся после объединения
skip_triggersbooltrueНетПропустить запуск триггеров
по умолчанию – false
sourcearray
"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"
	}
Да

Содержит данные матчинга профиля, который получится в результате объединения

matchingstring

"email"

"email_profile"

"email_sub"

"phone"

"phone_sub"

"profile_id"

"push_sub"

"custom"

"custom_sub"

"email_phone"

"email_phone_sub"

Нет, если поиск

по email из профиля или подписок

Режим поиска подписчика.
По умолчанию - email. 

Для каждого типа матчинга в теле запроса необходимо передавать определенные поля. Подробнее об этих полях можно узнать здесь.

field_name

stringcustom_ID

Да, если

"matching": "custom"

Имя кастомного поля БД Altcraft при matching : custom. В форме
сбора данных для поиска нужно поле с таким же именем.
field_valueint/stringcustom_string

Да, если

"matching": "custom"

Значение кастомного поля при matching : custom.
subscriptions


booltrueНет

Копировать и объединить подписки

по умолчанию – true

historybooltrueНет

Копировать историю и флаги активности

по умолчанию – true

static_segments


booltrueНет

Вносить ли изменения в статические сегменты (source-профили выйдут из сегментов, а destination-профиль - войдет)

по умолчанию – false

overwritebooltrueНет

Копировать ли поля source-профилей

по умолчанию – false

Если у destination-профиля есть пустые поля, они в любом случае будут заполнены полями профиля с наибольшим приоритетом.

deletebooltrueНет

Удалить ли 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_idJSON объект

Содержит данные о профиле, получившемся в результате объединения:

db_id - идентификатор базы данных

profile_id - идентификатор профиля

source_idsJSON объект

Содержит данные об объединенных профилях в виде списка:

db_id - идентификатор базы данных

profile_id - идентификатор профиля

errorintКод ошибки
error_textstringТекст ошибки
  • No labels