Товары и категории

Типы и статусы категорий магазина

Справочник по типам и статусам категорий и товаров магазина. Используются в API /v1/shop/category/* (параметр status в запросах) и в ответах API.


Статусы категории

IDКонстантаRUENОписание
0ARCHIVEВ архивеArchivedКатегория/товар в архиве. Не отображается в активном каталоге, можно восстановить через «Разархивировать».
1ACTIVEАктивныйActiveОбычное состояние: категория видна и доступна для покупок (с учётом настроек видимости).
2HIDEСкрытыйHiddenСкрыт из выдачи (например, временно снят с продажи без переноса в архив).

Типы категории/товара

IDКонстантаНазвание (RU)Описание
0CATEGORYПодкатегорияТолько контейнер для вложенных категорий или товаров, сам по себе не товар.
1UNIQUEУникальный товарТовар с уникальными строками (каждая строка продаётся один раз). Подходит для ключей, промокодов и т.п.
2NON_UNIQUEНеуникальный товарОдин и тот же товар можно продавать многократно (лимит или без лимита).
3FILEНеуникальный файлТовар — файл(ы), доступный многократно (одно и то же содержимое для всех покупателей).
4FILESУникальные файлыКаждый загруженный файл — отдельная единица товара (продаётся один раз).
5API_FEEDBACKAPIТовар обрабатывается через внешний API (BOT-T API, другой бот и т.д.).
6PRESENTПодарокВыдача подарка: по одной строке или все строки сразу.
7CARTТовар для корзиныТовар в магазине с корзиной (количество, калькулятор, подтверждение заказа и т.п.).
8SERVICEУслугаТовар как услуга (без физической выдачи, логика на стороне бота/интеграций).
9PRESENT_FILEПодарок файламиПодарок в виде файла(ов).

Подтип (sub_type) настраивается не у всех типов. У типов CATEGORY, FILES, CART, SERVICE, PRESENT_FILEотдельного выбора подтипа нет.


Подтипы (sub_type)

Подтип хранится в поле sub_type. Значение зависит от типа (type): одно и то же число 0 у разных типов означает разное.


UNIQUE (type = 1) — проверка уникальности строк

IDКонстантаRU (ЛК)EN (ЛК)Описание
0NON_UNIQUEНе проверять на уникальностьDo not check for uniquenessДубликаты строк в товаре разрешены. При добавлении строки не проверяется, есть ли такая уже в каталоге.
1UNIQUEПроверять на уникальностьCheck for uniquenessПри добавлении строки проверяется наличие в текущем товаре; дубликаты удаляются. При смене режима выполняется дедупликация существующих строк.
2HARD_UNIQUEПроверять на уникальность даже в проданных заказахCheck uniqueness even in sold ordersКак UNIQUE, плюс при смене режима строки из уже проданных заказов (до 1000 последних заказов, до 25 000 строк) исключаются из повторной загрузки.

Поведение при продаже: каждая строка выдаётся один раз и удаляется из остатка.


NON_UNIQUE (type = 2) — лимит количества

IDКонстантаRU (ЛК)Описание
0LIMITЛимитное количество товараФиксированный остаток (setting.count). При покупке count уменьшается, при отмене заказа — возвращается. При count = 0 товар «закончился».
1NON_LIMITБезлимитное количество товараОстаток не уменьшается при продаже. В боте отображается как безлимитный товар. Все покупатели получают одну и ту же строку товара.

FILE (type = 3) — режим работы неуникального файла

Эти подтипы относятся к типу FILE (3), а не к FILES (4). Тип FILES — уникальные файлы без выбора подтипа.

IDКонстантаRU (ЛК)Описание
0LIMITЛимитное количество товараОдин файл. Остаток уменьшается при каждой покупке.
1NON_LIMITБезлимитное количество товараОдин файл, продаётся без ограничения количества.
2MANY_FILES_LIMITЛимитное количество, несколько файловНесколько файлов в одном товаре; остаток лимитирован. При заказе покупателю отправляются все привязанные файлы.
3MANY_FILES_NON_LIMITБезлимитное количество, несколько файловНесколько файлов, продажа без ограничения количества.

Ограничение при смене подтипа: нельзя переключить между режимами «один файл» (0/1) и «несколько файлов» (2/3) без потери структуры товара.


FILES (type = 4) — уникальные файлы

Отдельных подтипов нет. Каждый загруженный файл = одна уникальная единица товара. Остаток = количество загруженных файлов.


API_FEEDBACK (type = 5) — интеграция с внешним API

IDКонстантаRU (ЛК)Описание
0NOT_ACTIONРабота с API BOT-TСтандартная интеграция через BOT-T API. Товар не отображается в каталоге как обычный (is_view = false).
4ACCSMOLLAccSmoll (товары + наценка %, руб)Интеграция AccSmoll с наценкой.

Поведение: для подтипов отличных от NOT_ACTION товар виден в каталоге; для NOT_ACTION и устаревшего MAGNIT — скрыт из обычной витрины.


PRESENT (type = 6) — формат выдачи подарка

IDКонстантаRU (ЛК)EN (ЛК)Описание
0UNIQUEВыдавать поштучноGive only one line at a timeКаждому покупателю выдаётся одна строка из списка; строка удаляется из остатка. Count отображается как у лимитного товара.
1NON_UNIQUEВыдавать все строки сразуGive all rows at onceПри получении подарка покупателю выдаются все строки товара сразу. Остаток не уменьшается поштучно — отображается как безлимитный.

Константы UNIQUE / NON_UNIQUE здесь описывают режим выдачи, а не тип товара.


Типы без подтипов

ТипIDПримечание
CATEGORY0sub_type не используется
FILES4Каждый файл — уникальная единица
CART7Логика корзины
SERVICE8Услуга без выдачи контента
PRESENT_FILE9Подарок файлами
UNIQUE_HIGH_LOAD10Beta

Использование в API

Фильтр по статусу

В запросах к /v1/shop/category/index, /v1/shop/category/count и др. массив status задаёт фильтр по статусам:

{
  "bot_id": 123,
  "status": [0, 1, 2]
}

Допустимые значения: 0 (архив), 1 (активный), 2 (скрытый).

Поля в ответе

ПолеТипОписание
typeintegerID типа из таблицы типов (0–10)
statusintegerID статуса (0 — архив, 1 — активный, 2 — скрытый)
is_hidebooleantrue, если статус не ACTIVE
is_viewbooleanОтображается ли товар в продаже (учитывает тип, подтип, остаток и настройки)

Подтип в API

Поле sub_type в ответах API сейчас не отдаётся. Для API-товаров также смотрите поле api_id.


Сводная таблица: какой подтип у какого типа

typeНазваниеЕсть подтипыДиапазон sub_type
0CATEGORYнет
1UNIQUEда0–2
2NON_UNIQUEда0–1
3FILEда0–3
4FILESнет
5API_FEEDBACKда0–5 (1 устарел)
6PRESENTда0–1
7CARTнет
8SERVICEнет
9PRESENT_FILEнет
10UNIQUE_HIGH_LOADнет

Примеры интерпретации

type=1, sub_type=2  →  Уникальный товар с жёсткой проверкой (HARD_UNIQUE)
type=2, sub_type=0  →  Неуникальный товар с лимитом
type=3, sub_type=3  →  Неуникальный файл, несколько файлов, без лимита
type=5, sub_type=3  →  API-товар через Pigfarm
type=6, sub_type=0  →  Подарок, выдача по одной строке