Обновить профиль
Описание
Запрос обновляет данные профиля, которые уже есть в базе (повторяет структуру и параметры запроса /profiles/import).
URL-адрес
Метод: POST
https://example.com/api/v1.1/profiles/update
Параметры запроса
предупреждение
- При использовании JSON в теле запроса используйте заголовок Content-Type: application/json.
- При использовании XML в теле запроса используйте заголовок Content-Type: application/xml.
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
db_id | int | 1 | Да | Идентификатор базы данных |
matching | string | "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" поиск происходит одновременно в контактных данных и в подписках. |
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
Массив 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 |
Примеры запросов
Обновление основных данных профиля и добавление подписки на email-канал
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"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"
}
]
}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<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>