Номенклатура
Раздел API для управления номенклатурой системы ERP: категории товаров, теги, типы, виды и сами позиции номенклатуры.
Категории
Получение списка категорий
- Метод
- GET
- URL
https://api.gigma.ru/api/tables/categories- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
page— текущая страница (пагинация)per_page— количество элементов на страницеquery— поисковая строкаdate_from— фильтр по дате добавления (от)date_to— фильтр по дате добавления (до)
Пример запроса
https://api.gigma.ru/api/tables/categories?query=сей&date_from=30-01-2024 Ответ
При успешном действии возвращается HTTP код 200.
Возвращает данные категорий с метаданными столбцов, объекты категорий, содержащие: id, code, date, parent, name (с иконкой), creator (с иконкой), type, и информацию о пагинации.
Получение выбранной категории
- Метод
- GET
- URL
https://api.gigma.ru/api/tables/categories/{id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает один объект категории с полями: id, code, name, description, parent, photo, avatar, tags.
Обновление выбранной категории
- Метод
- PUT
- URL
https://api.gigma.ru/api/categories/{id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
code— уникальный системный кодname— название категорииdescription— описание в формате HTMLparent_id— родительская категорияavatar_id— ID файла аватараphoto_id— ID файла фотографииtag_id[]— массив ID тегов
Ответ
При успешном действии возвращается HTTP код 200.
Добавление категории
- Метод
- POST
- URL
https://api.gigma.ru/api/categories- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
⚠ Реальный minimum (сверено): только name. code рекомендуется задавать вручную для дедупа, но бэкенд его не требует.
name(string, обязательно) — название категорииcode(string, опционально) — уникальный системный код категорииdescription(string, опционально) — описание в формате HTMLparent_id(int, опционально) — ID родительской категории (для вложенности)avatar_id(int, опционально) — ID файла аватара (изPOST /api/files)photo_id(int, опционально) — ID файла основной фотографииtag_id(int[], опционально) — массив ID тегов
Пример запроса
{
"code": "CAT-001",
"name": "Косметика",
"description": "<p>Категория косметической продукции</p>",
"parent_id": 1,
"avatar_id": 42,
"photo_id": 43,
"tag_id": [1, 2]
} Ответ
При успешном действии возвращается HTTP код 201 с созданным объектом категории.
{
"category": {
"id": 17,
"code": "CAT-001",
"name": "Косметика",
"description": "<p>Категория косметической продукции</p>",
"parent": { "id": 1, "name": "Товары для дома" },
"avatar": { "id": 42, "path": "https://api.gigma.ru/storage/uploads/abc.jpg" },
"photo": { "id": 43, "path": "https://api.gigma.ru/storage/uploads/def.jpg" },
"tags": [{ "id": 1, "name": "новинка" }, { "id": 2, "name": "хит" }],
"created_at": "2026-05-16T07:00:00.000000Z",
"updated_at": "2026-05-16T07:00:00.000000Z"
}
}Получение истории изменений категории
- Метод
- GET
- URL
https://api.gigma.ru/api/categories/{id}/history- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает массив объектов истории с полями: id, icon, color, title, description, datetime, historiesCount.
Теги
Типы
Получение списка типов номенклатуры
- Метод
- GET
- URL
https://api.gigma.ru/api/nomenclature_types- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает типы номенклатуры с полями: id, name, avatar, created_at, nomenclatureTypesCount.
Виды
Получение списка видов номенклатуры
- Метод
- GET
- URL
https://api.gigma.ru/api/nomenclature_kinds- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает массив видов с полями: id, name, avatar, created_at, nomenclatureKindsCount.
Номенклатура
Получение списка номенклатуры (табличное представление)
- Метод
- GET
- URL
https://api.gigma.ru/api/tables/nomenclatures- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
query— поисковая строкаtype_id[]— фильтр по ID типовkind_id[]— фильтр по ID видовis_import— boolean (1 — импортные, 0 — отечественные)
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает метаданные столбцов и позиции номенклатуры с полями: id, code, name, type, kind, brand, unit, is_import, country.
Получение списка номенклатуры
- Метод
- GET
- URL
https://api.gigma.ru/api/nomenclatures- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
Те же параметры, что и для табличного представления, плюс page и per_page.
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает данные номенклатуры с пагинацией. Объекты содержат: id, code, name, avatar, preview, description, category, specification, country, type, kind, branch, tags, photos, unit, brand, price, cost_price, discount, vat, markup, pieces_per_pack, is_subscription, billing_period_months, parent_nomenclature_id, variant_label, variant_sort_order, временные метки создания и обновления.
Добавление позиции номенклатуры
- Метод
- POST
- URL
https://api.gigma.ru/api/nomenclatures- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
⚠ Реальный minimum (сверено через POST {} → 422): name + kind_id. Остальные технически опциональны, но для боевого создания обычно нужны code, type_id, storage_unit_id, vat_id, price.
name(string, обязательно) — наименование позицииkind_id(int, обязательно) — ID вида (1=Услуга, 2=Товар;GET /api/nomenclature_kinds)code(string, опционально) — уникальный SKU позиции (рекомендуется ставить вручную)type_id(int, опционально) — ID типа (GET /api/nomenclature_types)storage_unit_id(int, опционально) — ID единицы измерения (GET /api/storage_units— не/api/units)vat_id(int, опционально) — ID ставки НДС (GET /api/vats)price(string, опционально) — цена в формате decimal-string, 2 знака ("1000.00"). Для услуг — обязательно по бизнес-логике.category_id(int, опционально) — ID категории (GET /api/categories)brand_id(int, опционально) — ID бренда (GET /api/brands)country_id(int, опционально) — ID страны производстваbranch_id(int, опционально) — ID бизнеса/филиалаdescription(string, опционально) — HTML-описание для карточкиspecification(string, опционально) — HTML-характеристикиcost_price(string, опционально) — себестоимость, decimal-stringmarkup(int, опционально) — процент наценкиdiscount(int, опционально) — процент скидкиavatar_id(int, опционально) — ID файла-аватара (изPOST /api/filescfile_type_id=2)preview_id(int, опционально) — ID файла превью-картинкиphotos(object[], опционально) — массив дополнительных фото:[{photo_id, order}]tags(int[], опционально) — массив ID тегов
Пример запроса
{
"code": "SKU-001",
"name": "Крем для лица «Нежность»",
"kind_id": 2,
"type_id": 1,
"storage_unit_id": 1,
"vat_id": 2,
"price": "1000.00",
"category_id": 17,
"brand_id": 7,
"country_id": 3,
"branch_id": 5,
"description": "<p>Увлажняющий крем с гиалуроновой кислотой.</p>",
"specification": "<p>Объём: 50 мл. Срок годности: 24 месяца.</p>",
"cost_price": "700.00",
"markup": 30,
"discount": 0,
"avatar_id": 42,
"preview_id": 43,
"photos": [
{ "photo_id": 44, "order": 1 },
{ "photo_id": 45, "order": 2 }
],
"tags": [1, 2]
} Ответ
При успешном действии возвращается HTTP код 201 с созданным объектом номенклатуры.
{
"nomenclature": {
"id": 100,
"code": "SKU-001",
"name": "Крем для лица «Нежность»",
"kind": { "id": 2, "name": "Товар" },
"type": { "id": 1, "name": "Простой" },
"unit": { "id": 1, "name": "Штука" },
"vat": { "id": 2, "rate": 20 },
"price": "1000.00",
"cost_price": "700.00",
"markup": 30,
"discount": 0,
"category": { "id": 17, "name": "Косметика" },
"brand": { "id": 7, "name": "Nivea" },
"country": { "id": 3, "name": "Россия" },
"branch": { "id": 5, "name": "Главный филиал" },
"description": "<p>...</p>",
"specification": "<p>...</p>",
"avatar": { "id": 42, "path": "https://api.gigma.ru/storage/uploads/avatar.jpg" },
"preview": { "id": 43, "path": "https://api.gigma.ru/storage/uploads/preview.jpg" },
"photos": [
{ "id": 44, "path": "https://api.gigma.ru/storage/uploads/p1.jpg", "order": 1 },
{ "id": 45, "path": "https://api.gigma.ru/storage/uploads/p2.jpg", "order": 2 }
],
"tags": [{ "id": 1, "name": "новинка" }, { "id": 2, "name": "хит" }],
"created_at": "2026-05-16T07:00:00.000000Z",
"updated_at": "2026-05-16T07:00:00.000000Z"
}
}Обновление позиции номенклатуры
- Метод
- PUT
- URL
https://api.gigma.ru/api/nomenclatures/{id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Параметры запроса
Те же параметры, что и в эндпоинте добавления.
Ответ
При успешном действии возвращается HTTP код 200.
Получение выбранной позиции номенклатуры
- Метод
- GET
- URL
https://api.gigma.ru/api/nomenclatures/{id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает полный объект позиции со всеми полями: id, code, name, avatar, preview, description, category, specification, country, type, kind, branch, tags, photos, unit, brand, price, cost_price, discount, vat, markup, pieces_per_pack, is_subscription, billing_period_months, parent_nomenclature_id, variant_label, variant_sort_order, временные метки.
Описание дополнительных полей
pieces_per_pack(int) — количество единиц в упаковкеis_subscription(bool) — является ли позиция подпиской (recurring billing)billing_period_months(int|null) — период подписки в месяцах (заполнено только еслиis_subscription = true)parent_nomenclature_id(int|null) — ID родительской позиции (для вариантов товара)variant_label(string|null) — метка варианта (напр. «Красный / L»)variant_sort_order(int|null) — порядок отображения среди вариантов
Получение истории изменений позиции номенклатуры
- Метод
- GET
- URL
https://api.gigma.ru/api/nomenclatures/{id}/history- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Возвращает массив истории с полями: id, icon, color, title, description, datetime.
Экспорт и импорт
Экспорт файла номенклатуры
- Метод
- POST
- URL
https://api.gigma.ru/api/nomenclatures/export- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200.
Импорт файла номенклатуры
- Метод
- POST
- URL
https://api.gigma.ru/api/nomenclatures/import- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}
Ответ
При успешном действии возвращается HTTP код 200 со статусом импорта и описанием полей.