# Импорт клиентской базы

Для переноса вашей клиентской базы из внешних систем в Zenky вы можете воспользоваться импортом покупателей через файлы CSV (Comma-separated values) или XLSX (Excel).

## Требования к файлу импорта

Перед тем, как загружать файл с покупателями, его нужно привести в определённый формат:

1. На первой строке файла должны идти заголовки полей: `phone,first_name,last_name,birth_date,gender,email,balance,bonuses_level_id` (именно в таком порядке);
2. На второй и последующих строках должны идти данные каждого покупателя (один покупатель — одна строка). Описание и порядок полей см. ниже;
3. Каждый файл может содержать **не более 1 000** покупателей. Если в файле перечислено больше покупателей, они будут проигнорированы. Для загрузки более 1 000 покупателей вам нужно разбить вашу базу на несколько файлов;
4. Файл должен иметь кодировку **UTF-8** без заголовка (BOM). При использовании иных кодировок могут возникнуть проблемы с отображением имён и фамилий;
5. У файла должно присутствовать расширение **.csv** или **.xlsx**. Если файл имеет другое расширение или не имеет его, он будет расценен как **.csv**-файл.

## Описание полей

Каждый покупатель может иметь следующий набор полей:

* `phone` — номер телефона (с 8 или +7). Обязательное поле **\[1]**;
* `first_name` — имя покупателя;
* `last_name` — фамилия покупателя;
* `birth_date` — дата рождения в формате **ГГГГ-ММ-ДД** (например: 1991-09-20);
* `gender` — пол покупателя. Возможные значения: `male` (мужской), `female` (женский) и `other` (не указан);
* `email` — адрес электронной почты покупателя;
* `balance` — баланс бонусов покупателя **\[2]**;
* `bonuses_level_id` — ID бонусного уровня, который нужно назначить покупателю. ID нужных уровней можно скопировать в разделе **"Лояльность" -> "Бонусные уровни"**, нажав на кнопку в столбце **"ID"**.

_**\[1]** Если телефон не указан или указан неправильно, этот покупатель будет пропущен (лимит в 1000 покупателей при этом не увеличивается). Если один и тот же номер телефона присутствует в одном файле (или в нескольких), все данные будут перезаписаны последней позицией._&#x20;

_**\[2]** Если баланс не указан (поле пропущено через запятую), то текущий баланс существущего покупателя не будет перезаписан. Однако, если в этом поле указано любое значение, баланс будет изменён. Обратите внимание, что **знак пробела будет преобразован в 0** и баланс покупателя **обнулится**._

## Пример файла

Ваш файл импорта должен выглядеть примерно следующим образом:

```
phone,first_name,last_name,birth_date,gender,email,balance,bonuses_level_id
+79641234567,Иван,Иванов,1996-10-31,male,ivanov@example.org,500,94494c63-e7b3-4f1a-bea3-59fb8c482405
+79831234567,Полина,Петрова,1991-03-29,female,petrova@example.org,,
+79021234567,Анна,,,,,1024,
```

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

## Импорт данных

После того, как вы подготовите файл, перейдите в раздел **"Продажи" -> "Покупатели"** в панели администратора Zenky и нажмите на кнопку **"Импорт"** справа над таблицей.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FLkZbVgOily7IbQeA9m2j%2Fimage.png?alt=media&#x26;token=09d9a855-4546-4f7d-9177-7c21f8d9291b" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2Fncq9qfROP58gqRcLJJxh%2Fimage.png?alt=media&#x26;token=a7457039-9f78-4a45-929b-2a50d5458ef3" alt=""><figcaption></figcaption></figure>

Нажмите на кнопку **"Выбрать файл"** и укажите расположение нужного вам файла. После выбора начнётся автоматическая загрузка.

Когда загрузка файла будет завершена, начнётся его обработка, а под кнопкой "Выбрать файл" появится информационное окно.

В информационном окне будет указан ID задачи импорта, её статус и количество импортированных покупателей. **Скопируйте и сохраните ID задачи на случай, если возникнут проблемы.** Этот ID нужно будет передать в техническую поддержку, без него нам будет сложно определить причину проблем.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FT6JoSocKDiJSfXDXrRK6%2Fimage.png?alt=media&#x26;token=b80ce8b5-5bd9-4c0e-bcab-ec6b46634a2e" alt=""><figcaption></figcaption></figure>

Вы можете не ждать и закрыть браузер, импорт в этом случае не прервётся. После завершения импорта статус задачи в информационном окне изменится на "Выполнен".

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FtQvUTMbjzEW8kAjtgXHn%2Fimage.png?alt=media&#x26;token=42901806-923a-46c7-9e72-ac78287ef667" alt=""><figcaption></figcaption></figure>

Если вы закрыли окно во время импорта, а после открытия информационного окна нет, это означает, что импорт завершился. Если вы считаете, что во время импорта что-то пошло не так, напишите нам в чат или на [tech@zenky.io](mailto:tech@zenky.io), предоставив название магазина, ID задачи и описание проблемы.

**Обратите внимание, что данные существующих покупателей будут перезаписаны, в том числе их баланс (если указан) и бонусный уровень (если указан).**
