# Массовое редактирование клиентов
:::warning

 В инструкции описаны **примеры** POST-запросов. Интеграция с Mindbox не будет работать, если использовать запросы из примеров ниже без редактирования.

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

## Описание метода

Осуществляется с помощью POST-запроса. Адрес запроса и набор принимаемых полей настраиваются в системе Майндбокс.

```text title="Массовый импорт клиентов"
POST https://api.mindbox.ru/v3/operations/bulk?endpointId={уникальный идентификатор сайта и т.п.}&operation=DirectCrm.Customers.Edit&segment={Системное имя сегмента для клиентов}&csvCodePage=65001&csvColumnDelimiter=%3B&csvTextQualifier=%22&transactionId={Значение ключа идемпотентности в формате GUID}


Authorization: SecretKey {Секретный ключ}
Accept: application/json
Content-Type: text/csv;charset=utf-8
```

**Параметры запроса**

* csvCodePage - идентификатор кодовой страницы Windows для CSV-файла. Предпочтительно использовать 65001 (UTF-8). 

* csvColumnDelimiter - символ, использующийся для разделения колонок в CSV-файле.

* csvTextQualifier - символ, опционально добавляющийся в начале и в конце значения колонки, позволяя использовать в нём символы, обычно не разрешённые.

* endpointId - точка доступа, из которой будут взяты настройки интеграции. Значение настраивается в системе.

* editActionTemplate - Системное имя шаблона действия редактирования, будет выдано клиенту, если запись уже существует в базе.

* editActionDateTime - Дата и время действия редактирования, можно задать на текущую процедуру импорта, если входные данные не содержат колонку даты редактирования.

* issueEditActionWithCurrentDateTime - Использовать текущую дату и время в качестве даты и времени действия редактирования.

* transactionId - ключ идемпотентности, позволяющий избежать повторного выполнения запроса. Ключ идемпотентности обязательно создавать в формате GUID (рекомендуется версия 4). Для повторных запросов c повторяющимся ключом в ответ вернется статус `TransactionAlreadyProcessed`.

* данный сервис разрешает поставить не более 60 импортов в час. После превышения порога вы будете получать 429 Too Many Requests до тех пор, пока количество поставленных задач за час не опустится ниже 60.

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

## Описание полей данных импорта

| Заголовок                   | Описание                                                                         |
| :-------------------------- | :------------------------------------------------------------------------------- |
| Websiteid                   | Идентификатор клиента на сайте                                                   |
| FirstName                   | Имя клиента                                                                      |
| LastName                    | Фамилия клиента                                                                  |
| MiddleName                  | Отчество клиента                                                                 |
| MobilePhone                 | Мобильный телефон                                                                |
| Email                       | Емэйл клиента                                                                    |
| BirthDate                   | Дата рождения в формате  yyyy-MM-dd                                              |
| LastUpdateDateTimeUtc       | Дата редактирования в формате yyyy-MM-dd HH:mm:ss по UTC                         |
| LastUpdatePointOfContact    | Точка контакта редактирования клиента, например "Сайт" или "Магазин на Тверской" |
| LastUpdateActionTemplate    | Действие редактирования клиента                                                  |
| IsSubscribed                | Статус подписки true/false                                                       |
| Дополнительное поле клиента | Значение дополнительного поля клиента                                            |

## Пример запроса

```text title="Массовый импорт клиентов"
POST https://api.mindbox.ru/v3/operations/bulk?endpointId={уникальный идентификатор сайта и т.п.}&operation=DirectCrm.Customers.Edit&csvCodePage=65001&csvColumnDelimiter=%3B&csvTextQualifier=%22


Authorization: SecretKey {Секретный ключ}
Accept: application/json
Content-Type: text/csv;charset=utf-8



Email;BirthDate;LastUpdateDateTimeUtc;LastUpdatePointOfContact;LastName;FirstName;MiddleName;IsSubscribed
pelena@mindbox.ru;12.04.1982;16.04.2016 21:00;727;Петрова;Елена;Викторовна;1
pivan@mindbox.ru;16.01.1980;16.04.2016 21:00;727;Петров;Иван;Иванович;1
```
