Покупатели: компании и люди, которым вы продаете продукцию. Через API их можно создавать, редактировать и удалять, получать список и данные покупателя.

Пути методов указаны относительно базового адреса API, а общие для всех методов правила (авторизация, формат запросов, частичное редактирование, постраничная выдача) описаны в статьях [Обзор API](https://developers.controlata.ru/hc/api-docs/articles/overview) и [Общие правила](https://developers.controlata.ru/hc/api-docs/articles/rules).

## Методы

| Метод | Что делает |
|---|---|
| [v1/customers/add](https://developers.controlata.ru/hc/api-docs/articles/customers-add) | Создает покупателя |
| [v1/customers/edit](https://developers.controlata.ru/hc/api-docs/articles/customers-edit) | Изменяет покупателя |
| [v1/customers/delete](https://developers.controlata.ru/hc/api-docs/articles/customers-delete) | Удаляет покупателя |
| [v1/customers/get_list](https://developers.controlata.ru/hc/api-docs/articles/customers-get-list) | Возвращает покупателей компании |
| [v1/customers/get_entry](https://developers.controlata.ru/hc/api-docs/articles/customers-get-entry) | Возвращает данные покупателя |

## Поля покупателя

| Поле | Тип | Описание |
|---|---|---|
| id | int | ID покупателя |
| type | int | Тип покупателя (см. ниже) |
| name | string | Наименование юрлица или имя ИП и физлица |
| email | string | Электронная почта |
| phone | string | Телефон |
| address_legal | string | Юридический адрес |
| address_real | string | Адрес доставки |
| inn | string | ИНН |
| kpp | string | КПП |
| ogrn | string | ОГРН |
| agreement | string | Договор |
| manager_name | string | Руководитель |
| manager_post | string | Должность руководителя |
| notes | string | Заметки |

Файлы покупателя через API не передаются и не возвращаются.

## Тип покупателя

| Значение | Тип |
|---|---|
| 1 | Юридическое лицо |
| 2 | Индивидуальный предприниматель |
| 3 | Физическое лицо |

Если тип не передан при создании, покупатель создается физическим лицом (3). Тип можно передать числом или строкой: 1 или "1".

API сохраняет все переданные поля независимо от типа. Но в карточке покупателя Controlata показывает только поля, подходящие типу:

* ИНН, КПП и юридический адрес: у юрлица и ИП;
* ОГРН, руководитель и должность: только у юрлица.

## Реквизиты

ИНН, КПП и ОГРН сохраняются в том виде, в котором переданы: их формат и контрольные цифры не проверяются. Длина поля: ИНН до 12 символов, КПП 9, ОГРН до 15.

Уникальность имени и реквизитов тоже не проверяется. Если в Controlata появились дубли, выделите их в списке покупателей и нажмите **Объединить**.

## Покупатель из заказа

Создавать покупателя заранее не обязательно. В [v1/orders/add](https://developers.controlata.ru/hc/api-docs/articles/orders-add) вместо customer_id можно передать customer_name и другие поля покупателя с префиксом customer_ (customer_type, customer_email, customer_phone, customer_inn и так далее). Тогда Controlata создаст нового покупателя вместе с заказом.

Каждый заказ с customer_name создает нового покупателя, даже если покупатель с таким именем уже есть. Для постоянных покупателей сохраните ID на своей стороне и передавайте customer_id.
