Частые ошибки при импорте профилей
При импорте профилей из файла платформа проверяет данные перед записью в базу. Если значение не соответствует типу поля, профиль может быть отклонён, а в отчёте об импорте появится ошибка.
Чаще всего ошибки возникают, когда данные в файле не совпадают с типом поля в базе: например, в поле для даты передано значение в другом формате, в числовое поле попал текст, а в поле списка — значение, которого нет среди вариантов.
Ошибка incorrect ip
Ошибка появляется, если в поле типа IP передано значение, которое не является корректным IPv4-адресом.
Примеры некорректных значений:
999.999.999.999
127.0.0.1.1
abc.def.ghi.jkl
Также ошибка может появиться, если в IP-поле передано пустое значение, но поле ожидает корректный адрес.
Как исправить:
Используйте IPv4-адрес: четыре числа от 0 до 255, разделённые точками.
Корректные примеры:
127.0.0.1
95.165.10.20
Если IP-адрес неизвестен, оставьте колонку без сопоставления с IP-полем или настройте обработку пустых значений при импорте.
Ошибка Incorrect phone
Ошибка появляется, если номер телефона не прошёл проверку формата.
Примеры некорректных значений:
12345
phone
+000000000000
+799912345678901234567890
Как исправить:
Передавайте номера телефонов в международном формате или настройте преобразование номера при импорте.
Корректный пример международного формата:
+79991234567
Если в файле номера записаны без кода страны или в локальном формате, используйте настройки поля при импорте:
Добавить телефонный код ко всем значениям — добавляет код страны к импортируемым номерам.
Преобразовать локальный телефонный код — заменяет локальный код на международный.

Например, российский номер в локальном формате можно привести к формату с +7 с помощью настройки преобразования локального кода.
Если номер содержит текст, слишком мало или слишком много цифр, исправьте значение в файле перед импортом.
Ошибка incorrect date
Ошибка появляется, если дата не соответствует формату, выбранному при настройке импорта, или если дата невозможна.
Примеры некорректных значений:
2024/99/99
0001-01-01 00:00:00 +0000 UTC
31.13.2024
Как исправить:
Проверьте формат даты в настройках поля при импорте и приведите значения в файле к этому формату.
Примеры:
| Формат | Корректное значение |
|---|---|
%d-%m-%Y | 31-12-2024 |
%Y-%m-%d | 2024-12-31 |
| RFC 3339 | 2024-12-31T00:00:00.000Z |
Не передавайте служебные нулевые даты, если они не должны записываться в профиль. Такие значения лучше заменить на пустые и включить обработку пустых значений.
Ошибка incorrect integer value
Ошибка появляется, если в поле типа Число передано значение, которое нельзя записать как цел ое число.
Примеры некорректных значений:
one
NaN
Infinity
1,25
999999999999999999999999999999999999999999
Как исправить:
Используйте только целые числовые значения без букв, пробелов, дробной части и дополнительных символов.
Корректные примеры:
0
1
25
-5
Если значение в источнике может быть пустым или неизвестным, настройте обработку пустых значений или не сопоставляйте такую колонку с числовым полем.
Ошибка incorrect float value
Ошибка появляется, если в поле типа Число с точкой передано значение, которое нельзя распознать как число с плавающей точкой.
Примеры некорректных значений:
money
∞
12..34
--0.5
1,234.56
Как исправить:
Используйте числовые значения без валют, текстовых обозначений и лишних символов. Для дробной части используйте точку.
Корректные примеры:
1234.56
0.5
-10.25
Если в источнике используется другой десятичный разделитель, приведите значения к формату с точкой до импорта.
Ошибка incorrect enum field: not found value
Ошибка появляется, если в поле типа Список передано значение, которого нет среди вариантов списка.
Примеры некорректных значений:
unknown
male/female
?
тариф_несуществующий
999
-1
Такая ошибка может появиться как в системных полях со списком значений, так и в дополнительных полях типа Список.
Как исправить:
Проверьте варианты списка в настройках поля и передавайте одно из существующих значений. Значение должно совпадать с вариантом списка, включая регистр, пробелы и символы.
Например, если в поле заведены варианты:
basic
standard
premium
то в CSV нужно передать одно из этих значений:
standard
Также для списка можно передавать индекс варианта. Индексация начинается с 1: первый вариант — 1, второй — 2, третий — 3.
Если значение списка не нужно обновлять, оставьте ячейку пустой и включите для этой колонки настройки Игнорировать пустые значения и Воспринимать нулевые значения как пустые. В этом случае пустое значение не перезапишет текущее значение поля у существующего профиля.
Для нового профиля при пустом значении будет использовано значение по умолчанию, если оно задано в настройках поля. Например, для поля типа Список таким значением может быть «Не выбрано».
Если варианты списка состоят только из цифр, платформа может воспринять их как индексы, а не как текстовые значения. Чтобы избежать путаницы, лучше использовать текстовые значения, например plan_100 или tariff_200.
Ошибки JSON в поле типа "Объект"
Для дополнительных полей типа Объект значение должно быть корректным JSON.
В отчёте об импорте такие ошибки могут выглядеть по-разному:
invalid character 'b' looking for beginning of object key string
invalid character 'T' looking for beginning of value
invalid character 'u' looking for beginning of value
unexpected end of JSON input
invalid character 'q' after object key:value pair
Примеры некорректных значений:
| Значение | Почему некорректно |
|---|---|
{bad json} | Ключ объекта должен быть строкой в двойных кавычках. |
{"vip": True} | В JSON логические значения пишутся в нижнем регистре: true или false. |
{"field": undefined} | В JSON нет значения undefined. Если значение неизвестно, используйте null. |
{"city": "Moscow",} | После последнего свойства объекта не должно быть запятой. |
{"nested": {"x": 1} | Не закрыта внешняя фигурная скобка. |
{"quote":"bad " quote"} | Кавычки внутри строки должны быть экранированы. |
Как исправить:
Передавайте корректный JSON:
- ключи и строковые значения должны быть в двойных кавычках;
- логические значения нужно передавать как
trueилиfalse; - пустое значение нужно передавать как
null; - в конце объекта не должно быть лишней запятой;
- все фигурные и квадратные скобки должны быть закрыты.
Корректный пример:
{"vip": true, "city": "Moscow"}
Ошибка wrong data type for custom field ...
Ошибка появляется, если в дополнительное поле передан неподходящий тип данных. Например, в поле типа Массив объектов передана строка, одиночный объект, число или некорректный JSON.
Примеры некорректных значений:
{bad json}
[1,2,]
"unterminated
{"field": undefined}
Как исправить:
Для поля типа Массив объектов передавайте массив объектов с одинаковой структурой.
Корректный пример:
[
{"id": 1, "sum": 100},
{"id": 2, "sum": 250}
]
В CSV такое значение нужно записать как строку с экранированием двойных кавычек:
"[{""id"": 1, ""sum"": 100}, {""id"": 2, ""sum"": 250}]"
Если первый объект содержит поля id и sum, остальные объекты в этом массиве тоже должны содержать такие же поля.
Ошибки из-за пустых значений
Пустое значение не всегда считается допустимым. Ошибка может появиться, если пустая ячейка попала в поле, где ожидается IP, дата, число, список или другое строго типизированное значение.
Примеры ошибок в отчёте:
incorrect ip
incorrect date
incorrect float value
incorrect integer value
incorrect enum field: not found value
Как исправить:
Если пустое значение не должно обновлять профиль, включите для колонки настройку Игнорировать пустые значения.
Если в источнике неизвестные значения записаны как null, nil, none или undefined, включите обработку нулевых значений как пустых и игнорирование пустых значений.
Как быстро проверить файл перед импортом
Перед загрузкой файла проверьте:
- Первая строка содержит названия колонок, если эта настройка включена при импорте.
- Кодировка файла соответствует выбранной кодировке импорта.
- Разделитель и текстовый квалификатор определены верно.
- Даты записаны в выбранном формате.
- Телефоны записаны в международном формате.
- IP-адреса записаны в формате IPv4.
- Числовые поля не содержат текст, валюты и спецсимволы.
- Значения списков есть в настройках соответствующего поля.
- JSON в полях Объект и Массив объектов валиден и корректно экранирован для CSV.
- Колонки сопоставлены с полями подходящего типа.
Что делать, если ошибка осталась
Если после исправления файла ошибка повторяется:
- Проверьте, в какое поле сопоставлена колонка.
- Убедитесь, что тип поля в базе подходит для данных из файла.
- Проверьте настройки формата даты, разделителя тегов и обработки пустых значений.
- Проверьте варианты для полей типа Список.
- Проверьте JSON в валидаторе и затем экранируйте его для CSV.
- Скачайте отчёт об ошибках импорта и проверьте колонку
error_field: в ней указано поле, из-за которого профиль не был импортирован. В колонкеerror_valueотображается значение, которое не удалось обработать.