Створення додаткових полів

Додаткові поля в картках контактів призначені для зберігання специфічних даних про контакти: персональних промокодів, важливих дат, локації тощо. Ці дані можна використовувати для розширеної сегментації та глибшої персоналізації комунікації.

Вкладка «Додаткові поля»

Списки додаткових полів доступні в налаштуваннях акаунту на вкладці Додаткові поля. За замовчуванням доступний лише список Personal із полями День народження та Стать.

У списку додаткових полів відображаються:

  1. Тип поля (текстове поле, дата тощо).
  2. Назва поля.
  3. Змінна для автоматичного підставляння значення поля в повідомлення.
  4. ID поля.
  5. Кнопка редагування поля.
  6. Кнопка видалення поля.
Список додаткових полів з типом, назвою, змінною, ID та кнопками редагування і видалення
📘

Зверніть увагу

Змінні полів мають формат ${list.name} — той самий, що використовується в редакторах повідомлень. Якщо ключ персоналізації списку або поля містить кирилицю чи складається лише з цифр, змінна відображається у резервному форматі ${data.get('КЛЮЧ')} — наприклад, ${data.get('ОСОБИСТІ_ДАНІ.БОНУС')}.

Ви можете створювати списки та додавати до них поля.

Створення списку

Списки допомагають групувати поля за призначенням, наприклад особисті дані або товарні вподобання. Щоб створити список полів:

  1. Натисніть Новий список полів.
Кнопка Новий список полів
  1. Введіть назву списку.
  1. За потреби змініть ключ персоналізації, автоматично згенерований на основі назви. Ключ використовується для формування змінних полів цього списку, тому краще вибрати короткий і зрозумілий варіант.
  1. Натисніть Зберегти.
📘

Примітка

  • Список буде неактивним, доки до нього не буде додано перше поле.
  • Перш ніж видалити список із полями, видаліть усі поля, які він містить.

Додавання полів

  1. Натисніть плюс, щоб створити поле у списку.
  1. Вкажіть назву поля та за потреби відредагуйте автоматично згенерований ключ персоналізації.
  1. Виберіть тип поля. За замовчуванням вибрано Текстове поле.
📘

Що не можна змінити пізніше

Тип поля не можна змінити після створення — наприклад, не можна перевести наявне поле з типу Дата з часом на Дата. Набір варіантів для поля типу Чекбокс так само фіксується під час створення: додати чи видалити варіанти пізніше неможливо. В обох випадках створіть нове поле.

Перейменування поля безпечне: система звертається до полів за внутрішнім ID, а не за назвою, тож раніше зібрані дані не втрачаються.

Типи полів

Залежно від типу контактних даних у системі доступні такі типи полів:

  • Текстове поле може містити до тисячі символів, зокрема літери й цілі числа. Спеціальні символи не підтримуються. Цей тип можна використовувати, наприклад, для зберігання імені або адреси контакту.
  • Текстова область може містити до п’яти тисяч символів, зокрема літери й цілі числа. Спеціальні символи не підтримуються. Цей тип можна використовувати, наприклад, для зберігання відповідей на розгорнуті запитання.
  • Число може містити лише цілочисельні значення від -2147483647 до 2147483647, наприклад ID замовлення або кількість бонусів.
  • Дробове число може містити цілі та дробові значення, наприклад суму замовлень.
  • Дата — значення потрібно передавати у форматі ISO 8601: YYYY-MM-DD. Параметр Регулярна дата використовується для створення умовних груп для комунікації, пов’язаної з повторюваними подіями, наприклад річницею або днем народження.
  • Дата з часом — прийнятні формати: YYYY-MM-DDTHH:mm:ssZ для UTC або YYYY-MM-DDTHH:mm:ss±HH:mm зі зміщенням від UTC. Використовуйте цей тип для значень дати й часу, наприклад періоду дії промокоду.
  • Випадаючий список містить заздалегідь визначені значення, наприклад стать, статус або мову контакту.
📘

Важливо

Не використовуйте крапку в назві поля. Наприклад, замість Marital.status використовуйте Marital status або Marital_status.

  • Чекбокс дозволяє зберігати кілька вибраних значень.
📘

Зверніть увагу

Через API не можна створити додаткове поле. API дозволяє лише отримати перелік наявних полів (методом Get additional fields) і оновити значення одного з них для контакту — для цього передайте числовий ID поля та нове значення в масиві fields методу Add/update contacts, як показано нижче. Жоден із цих запитів не створює нове поле. Створити поле можна двома способами: через цей інтерфейс, або імпортувавши файл з окремою колонкою для нього — незіставлені колонки автоматично створюються як нові поля під час зіставлення полів. Імпорт файлу підтримує лише типи Текстове поле, Текстова область, Число, Дробове число, Дата та Дата з часом — поля типу Випадаючий список і Чекбокс усе одно потрібно створювати вручну, оскільки їхні заздалегідь визначені варіанти не задаються під час імпорту.

Щоб відтворити однаковий набір полів у кількох акаунтах, скористайтеся методом Get additional fields, щоб отримати назви, типи та допустимі значення полів з одного акаунту, а потім відтворіть їх у кожному іншому акаунті — вручну або, для підтримуваних типів, імпортувавши невеликий файл (наприклад, один тестовий контакт із колонкою для кожного поля). Визначення полів залишаються навіть після видалення контакту, який їх створив. Не завантажуйте реальні дані клієнтів в інший акаунт лише для відтворення полів — використовуйте тестові дані.

Як побачити фактичні значення поля перед побудовою умови

Перелік значень, які реально записані в кастомне поле, видно в картці контакту та на вкладці додаткових полів контакту — відкрийте кілька контактів і подивіться, у якому вигляді значення зберігаються.

Коли будуєте умову сегмента за кількома значеннями одного поля, використовуйте оператор один з і додавайте кожне значення окремим пунктом. Перелічення кількох значень через кому в одному полі не працює — таке значення сприймається як один суцільний рядок.

Робота з додатковими полями через API

Отримання списку полів

Щоб отримати списки додаткових полів, їхні ID, ключі, типи та допустимі значення, використовуйте метод Get additional fields:

GET /api/v1/additionalfields

ID із параметра additionalFields[].id у відповіді можна передавати в fields[].id під час додавання або оновлення контактів.

Після створення додаткового поля системі може знадобитися до години на синхронізацію. До її завершення поле може бути недоступним через API.

📘

Зверніть увагу

Переміщення наявного поля до іншого списку також запускає повторну синхронізацію — API може повертати попередні значення поля ще до 24 годин після переміщення, навіть якщо в інтерфейсі зміна вже відображена. Примусово прискорити оновлення неможливо.

Оновлення поля типу «Чекбокс»

Щоб записати або оновити значення поля типу Чекбокс за допомогою API-методу Add/update contacts, передайте числовий ID поля в масиві fields. Кілька значень у параметрі value розділяйте комами:

{
  "contacts": [
    {
      "channels": [
        {
          "type": "email",
          "value": "[email protected]"
        }
      ],
      "fields": [
        {
          "id": 87166,
          "value": "Chinese,Italian"
        }
      ]
    }
  ],
  "dedupeOn": "email",
  "customFieldsIDs": [
    87166
  ]
}

У масиві customFieldsIDs вкажіть ID додаткових полів, які потрібно оновити. Під час оновлення наявного контакту цей параметр є обов’язковим. Система оновить лише поля, перелічені в масиві.

Оновлення додаткових полів через SDK

Щоб оновити додаткові поля через SDK, передавайте ключ персоналізації поля — пару СПИСОК.ПОЛЕ, наприклад TRAININGAPP.GOAL.

📘

Зверніть увагу

SDK не перевіряє додаткові поля на боці застосунку — дані передаються на сервер як є. Якщо переданого поля в акаунті немає, запит завершується помилкою й оновлення не застосовується, включно з полями, які існують. Створіть поле в акаунті, перш ніж передавати його із застосунку.

Застосунок цієї помилки не отримує, тож виклик може виглядати успішним, хоча нічого не записалося. Щоб побачити логи запитів і відповідей SDK, увімкніть режим налагодження.

TRAININGAPP.GOAL

Приклад для Android:

val userAttributes = UserAttributes(
    email = user.email,
    fields = listOf(
        UserCustomField(
            key = "TRAININGAPP.GOAL",
            value = "lose weight"
        )
    )
)

val user = User(userAttributes = userAttributes)

application.getRetenoInstance().setUserAttributes(
    "USER_ID",
    user
)

Приклад для iOS:

let userAttributes = UserAttributes(
    email: user.email,
    fields: [
        UserCustomField(
            key: "TRAININGAPP.GOAL",
            value: "lose weight"
        )
    ]
)

Reteno.updateUserAttributes(
    externalUserId: "USER_ID",
    userAttributes: userAttributes
)

Докладніше про мобільний SDK →

Додаткові поля в інтеграціях віджетів

Усі інтеграції, доступні в конструкторі віджетів, підтримують передавання даних віджета в додаткові поля на стороні інтеграції. Для більшості інтеграцій конструктор віджетів може отримати список наявних додаткових полів безпосередньо з інтеграції, щоб ви могли вибрати потрібне поле. Для деяких інтеграцій цей список отримати не можна — потрібно знати ключ цільового поля. Частина з цих інтеграцій усе одно дозволяє створити нове поле безпосередньо в момент підписки, навіть якщо отримати наявний список неможливо.

ІнтеграціяОтримання списку наявних полівСтворення нового поля під час підписки
KlaviyoНе підтримуєтьсяНе підтримується
OmnisendНе підтримуєтьсяПідтримується
PipedriveНе підтримуєтьсяНе підтримується
SalesDriveНе підтримуєтьсяПідтримується
ShopifyНе підтримуєтьсяНе підтримується
UserlistНе підтримуєтьсяПідтримується

Did this page help you?