Описание

Разделение профиля на несколько новых или уже существующих профилей

Профили, созданные разделением - это не импорт. Импорт триггер по ним не срабатывает.

URL-адрес

Метод: POST

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

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

ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
dataJSON object
"data": {
    "_fname": "John",
    "_lname": "Doe"
}
НетДанные о профиле, которые изменятся после разделения
db_idint1ДаИдентификатор базы данных
skip_triggersbooltrueНетПропустить запуск триггеров
по умолчанию – false
sourceJSON object
"source":	{
		"db_id": 1,
		"email": "test1@mail.ru"
	}
ДаСодержит данные матчинга о профилях, которые нужно разделить
destination

array

"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

subscription_filtersJSON объект
"subscription_filters": [
	{
		"resource_id": 1,
		"channel": "push",
		"provider": "Safari"
	}
]
Нет

Фильтр - для копирования конкретных подписок.

Если не указывать - копируются все.

overwritebooltrueнет

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

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

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

deletebooltrueнет

Удалить ли source-профиль после разделения

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

Копирование полей профиля

Пример запроса

{ 
	"matching": "custom", 
	"field_name": "field_1",
	"delete": true,
	"source": { 
		"db_id": 1, 
		"field_value": 1, 
		"data": { 
			"_fname": "Profile1",
			"_lname": "LnameProfile1" 
		}
	},
 	"destination": [
		{ 
			"db_id": 2, 
			"matching": "email", 
			"email": "test2@mail.ru", 
			"data": { 
				"_fname": "Profile2", 
				"_lname": "LnameProfile2"
			},
		},
		{
			"db_id": 2,
			"field_value": 3,
			"data": {
				"_fname": "Profile3",
				"_lname": "Lname3"
			},
			"subscription_filters": [
				{
					"resource_id": 1,
					"channel": "push",
					"provider": "Safari"
				},
				{
					"resource_id": 2,
					"channel": "email",
				}
			]
		}
	],
	"subscriptions": true, 
	"static_segments": true, 
	"history": false, 
	"token": "abcdefghijklmnqrstuvwxyz" 
}

Пример ответа

{
	"destination_ids": [
		{
			"db_id": 2,
			"profile_id": "60a7b150fa3adb6f1179fe7f"
		},
		{
			"db_id": 2,
			"profile_id": "60a7b150fa3adb6f1179fe80"
		}
	],
	"error": 0,
	"error_text": "",
	"source_id": {
		"db_id": 1,
		"profile_id": "60a7a45bfa3adb7132dcceaa"
	}
}

Возвращаемые параметры

ПараметрТипОписание
destination_idsJSON объект

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

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

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

source_idJSON объект

Содержит данные о разделенном профиле в виде списка:

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

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

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