Перейти к основному содержимому

Массовый импорт профилей

Описание

Массовое добавление или обновление профилей клиента.

примечание

Если передать параметры объекта subscriptions status и priority со значением 0, то значение учитывается.
Чтобы не изменять и не обновлять значения этих параметров – не передавайте их, либо установите значения в -1.

предупреждение

В одном запросе не рекомендуется:

  • передавать более 10 000 профилей;
  • передавать более 10 Мб данных. Можно передавать больший объем в несколько потоков.

URL-адрес

Метод: POST

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

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

предупреждение
  • При использовании JSON в теле запроса используйте заголовок Content-Type: application/json.
  • При использовании XML в теле запроса используйте заголовок Content-Type: application/xml.
ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
dataJSON array
[
{
"_fname": "John",
"_lname": "Doe",
"subscriptions": [
{
"channel": "email",
"email_data": {
"email": "john@example.com"
},
"resource_id": 1
}
]
}
]
ДаДанные о профилях
db_idint1ДаИдентификатор базы данных
skip_invalid_subscriptionsbooltrueНет

Пропустить невалидные подписки (по умолчанию – false)

skip_triggersbooltrueНет

Пропустить запуск триггеров (по умолчанию – false)

detect_geobooltrueНетЗаполняет геоданные по IP
Поиск профиля подписчика для обновления
matchingstring

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

"email_profile" – по email из профиля

"email_sub" – по email из подписок

"phone" – по телефону из профиля или подписок

"phone_sub" – по телефону из подписок

"profile_id" – по идентификатору профиля (только при обновлении!)

"push_sub" – по пуш подписке

"custom" – по кастомному полю

"custom_sub" – по подписке на кастомный канал

"email_phone" – по email или телефону из профиля

"email_phone_sub" – по email или телефону из подписок

Нет, если поиск по email из профиля или подписок

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

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

Обратите внимание, что при режиме "email" или "phone" поиск происходит одновременно в контактных данных и в подписках.

emailstring"john@example.com"

"matching":"email" - по профилю и подпискам

"matching":"email_profile" - только по профилю

Email-адрес. Должен быть передан в элементе массива data.
phonestring"+79000000000""matching":"phone"Номер телефона. Телефон должен присутствовать в элементе массива data.
field_namestring"CRM_ID""matching":"custom"

Название кастомного поля профиля для поиска. Данное поле должно присутствовать в элементе массива data.

resource_idint24НетИдентификатор ресурса для поиска по email и phone

Массив subscriptions

Массив subscriptions хранит данные о подписках профиля на ресурсы. Один объект — одна подписка.

ПараметрыТипПримерОписание
resource_idint1Идентификатор ресурса
statusstring"subscribed"

Статус подписки.
Рекомендуется передавать только в тех случаях, когда необходимо обновить статус подписки.

priorityint1Приоритет подписки
custom_fieldsobject
{
"_browser_name": "Chrome",
"_device_type": "web",
}

Стандартные и дополнительные поля подписки.

Получить информацию о доступных полях подписки в ресурсе можно с помощью метода /v1.1/resources/fields_get

catsarray
[
"category_1",
"category_2"
]
Категории ресурса, на которые подписать профиль.
Email канал
channelstring"email"Тип канала
emailstring"john@example.com"Email-адрес
SMS канал
channelstring"sms"Тип канала
phonestring"+79000000000"Номер телефона
Push канал
channelstring"push"Тип канала
providerstring"Firefox"Тип провайдера
subscription_idstring"abcdefghijklmnqrstuvwxyz"Идентификатор подписки
Telegram Bot канал
channelstring"telegram_bot"Тип канала
cc_dataobject
{
"id": 1
}
id чата в Telegram-бот
WhatsApp канал
channelstring"whatsapp"Тип канала
cc_dataobject
{
"phone": "+79000000000"
}
Телефон профиля в WhatsApp
Viber канал
channelstring"viber"Тип канала
cc_dataobject
{
"phone": "+79000000000"
}
Телефон профиля в Viber

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

{
"data": [
{
"_fname": "John",
"_lname": "Doe",
"custom_id": "abcdefghijklmnqrstuvwxyz",
"email": "jane@example.com",
"subscriptions": [
{
"channel": "email",
"email_data": {
"email": "john@example.com"
},
"resource_id": 1,
"custom_fields": {
"_browser_name": "Firefox",
"_device_type": "web",
"custom_field_1": "test value"
},
"cats": ["category_1", "category_2"]
}
]
}
],
"db_id": 1,
"matching": "custom",
"field_name": "custom_id",
"skip_triggers": true,
"detect_geo": true,
"token": "abcdefghijklmnqrstuvwxyz"
}

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

{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"error": 0,
"error_text": "Successful operation",
"profile_id": "abcdefghijklmnqrstuvwxyz"
}
]
}

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

ПараметрТипОписание
errorintКод ошибки, для всего запроса
error_textstringТекст ошибки, для всего запроса
dataarray of objectsРезультаты обновления по профилям
data.errorintКод ошибки, для профиля
data.error_textstringТекст ошибки, для для профиля
data.profile_idstringИдентификатор профиля