Создает материал. Материал появляется на складе storage_id и на складах, которые хранят все материалы или его категории.

`POST https://api.controlata.ru/connect/v1/materials/add.php`

## Параметры

| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| name | string | Да | Название |
| unit | string | Да | Единица измерения, код из статьи [Справочники](https://developers.controlata.ru/hc/api-docs/articles/reference) |
| storage_id | int | Да | Склад, на котором создается остаток |
| sku | string | Нет | Артикул |
| price | float | Нет | Цена за единицу. По умолчанию 0 |
| stock | float | Нет | Начальный остаток на складе storage_id. По умолчанию 0 |
| minimum | float | Нет | Минимальный остаток на складе storage_id. По умолчанию 0 |
| notes | string | Нет | Заметки |
| categories | array | Нет | ID категорий из [categories/get_list](https://developers.controlata.ru/hc/api-docs/articles/reference) |
| suppliers | array | Нет | ID поставщиков |

Начальный остаток оценивается по цене материала.

Категории через API не создаются, можно назначить только существующие. В categories и suppliers можно передать числа или объекты с полем id, как их возвращает [materials/get_entry](https://developers.controlata.ru/hc/api-docs/articles/materials-get-entry).

Уникальность артикула не проверяется.

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

```
{
    "name": "Доска дубовая",
    "sku": "M010",
    "unit": "куб. м",
    "price": 130000,
    "storage_id": 3998,
    "stock": 2.5,
    "minimum": 0.5,
    "categories": [12],
    "suppliers": [45]
}
```

## Пример ответа

```
{
    "success": true,
    "material_id": 2051
}
```

## Ошибки

| Ошибка | Причина |
|---|---|
| No name in input | Не передано обязательное поле (вместо name будет имя поля) |
| Name must not be empty | Пустое название |
| Unit not found | Неизвестная единица измерения или единица только для ресурсов |
| Storage ID not found | Склад не найден или удален |
| Invalid price value. Must be a number | Значение не число, например "12,5" (так же для stock и minimum) |
| Category 12 not found | Категория не найдена |
| Supplier not found or access denied | Поставщик не найден или удален |
