Создание дополнительных полей
Дополнительные поля в карточках контактов создаются для хранения любой специфической информации о контактах — их персональные промокоды, памятные даты, локация и т.д. Создание полей позволяет выполнять расширенную сегментацию контактов и глубже персонализировать коммуникацию.
Вкладка “Дополнительные поля”
Списки дополнительных полей находятся в настройках аккаунта → вкладка “Дополнительные поля” (по умолчанию имеется только список Personal с полями “День рождения” и “Пол”).
В списке дополнительных полей отображаются:
- Тип поля (текстовое поле, дата и т.д.).
- Название поля.
- Переменная для автоматической подставки содержимого поля в сообщение.
- ID поля.
- Кнопка редактирования поля.
- Кнопка удаления поля.
Вы можете создавать списки и добавлять в них поля.
Создание списка
Создание списков позволяет группировать поля по определенному общему значению: личные данные, товарные предпочтения и т.п. Алгоритм создания списка полей следующий:
1. Нажмите кнопку “Новый список полей”.
2. Введите название списка.
3. Ключ персонализации генерируется автоматически на основе названия, но вы можете изменить его. Этот ключ используется при формировании переменной для поля из данного списка (поэтому лучше выбирать более лаконичный вариант).
4. Нажмите “Сохранить”.
Примечание
- Список будет неактивным, пока в него не добавится первое поле
- Прежде чем удалить список с полями, удалите поля, которые он содержит
Добавление полей
1. Нажмите плюс, чтобы создать поле в списке.
2. Укажите название поля и при необходимости отредактируйте автоматически сформированный ключ персонализации.
3. Выберите тип поля (по умолчанию оно сохраняется как текстовое поле).
Типы полей
В зависимости от типа контактных данных в системе доступны следующие типы полей:
- Текстовое поле может содержать до тысячи символов, как букв, так и целых чисел. Специальные символы не поддерживаются. Может использоваться, например, для записи имени и адреса контакта.
- Текстовая область может содержать до пяти тысяч символов, как букв, так и целых чисел. Специальные символы не поддерживаются. Может использоваться, например, для записи ответов на развернутые вопросы.
- Число может содержать только целочисленные значения от -2147483647 до 2147483647 (ID заказа, количество бонусов и т.п.).
- Дробное число может содержать целые числа и дроби (сумма заказов и т.п.).
- Дата – значения должны передаваться в формате ISO 8601. Формат даты: ГГГГ-ММ-ДД. Параметр "Регулярная дата" используется для создания условных групп для регулярной коммуникации в связи с повторяющимися событиями, такими как годовщина, день рождения и т.п.
- Дата со временем — формат данных: ГГГГ-ММ-ДДЧЧ:ММ (срок действия промокода и т.п.).
- Выпадающий список содержит заранее определенные значения: пол, статус или язык контакта.
Важно
Не используйте символ точки в названии поля. Например, Marital status (Семейное положение) можно написать через пробел или нижнее подчеркивание
- Чекбокс предоставляет контакту возможность выбрать более одного варианта ответа.
Чтобы записать или обновить поле чекбокса с помощью API-метода Add/update contacts, передайте ID поля (указанное в списке полей числовое значение) в массиве fields и укажите значение через запятую:
"fields": [{ "id": 87166, "value": "Chinese " }]
JSON
Также укажите идентификатор объекта customFieldsIDs — список ID дополнительных полей, которые необходимо обновить. Обновляются только дополнительные поля контактов, идентификаторы которых указаны в этом списке.
Примечание
После создания дополнительного поля системе понадобится до часа синхронизации, после чего поле станет доступным для использования через АРІ.
Обновление дополнительных полей данными из пользовательских событий через SDK
Используйте переменные полей контактов без символов % в качестве ключей для обновления соответствующих полей контактов через SDK.
Пример для Android:
{ "userAttributes":{ "email":user.mail, }, "fields":[ { "key":"TRAININGAPP.GOAL", "value":"lose weight" } ] } } Reteno.setUserAttributes(externalUserId: String, user: User?)
Kotlin
Пример для iOS:
let UserAttributes = .init( email: user.email fields: [.init(key: "TRAININGAPP.GOAL", value: "lose weight")] } Reteno.updateUserAttributes(externalUserId: "USER_ID", attributes: UserAttributes)
Swift