Импортировать профиль
Описание
Запрос добавляет профиль клие нта в базу. Также при помощи этого запроса можно обновить профиль, который уже есть в базе.
Чтобы одновременно с импортом отправлять триггерную рассылку, используйте этот запрос.
URL-адрес
Метод: POST
https://example.com/api/v1.1/profiles/import
Параметры запроса
- При использовании JSON в теле запроса используйте заголовок Content-Type: application/json.
- При использовании XML в теле запроса используйте заголовок Content-Type: application/xml.
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| db_id | int | 1 | Да | Идентификатор базы данных |
| matching | string | "email" – поиск по email из профиля или подписок | Нет, если поиск по email из профиля или подписок | Режим поиска подписчика. По умолчанию – email |
| skip_triggers | bool | true | Нет | Пропустить запуск триггеров (по умолчанию – false) |
| skip_invalid_subscriptions | bool | true | Нет | Пропустить невалидные подписки (по умолчанию – false) |
| detect_geo | bool | true | Нет | Включает автоопределение geo-данных по полю _regip или _ip в data |
| add_to_segments | JSON список | [1,2] | Нет | Добавление профиля в сегмент |
| remove_from_segments | JSON список | [1,2] | Нет | Удаление профиля из сегмента |
| data | JSON object | | Да | Данные о профиле, в т. ч. данные о подписках на ресурсы ( |
Массив subscriptions
Массив subscriptions хранит данные о подписках профиля на ресурсы. Один объект — одна подписка.
| Параметры | Тип | Пример | Описание |
|---|---|---|---|
| resource_id | int | 1 | Идентификатор ресурса |
| status | string | "subscribed" | Статус подписки (опциональное поле). Рекомендуется передавать только в тех случаях, когда необходимо обновить статус подписки. |
| priority | int | 1 | Приоритет подписки (опциональное поле). В случае если приоритет подписки передается в запросе, опция "Повышать приоритет для новых подписок" в ресурсе не работает. |
| custom_fields | object | | Стандартные и дополнительные поля подписки (опциональное поле). Получить информацию о доступных полях подписки в ресурсе можно с помощью метода /v1.1/resources/fields_get |
| cats | array | | Категории ресурса, на которые подписать профиль (опциональное поле). |
| Email-канал | |||
| channel | string | "email" | Тип канала |
| string | "john@example.com" | Email-адрес | |
| SMS-канал | |||
| channel | string | "sms" | Тип канала |
| phone | string | "+79000000000" | Номер телефона |
| Push-канал | |||
| channel | string | "push" | Тип канала |
| provider | string | "Firefox" | Тип провайдера |
| subscription_id | string | "abcdefghijklmnqrstuvwxyz" | Идентификатор подписки |
| Telegram Bot канал | |||
| channel | string | "telegram_bot" | Тип канала |
| cc_data | object | | ID чата в Telegram-бот |
| WhatsApp*-канал | |||
| channel | string | "whatsapp" | Тип канала |
| cc_data | object | | Телефон профиля в WhatsApp* |
| Viber-канал | |||
| channel | string | "viber" | Тип канала |
| cc_data | object | | Телефон профиля в Viber |
| Notify-канал | |||
| channel | string | "notify" | Тип канала |
| cc_data | object | | Телефон профиля в VK/OK/SMS |
Примеры запросов
Импорт профиля c добавлением подписки на email-канал
- JSON
- XML
{
"db_id": 1,
"matching": "email",
"email": "example@example.com",
"detect_geo": true,
"data": {
"_fname": "Olly",
"_lname": "Lambert",
"email": "example@example.com",
"phones": ["+79000000000"],
"subscriptions": [
{
"resource_id": 1,
"channel": "email",
"email": "example@example.com"
},
{
"resource_id": 1,
"channel": "sms",
"phone": "+79000000000"
}
]
}
}
<xml>
<db_id>1</db_id>
<email>example@example.com</email>
<matching>email</matching>
<detect_geo>true</detect_geo>
<data>
<_fname>Olly</_fname>
<_lname>Lambert</_lname>
<email>example@example.com</email>
<phones>+79511059000</phones>
<subscriptions array='true'>
<resource_id>1</resource_id>
<channel>email</channel>
<email>example@example.com</email>
</subscriptions>
</data>
</xml>
Импорт профиля с передачей его дополнительных данных
- JSON
- XML
{
"db_id": 1,
"matching": "email",
"email": "example@example.com",
"detect_geo": true,
"data": {
"_fname": "Olly",
"_lname": "Lambert",
"email": "example@example.com",
"phones": ["+79000000000"],
"_bdate": "1990-02-22T21:00:00Z",
"_sex": 0,
"_regdate": "2019-03-14T22:00:00Z",
"_regip": "94.231.119.122",
"_ip": "94.231.119.122",
"_tz": "Europe/Moscow",
"_postal_code": "390000",
"_os": "Windows 10",
"_browser": "Firefox",
"_vendor": "form_#31",
"custom_field": "custom_value",
"Custom_Tags": ["tag_1", "tag_2", "tag_3"],
"Custom_Int": 42,
"Custom_Float": 3.14,
"Custom_Bool": true,
"Custom_Enum": "option_a",
"Custom_Date": "2025-01-15",
"Custom_Datetime": "2025-01-15T10:30:00Z",
"Custom_Object": {"key": "value"},
"subscriptions": [
{
"resource_id": 1,
"channel": "email",
"email": "example@example.com"
},
{
"resource_id": 1,
"channel": "sms",
"phone": "+79000000000"
}
]
}
}
<xml>
<db_id>1</db_id>
<detect_geo>true</detect_geo>
<email>example@example.com</email>
<matching>email</matching>
<data>
<_fname>Olly</_fname>
<_lname>Lambert</_lname>
<email>example@example.com</email>
<phones>+79511059000</phones>
<_bdate>1990-07-06</_bdate>
<_sex>0</_sex>
<_regdate>2023-07-06</_regdate>
<_regip>192.168.0.179</_regip>
<_ip>192.168.0.179</_ip>
<_tz>Europe/Moscow</_tz>
<_postal_code>390000</_postal_code>
<_os>Windows 10</_os>
<_browser>Firefox</_browser>
<_vendor>form_#31</_vendor>
<custom_field>custom_value</custom_field>
<Custom_Tags>tag_1, tag_2, tag_3</Custom_Tags>
<Custom_Int>42</Custom_Int>
<Custom_Float>3.14</Custom_Float>
<Custom_Bool>true</Custom_Bool>
<Custom_Enum>option_a</Custom_Enum>
<Custom_Date>2025-01-15</Custom_Date>
<Custom_Datetime>2025-01-15T10:30:00Z</Custom_Datetime>
<subscriptions array='true'>
<resource_id>1</resource_id>
<channel>email</channel>
<email>example@example.com</email>
</subscriptions>
<subscription>
<resource_id>1</resource_id>
<channel>sms</channel>
<phone>+79000000000</phone>
</subscription>
</subscription>
</data>
</xml>