Документація API/Товари і склад/Товари
Товари
Каталог товарів і послуг. Право ролі: product.
Маршрути
GET
/productСписок товарів з пагінацією, фільтрами й
total.право: product.view2 очк.
GET
/product/{id}Одна картка.
право: product.view1 очк.
GET
/product/countЛише кількість за тими самими фільтрами (голе число).
право: product.view2 очк.
POST
/productСтворити.
право: product.create5 очк.
PUT
/product/{id}Оновити.
право: product.update5 очк.
DELETE
/product/{id}Видалити.
право: product.delete5 очк.
GET
/product/search-by-barcode?barcode=…Товар за штрихкодом.
право: product.view2 очк.
GET
/product/link-price-book/{id}Ціни товару в прайс-листах:
value (копійки) і прайс з валютою.право: product.view2 очк.
GET
/product/{id}/unitsОдиниці й упаковки товару (коробка = 12 шт.) для
input_unit_id у позиціях.право: product.view2 очк.
GET
/product/remains/{id}Залишки товару за складами.
право: product.view2 очк.
GET
/product/deleted?since=…Видалені записи: розділ Синхронізація.
право: product.view2 очк.
Усі поля
Обов’язкові name, sku (унікальний) і type. Теги й доп. поля описано в розділі Вкладені дані.
| Поле | Тип | Обмеження | Опис |
|---|---|---|---|
typeобов. | рядок | goods | service, ≤ 20 симв. | goods (товар) або service (послуга). |
nameобов. | рядок | ≤ 200 симв. | Назва. |
skuобов. | рядок | ≤ 60 симв. | Унікальний артикул, за ним синхронізуються товари. |
attribute_name | рядок | ≤ 100 симв. | Назва атрибута варіанта (напр. «Колір»). |
attribute_value | рядок | ≤ 100 симв. | Значення атрибута (напр. «Червоний»). |
base_price | ціле, копійки | ≤ 9999999999 | Базова ціна продажу, копійки валюти товару. |
purchase_price | ціле, копійки | ≤ 9999999999 | Ціна закупівлі, копійки. |
store_category_id | рядок | ≤ 60 симв. | Id категорії в інтернет-магазині. |
store_product_id | рядок | ≤ 60 симв. | Id товару в інтернет-магазині. |
store_url | рядок | ≤ 255 симв. | Посилання на товар у магазині. |
image_file_id | id | Файл зображення. | |
weight_mg | ціле | Вага одиниці в міліграмах (1 кг = 1 000 000). | |
volume_l | число | Об’єм одиниці, л. | |
storage_temp | рядок | any | ambient | cold, ≤ 10 симв. | Умови зберігання: any, ambient (кімнатна), cold (холод). |
planning_method | рядок | none | mrp | rop, ≤ 10 симв. | Планування закупівель: none, mrp (від плану продажів), rop (точка дозамовлення). |
lead_time_days | ціле | ≤ 3650 | Термін поставки або виробництва, днів. |
lot_size_rule | рядок | lot | fixed | min_max, ≤ 10 симв. | Розмір партії: lot (скільки треба), fixed (кратно fixed_lot_qty), min_max. |
fixed_lot_qty | ціле, ×1000 | Кратність партії, ×1000. | |
description | рядок | ≤ 10000 симв. | Опис. |
is_batch_tracked | bool | Облік партій. | |
is_serial_tracked | bool | Облік серійних номерів. | |
fractional_quantity | bool | Дозволена дробова кількість (кг, м). Якщо ні, кількість кратна 1000. | |
outbound_strategy | рядок | fifo | fefo | manual, ≤ 10 симв. | Списання партій: fifo, fefo (за терміном придатності), manual. |
shelf_life_days | ціле | ≤ 36500 | Термін придатності, днів. |
min_stock_qty | число | Мінімальний залишок (точка дозамовлення), одиниць. | |
max_stock_qty | число | Максимальний залишок, одиниць. | |
external_id | рядок | ≤ 100 симв. | Ключ у вашій системі. Для товарів НЕ унікальний, тому ідентифікуйте товар за sku. |
manufacturer_sku | рядок | ≤ 100 симв. | Артикул виробника. |
kved_code | рядок | ≤ 20 симв. | Код КВЕД послуги. |
requires_act | bool | Послуга закривається актом. | |
requires_prepayment | bool | Потрібна передоплата. | |
standard_duration | ціле | Нормативна тривалість послуги, хвилини. | |
attribute_id | id | Атрибут варіанта (/lookup?type=prd_attr). | |
tax_id | id | Ставка ПДВ (/lookup?type=tax). | |
unit_id | id | Одиниця виміру (/lookup?type=unit). | |
currency_id | id | Валюта (/currency). | |
user_update_id | id | Хто змінив останнім. | |
parent_id | id | Батьківський товар (для варіантів). | |
category_id | id | Категорія (/product-category). | |
provider_id | id | Основний постачальник (/account). | |
manufacturer_id | id | Виробник (/account). | |
finance_account_id | id | Рахунок обліку (службове). | |
is_archived | bool | В архіві. Архівні записи приховує параметр is_archived=true. | |
is_adhoc | bool | Технічний товар під довільний рядок документа. | |
tags | масив Tag | Теги: [{"id": 3}] або [{"name": "VIP"}]. Передані замінюють усі теги запису. Див. «Вкладені дані». | |
idлише читання | ціле | Ідентифікатор запису. | |
image_urlлише читання | рядок | Посилання на зображення (лише у відповіді). | |
image_thumb_urlлише читання | рядок | Мініатюра (лише у відповіді). | |
weightлише читання | число | Вага в кілограмах (лише у відповіді, рахується з weight_mg). | |
created_by_idлише читання | id | Хто створив запис. | |
shop_idлише читання | id | Магазин (філія), ставиться з профілю користувача. | |
created_atлише читання | дата-час | Час створення. | |
updated_atлише читання | дата-час | Час останньої зміни, на ньому будується інкрементальна синхронізація. | |
deleted_atлише читання | дата-час | Час видалення (у звичайних відповідях завжди null). | |
updated_userлише читання | об’єкт User | Хто змінив запис останнім. | |
subлише читання | рядок | Службове поле, ігноруйте. | |
versionлише читання | ціле | Службовий лічильник змін запису. |
Вкладені масиви
product_extra_fields: пишеться в тілі POST/PUT, формат див. у розділі Вкладені дані.entity_tags: звʼязки з тегами приходять лише у відповіді (зexpand=EntityTags.Tag), а пишуться полемtags.price_book: лише у відповіді (expand=PriceBook).
Повʼязані обʼєкти для ?expand= (12)
Без expand приходять як null; писати їх не можна, передавайте відповідне *_id.
Attribute → LookupTax → LookupUnit → LookupCurrency → CurrencyUserUpdate → UserCreatedBy → UserParent → ProductCategory → ProductCategoryProvider → AccountManufacturer → AccountShop → ShopFinanceAccount → FinanceAccount
Службові поля у відповіді, ігноруйте: PrimaryBarcode, Barcodes, OldProduct.
Приклади
Каталог для сайту: змінені товари з цінами
GET /api/v1/product ?filter[updated_at;gte]=2026-09-30 00:00:00 &fields=id,sku,name,base_price,currency_id,updated_at &per-page=100
Знайти за артикулом
GET /api/v1/product?filter[sku;eq]=CH-93633&fields=id,name
Знайти за штрихкодом
GET /api/v1/product/search-by-barcode?barcode=4820000000017
Залишки всього каталогу одним запитом описано в розділі Залишки.