Создает материал. Материал появляется на складе storage_id и на складах, которые хранят все материалы или его категории.
POST https://api.controlata.ru/connect/v1/materials/add.php
Параметры
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| name | string | Да | Название |
| unit | string | Да | Единица измерения, код из статьи Справочники |
| 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 |
| suppliers | array | Нет | ID поставщиков |
Начальный остаток оценивается по цене материала.
Категории через API не создаются, можно назначить только существующие. В categories и suppliers можно передать числа или объекты с полем id, как их возвращает 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 | Поставщик не найден или удален |