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

Типы полей в базе данных

Стандартные поля базы

В таблице ниже представлен список стандартных полей базы, их соответствия в API, типы данных, а также примеры значений, которые можно использовать.

Поле в базеИмя поля в APIТип поля в UIТип поля в APIПример значения
EmailemailСтрока/Emailstring"example@example.com"
ТелефоныphonesСписок телефоновarray["+79001234567"]
Имя_fnameСтрокаstring"John"
Фамилия_lnameСтрокаstring"Doe"
Дата рождения_bdateДатаstring"2001-12-31"
"2001-12-31T00:00+03:00"

Время можно передавать только через API.
Пол_sexСписокstring"male"
"female"
Дата рег._regdateДатаstring"2023-12-31"
"2023-12-31T23:59:59+03:00"
IP адрес рег._regipIPstring"127.0.0.1"
Город рег._regcityСтрокаstring"Москва"
Страна рег._regcountryСтрокаstring"Russian Federation"
"RU"
Ссылка рег._regurlСтрокаstring"https://example.com"
IP адрес_ipIPstring"127.0.0.1"
Город_cityСтрокаstring"Москва"
Страна_countryСтрокаstring"Russian Federation"
"RU"
Регион_regionСтрокаstring"Europe/Moscow"
Индекс_postal_codeСтрокаstring"190000"
Временная зона_tzСтрокаstring"Europe/Moscow"
Поставщик_vendorСтрокаstring"form #30"

Дополнительные поля базы

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

Тип поля в UIТип поля в APIПример значения
Целое числоint100
Число с точкойfloat100.5
Строкаstring"string value"
Датаstring"2024-05-27T12:00:00Z"
Booleanbooleantrue
false
Списокstring"Вариант 1"

Также можно передавать значение в виде числа, например, 1. Число соответствует порядковому номеру элемента в списке.
IPstring"127.0.0.1"
Тегиarray[ "Тег 1", "Тег 2", "Тег 3" ]
Объектobject{ "key_1": { "sub_key": "sub_value" } }
Массив объектовarray of objects[ { "key_1": "value_1" }, { "key_2": "value_2" } ]

Допустимые форматы и ограничения

Платформа ожидает определённые форматы значений для каждого типа поля. Убедитесь, что импортируемые данные соответствуют указанным требованиям, иначе система не сможет обработать их корректно.

  • Email — формат должен соответствовать стандартам RFC. Для валидации используется регулярное выражение:
^[-a-z0-9!#$%&'*+/=?^_{|}~]+(\.[-a-z0-9!#$%&'*+/=?^_{|}~]+)*@((?:localhost|([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*([a-z]{1,24})))$
  • Телефоны — номер должен соответствовать международному формату (без пробелов, дефисов и других разделителей, кроме плюса в начале). Подробнее со стандартом можно ознакомиться здесь.

  • Даты — записываются в формате RFC 3339 (ISO 8601) с указанием часового пояса.

  • Страна — принимается в виде двухбуквенного кода ISO 3166-1 alpha-2 или полного названия (в любом регистре).

  • Пол — допустимые значения описаны в этой статье.

  • Поставщик — длина строки не больше 26 символов.

  • IP — IPv4 формат.

  • Строка — не рекомендуется хранить более 100 КБ текста в одном поле.

  • Объекты и массивы объектов — можно записывать только одноранговые объекты или одноранговые объекты, вложенные в другие объекты. Если вы используете объекты с более сложной структурой, подключите SQL базу и создайте запросы для выборки профилей. В именах полей объектов допустимо использовать только латинские буквы (в любом регистре), цифры от 0 до 9, символ нижнего подчеркивания _ и дефис -. Можно хранить данные типа int, float, string, boolean.

  • Ограничение на объем данных одного профиля в базе составляет 16 МБ, включая все метаданные. Однако не рекомендуется хранить суммарно больше 2 МБ в дополнительных полях профиля.

Соответствие полей базы и элементов формы

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

Элемент формыПоле в базе
Короткий текстДоп. поле с типом “Строка”
EmailСтандартное поле “Email”
Номер телефонаСтандартное поле “Телефоны”
Длинный текстДоп. поле с типом “Строка”
ЧислоДоп. поле с типом “Целое число”
Да/НетДоп. поле с типом “Boolean”
Один вариантДоп. поле с типом “Строка”
Множественный выборДоп. поле с типом “Теги”
Выпадающий списокДоп. поле с типом “Теги”
ДатаСтандартное или доп. поле с типом “Дата”
ДиапазонДоп. поле с типом “Целое число”
примечание

Хоть вы и можете записать все данные пользователя в строковые поля, это ограничит возможности для дальнейшей сегментации. Например, если дата будет записана в строковое поле, вы не сможете использовать операторы сравнения "дата меньше" или "дата больше" в сегментах или шаблонах.