Максим

Максим

Обновлено Oct 6, 2026

Возвращает данные продукта, его остаток на складе и состав.

v2/products/get_entry.php

Параметры

Поле Тип Обязательное Описание
product_id int Да ID продукта
storage_id int Да ID склада

Продукт возвращается, только если он числится на складе storage_id. Остатки на всех складах сразу возвращает v1/products/get_stocks.

Ответ

Объект product со всеми полями продукта, его остатком на складе storage_id, категориями, поставщиками и альтернативными артикулами (см. Продукты). Кроме них в объекте есть:

Поле Тип Описание
materials array Материалы в составе
products array Заготовки в составе
resources array Ресурсы в составе
percent float Себестоимость в процентах от цены продажи, с одним знаком после запятой. 0, если цена продажи не задана

Поля строк состава:

Поле Описание
id ID материала, продукта или ресурса
name Название
sku Артикул. Только у материалов и заготовок
type, dynamic, base Тип расчета, признак «указывается в составе продукта» и база расчета. Только у ресурсов (см. Ресурсы)
amount_per_batch Количество на партию
amount_per_unit Количество на единицу продукта: amount_per_batch / batch_size. У процентного ресурса совпадает с amount_per_batch
loss_percent Потери в процентах. Только у материалов и заготовок
unit Единица строки. У процентного ресурса «%», у фиксированной ставки с ценой в составе продукта «шт», а amount_per_batch у нее означает сумму в рублях
status Всегда 1
cost_per_unit Стоимость строки на единицу продукта, с учетом потерь
cost_per_batch Стоимость строки на партию, с учетом потерь
position Порядковый номер строки: общий для materials и products, отдельный для resources

Как и остальные числа, поля строк приходят строками. Исключения: percent, а также cost_per_unit и cost_per_batch процентных ресурсов, которые Controlata рассчитывает при запросе: они приходят числами.

Строки состава, категории и поставщиков из ответа можно передать в v1/products/edit без изменений.

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

{
    "product_id": 3120,
    "storage_id": 3999
}

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

{
    "success": true,
    "product": {
        "id": "3120",
        "name": "Стол обеденный",
        "sku": "P100",
        "price": "45000",
        "cost": "13604.25",
        "batch_size": "10.000",
        "notes": "",
        "status": "1",
        "archived": "0",
        "stock": "12.000",
        "minimum": "3.000",
        "planned": null,
        "unit": "шт",
        "categories": [
            {
                "id": "21",
                "name": "Мебель"
            }
        ],
        "alternative_sku": [
            {
                "label": "Ozon",
                "sku": "OZ-P100"
            }
        ],
        "suppliers": [
            {
                "id": "46",
                "name": "ООО Мебельторг"
            }
        ],
        "materials": [
            {
                "id": "2051",
                "name": "Доска дубовая",
                "sku": "M010",
                "amount_per_unit": "0.05",
                "amount_per_batch": "0.5",
                "loss_percent": "5.00",
                "unit": "куб. м",
                "status": "1",
                "cost_per_unit": "7087.5",
                "cost_per_batch": "70875",
                "position": "0"
            },
            {
                "id": "2060",
                "name": "Саморез 4x40",
                "sku": "M024",
                "amount_per_unit": "40",
                "amount_per_batch": "400",
                "loss_percent": "0.00",
                "unit": "шт",
                "status": "1",
                "cost_per_unit": "80",
                "cost_per_batch": "800",
                "position": "1"
            }
        ],
        "products": [
            {
                "id": "312",
                "name": "Ножка стола",
                "sku": "P012",
                "amount_per_unit": "4",
                "amount_per_batch": "40",
                "loss_percent": "0.00",
                "unit": "шт",
                "status": "1",
                "cost_per_unit": "3400",
                "cost_per_batch": "34000",
                "position": "2"
            }
        ],
        "resources": [
            {
                "id": "57",
                "name": "Работа столяра",
                "type": "rate",
                "dynamic": "0",
                "base": null,
                "amount_per_unit": "3",
                "amount_per_batch": "30",
                "unit": "ч",
                "status": "1",
                "cost_per_unit": "1800",
                "cost_per_batch": "18000",
                "position": "0"
            },
            {
                "id": "58",
                "name": "Накладные расходы",
                "type": "percent",
                "dynamic": "0",
                "base": "cost",
                "amount_per_unit": "10",
                "amount_per_batch": "10",
                "unit": "%",
                "status": "1",
                "cost_per_unit": 1236.75,
                "cost_per_batch": 12367.5,
                "position": "1"
            }
        ],
        "percent": 30.2
    }
}

Ошибки

Ошибка Причина
No product_id in input Не передано обязательное поле (вместо product_id будет имя поля)
Storage ID not found Склад не найден или удален
Product not found or access denied Продукт не найден, удален или не числится на складе

Версия v1

Метод v1/products/get_entry продолжает работать с теми же параметрами. Отличие в составе: материалы и заготовки в нем приходят одним массивом components, а id в строках имеет вид «m-123» для материала и «p-45» для заготовки. Такие строки нельзя отправить в add и edit без изменений, поэтому в новых интеграциях используйте v2.