Номенклатура

Раздел 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 — описание в формате HTML
  • parent_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, опционально) — описание в формате HTML
  • parent_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/tags
Авторизация
Bearer token
Headers
Authorization: Bearer {token}

Ответ

При успешном действии возвращается HTTP код 200.

Возвращает массив тегов с полями: id, name, avatar (URL), created_at, tagsCount.

Типы

Получение списка типов номенклатуры

Метод
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-string
  • markup (int, опционально) — процент наценки
  • discount (int, опционально) — процент скидки
  • avatar_id (int, опционально) — ID файла-аватара (из POST /api/files c file_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 со статусом импорта и описанием полей.

© 2026 Itecho ERP