Справочники — Продукция
Метод для создания или обновления продукции (номенклатуры) в Цифре из 1С.
Для создания или обновления продукции (номенклатуры) в Цифре необходимо отправить запрос на метод API, передав массив продукции в поле Data.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
SecretKey |
string | Да | Секретный ключ |
Data |
array | Да | Массив продукции для создания/обновления |
Логика работы
- Данные передаются в массиве
Data - Если продукция с переданным
Guidуже существует в системе — она будет обновлена - Если продукции с таким
Guidнет — будет создана новая
Структура Data[]
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
Guid |
string | Да | Идентификатор в 1C |
Name |
string | Да | Наименование продукции |
Sku |
string | Нет | Артикул или код продукции |
Unit |
string | Нет | Единица измерения (м³, шт, кг) |
ShortName |
string | Нет | Короткое название |
Specification |
boolean | Нет | Является ли продукция спецификацией |
Price |
number | Нет | Цена |
VatRate |
float | Нет | Процент налога (например, 20) |
VatInPrice |
boolean | Нет | Включен ли НДС в стоимость |
Service |
string | Нет | Тип услуги: mix (доставка), downtime (простой), pump (насос), other (остальное). Если товар — оставить пустым |
Parent
|
Нет | Массив родительского продукта (если есть иерархия) | |
Characteristics
|
Нет | Массив характеристик товара (например, сезонность) | |
OutputProducts
|
Нет | Массив выходных продуктов для ресурсной спецификации (только для спецификаций) |
Дополнительные поля для бетонной продукции
Эти поля могут передаваться как на верхнем уровне объекта Data[], так и внутри объекта Parent.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
ViewName | string | Нет | Вид бетонной смеси и её условное обозначение |
NumberComposition | string | Нет | № номинального состава |
Brand | string | Нет | Марка бетона (М) |
Class | string | Нет | Класс бетона (В) |
Mobility | string | Нет | Подвижность бетона (П) |
ConeDraft | string | Нет | Осадка конуса |
WorkabilityTime | string | Нет | Сохр. удобоукл., (ч-мин) |
AggregateSize | string | Нет | Наибольшая крупность заполнителя (мм) |
Class28d | string | Нет | Класс бетона, 28 суток (В) |
Strength28d | string | Нет | Прочность, 28 суток (МПа) |
Class7d | string | Нет | Класс бетона, 7 суток (В) |
Strength7d | string | Нет | Прочность, 7 суток (МПа) |
CompressiveStrength | string | Нет | Прочность на сжатие |
AdditiveName | string | Нет | Добавка |
AdditiveWeight | string | Нет | Масса добавки |
Cement | string | Нет | Наименование и класс прочности применяемого цемента |
Declaration | string | Нет | Регистрационный номер декларации о соответствии |
Gost | string | Нет | Номер стандарта или ТУ |
Aeff | string | Нет | Удельная эффективная активность ЕРН Аэфф |
QualityIndicators | string | Нет | Показатели качества |
Примечания
- Отправляйте только бетон, смеси и инертные материалы
- Если продукция с указанным
Guidсуществует, она будет обновлена - Parent: если указан родительский продукт, он будет создан как отдельный товар
- Характеристики без поля
Guidбудут пропущены - Продукты с названиями, содержащими служебные значения ("ручной", "(не выбран)", "тест", "физ.лицо"), не будут созданы
- Для услуг заполняйте поле
Service - Для товаров оставляйте
Serviceпустым или null - Спецификации: если
Specification = true - Не отправляйте за раз более 2000 единиц или более 1 МБ данных
Пример запроса
1С → Цифра
{
"SecretKey": "2akgzOCYsAxLwpNl",
"Data": [
{
"Guid": "22db4291-154f-11ec-973e-244bfecb4e0a",
"Name": "БСТ М400БВ30W10П4F150",
"Sku": "00-00230232",
"Unit": "м³",
"ShortName": "М400",
"Specification": false,
"Price": 5000,
"VatRate": 20,
"VatInPrice": true,
"Service": null,
"Brand": "М400",
"Class": "В30",
"Mobility": "П4",
"Gost": "ГОСТ 7473-2010"
},
{
"Guid": "33ab5192-265g-22fc-a84f-355cgfdc5f1b",
"Name": "Доставка бетона",
"Unit": "км",
"Price": 50,
"Service": "mix"
}
]
}
Коды ответов
| Код | Описание |
|---|---|
| 201 | Успешное создание. Все данные обработаны без ошибок (success: true) |
| 207 | Частичный успех. Часть данных обработана, но есть ошибки (success: true) |
| 401 | Ошибка ключа. Секретный ключ не найден (success: false) |
| 422 | Ошибка валидации. Data должен быть массивом (success: false) |
| 500 | Ошибка сервера. Внутренняя ошибка обработки (success: false) |
Структура ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Успешность операции |
message |
string | Сообщение об успешных операциях |
data_id |
integer | ID записи в логе |
errors |
array | Массив ошибок (только при наличии ошибок) |
Примеры ответов
{
"success": true,
"message": "Загружено товаров: 5. Обновлено товаров: 2. Загружено характеристик: 15. Обновлено характеристик: 3",
"data_id": 123
}
{
"success": true,
"message": "Загружено товаров: 3. Обновлено товаров: 1",
"data_id": 123,
"errors": [
"Товаров без GUID: 2",
"Товаров без названия: 1"
]
}
{
"success": false,
"message": "Секретный ключ не найден",
"data_id": null
}
{
"success": false,
"message": "Неверный тип данных",
"data_id": 123
}
{
"success": false,
"message": "Произошла ошибка: подробное описание ошибки",
"data_id": 123
}