Skip to content
На этой странице

Загрузка клиентов из файла CSV

Примечание

Если у вас уже подготовлен файл загрузки данных в формате CSV, то переходите к разделу ниже «Загрузка (импорт) клиентов».

Если у вас имеется список клиентов, например, в какой-либо учетной системе или в файле Excel, то можно загрузить этих клиентов в веб-сервис «Точки СВ». Для этих целей нужно предварительно подготовить файл загрузки данных в формате CSV.

Формат файла CSV

Имеется возможность загружать клиентов (импортировать) в веб-сервис «Точки СВ» из файла в формате CSV. CSV — это текстовый файл, описывающий табличные данные в виде строк с символами-разделителями. Описание формата CSV можно посмотреть в этой статье. Важно, чтобы файл CSV был в кодировке UTF-8 или UTF-16. Формат CSV поддерживается следующими программным обеспечением (ПО):

  • Microsoft Excel;
  • Google Таблицы — рекомендуется использовать именно это ПО.

Рекомендуется использовать именно Google Таблицы, т.к. это ПО при экспорте в формат CSV выгружает файл сразу в кодировке UTF-8.

Предупреждение

Не рекомендуется использовать ПО Microsoft Excel для выгрузки файлов в формат CSV, т.к. оно выгружает файл в устаревшей кодировке Win-1251. Т.е. такой файл потребуется дополнительно конвертировать в кодировку UTF-8 или UTF-16.

Структура CSV-файла загрузки клиентов

CSV-файл загрузки клиентов состоит из значений в следующей последовательности. Обратите внимание на примеры значений — они выполнены по правилам описания значений в формате CSV:

  • Разделителем значений колонок является символ запятой (,).
  • Значения, содержащие зарезервированные символы (двойная кавычка и запятая, новая строка) обрамляются двойными кавычками ("). Если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.
NНазвание колонкиОписаниеПример значения
1.IDИдентификатор клиента в формате UUID (может быть пустым).123e4567-e89b-12d3-a456-426655443322
2.NAMEНазвание клиента.Магазин ""Продукты 24""
3.COMMENTSОписание клиента (может быть пустым).Розничные продажи
4.ADDRESSАдрес клиента."Москва, ул. Онежская 19"
5.PHONEКонтактные телефоны."+7 999 000-00-00, +7 999 000-00-01"
6.LATITUDEШирота в формате WGS84
(может быть пустым).
55.852283
7.LONGITUDEДолгота в формате WGS84
(может быть пустым) .
37.518407
8.RADIUSРадиус зоны посещения в метрах.50
9.SUBDIVISIONНазвание подразделения (значение может быть пустым), за которым закрепляются списки, указанные в колонке «VENDORS_SETS». При этом обязательно, чтобы значение колонки «VENDORS_SETS» было заполнено.Северный округ (САО)
10.VENDORS_SETSНазвания списков клиентов (в формате JSON-массива), к которым привязывается указанный в строке CSV-файла клиент. Если значение колонки пустое, то клиент привязан только к предопределённому списку «Все клиенты». Подробные примеры значений см. после таблицы."[""Север""]"
11.LIST (устаревшее)Данный параметр считается устаревшим, использовать не рекомендуется! Название списка клиентов (может быть пустым). См. после таблицы примечание.Список клиентов агента Иванова

Примеры значений для колонки VENDORS_SETS:

  • "[""Север"", ""Юг"", ""Запад"", ""Восток""]" — клиент привязан к четырём спискам клиентов и к предопределённому списку "Все клиенты";
  • "[""Подольск""]" — клиент привязан к одному списку "Подольск" и к предопределённому списку "Все клиенты".

Примечание

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

Предупреждение

Порядок колонок в файле менять нельзя — порядок должен быть указан таким же, как описано в таблице выше.

Если в файле не указано значение в колонке ID, то сервер при загрузке файла сопоставляет клиентов из файла с уже имеющимися на сервере по наименованию (колонка NAME). Если наименования совпадают, то данные такого клиента на сервере обновляются. Если наименования различаются, то клиент загружается на сервер как новый. Но это правило действует, только если не указано значение в колонке ID.

При загрузке клиентов с указанными значениями подразделений (параметр в таблице SUBDIVISION) сервер сначала ищет указанное подразделение по названию у себя в базе данных. Если такое подразделение не находится, то оно автоматически создаётся, и списки клиентов (название которых указано в колонке «VENDORS_SETS») привязываются к этому подразделению. Аналогичное поведение при указанном значении списков (параметр в таблице VENDORS_SETS).

Данные на сервер из файла всегда загружаются в режиме обновления для однозначных значений клиентов (это все колонки кроме SUBDIVISION и VENDORS_SETS) и в режиме дополнения для списочных значений (колонки SUBDIVISION и VENDORS_SETS). Т.е. если сначала загрузить на сервер список клиентов со значением SUBDIVISION, например Подразделение N 1, а после загрузить этот же список клиентов со значением SUBDIVISION Подразделение N 2, то список клиентов будет в итоге привязан к двум подразделениям Подразделение N 1 и Подразделение N 2.

Пример файла загрузки клиентов

Ниже приводится пример файла загрузки клиентов. После загрузки этого файла на сервер в веб-сервисе появляется 5 клиентов, распределенных по спискам «Список Розница» и «Список Косметика». При этом «Список Розница» будет привязан к подразделениям «Подразделение Москва» и «Подразделение Подольск», а список «Список Косметика» будет привязан только к подразделению «Подразделение Москва».

Данный файл можно скачать по этой ссылке: https://takwot.com/files/test/clients.csv.

ID,NAME,COMMENTS,ADDRESS,PHONE,LATITUDE,LONGITUDE,RADIUS,SUBDIVISION,LIST
9ABCDFBA-9E94-11E7-80E8-0014D1110CD1,"Магазин ""Мастер ремонта"" ИП Востриков",Стройматериалы в розницу,"г. Москва, ул. Онежская 19",+7 988 000-00-01,55.852283,37.518407,50,Подразделение Москва,Список Розница
F51BECE0-67BD-11E8-80E4-0014D1110CD2,"Магазин ""Большой ремонт""",Стройматериалы в розницу,"г. Москва, Ковров переулок 8",+7 988 000-00-02,,,50,Подразделение Москва,Список Розница
AB403468-FFD8-11E6-80E2-0014D1110CD3,"ТК ""Сибирь"", ООО ""Стройкомплект"", Вольский",Стройматериалы оптом,"г. Подольск, Рабочая ул. 26",+7 988 000-00-03,55.434114,37.558823,50,Подразделение Подольск,Список Розница
E4EEF013-D610-11E5-80D4-0014D1110CD4,"Магазин ""Мастер ОК"", ИП Кошкина",Стройматериалы в розницу,"г. Подольск, ул. Дружбы 17",,55.429777,37.557691,50,Подразделение Подольск,Список Розница
70EF791E-F4DB-11E6-80E2-0014D1110CD5,"Магазин ""Альянс Косметик"", Давыдов",,"г. Москва, ул. Покровка 48",,55.763295,37.654817,50,Подразделение Москва,Список Косметика

Строка в заголовками в CSV-файле (ID, NAME и т.д.) может отсутствовать, но значения должны быть указаны обязательно в том порядке, как они указаны в таблице выше.

Загрузка (импорт) клиентов из файла CSV

Формат CSV

Описание формата CSV смотрите выше.

Существует два способа загрузки клиентов из файла CSV:

  • Загрузка клиентов в предопределенный список «Все клиенты».

  • Загрузка клиентов в выбранный список клиентов.

Загрузка клиентов в предопределенный список «Все клиенты»

Чтобы начать загрузку клиентов в предопределенный список «Все клиенты» нужно:

1. Перейти в раздел списки клиентов.

2. В открывшемся разделе в верхней панели нажать на кнопку «Создать»:

Добавление клиента

3. Далее в открывшемся окне создания клиента нажать на кнопку «Создать массово из csv-файла».

Кнопка загрузки клиентов из файла

4. В открывшемся окне нажмите на кнопку «Выберите файл» и затем выберите подготовленный CSV-файл. После этого у вас в нижней части окна будут выведены клиенты из выбранного файла.

Просмотр данных загрузки

5. Убедитесь, что в окне показаны корректные данные (идентификаторы клиентов не показываются для удобства просмотра). Выберите один из вариантов обработки конфликтов — когда загружаемые клиенты уже частично или полностью есть в базе данных на сервере:

  • Отменить всю транзакцию — загрузка файла будет полностью отменена как только будет обнаружен такой же клиент в базе данных.
  • Пропускать — уже имеющиеся в базе данных клиенты не будут обновляться данными из файла.
  • Обновлять — уже имеющиеся в базе данных клиенты будут обновляться новыми данными из файла.
  • Обновлять только связи — обновляются только связи клиентов внутри списков клиентов. Свойства клиентов не меняются.

Примечание

При загрузке данных в режиме «Обновлять» всегда работает следующее правило для обновления свойств клиентов, уже имеющихся на сервере:

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

Например, если на сервере заполнены координаты клиента (поля LATITUDE и LONGITUDE), а в CSV-файле значения в этих колонках пустые (см. описание структуры файла выше, то на сервере останутся прежние заполненные координаты клиента.

После выбора подходящего варианта нажмите на кнопку «Загрузить».

По завершении корректной загрузки данных будет показано сообщение:

Результат загрузки - ОК

Если же произошли какие-либо какие-либо ошибки при загрузке файла будет показано окно с информацией об ошибке.

Результат загрузки - ошибка

Нажав на кнопку «Подробно» в этом окне, можно увидеть более подробное описание ошибки. Например, такая ошибка выводится, если в файле был указан идентификатор клиента в неправильном формате:

Результат загрузки - ошибка - детали

Загрузка клиентов в выбранный список клиентов

Чтобы начать загрузку клиентов в выбранный список клиентов нужно:

1. Перейти в раздел «Списки клиентов».

2. В левом списке выбрать нужный список клиентов.

3. В окне выбранного списка клиентов перейти в раздел «Клиенты» и нажать на кнопку «Загрузить из CSV».

4. Повторить четвертый и пятый шаги, описанные в подразделе Загрузка клиентов в предопределенный список «Все клиенты».

Загрузить клиентов в конкретный выбранный список клиентов

Примечание

При загрузке в выбранный список клиентов имеется возможность загружать клиентов из CSV файла, в котором есть только две колонки: ID и NAME. В этом случае список загружается в режиме «Обновить связи», т.к. когда в файле только две колонки — этой информации недостаточно для загрузки новых клиентов, но достаточно для включения в список уже существующих клиентов, ID которых совпадает с ID существующих клиентов.

Сделано в «Агент Плюс» с ❤️