Skip to content
  1. Компоненты
  2. MiniShop3
  3. Разработка
  4. Web API
  5. Каталог

Каталог

Публичные эндпоинты без customer token. Тот же набор данных, что у витрины SSR.

Product

МетодПутьНазначение
GET/product/get/{id}Товар по ID
GET/product/getResolve: query alias или uri, опционально context
GET/product/listСписок / PLP
GET/product/filtersФасеты (те же фильтры, что list)
GET/product/{id}/imagesГалерея

Query для get / resolve: context, include_images (0|1, default 0), include_seo (default 1).

Query для list (основные):

ПараметрСмысл
parent / categoryID категории (BC; игнорируется, если задан parents)
parentsCSV / массив ID категорий (OR + members)
nested0|1 раскрыть дерево при parents
price_min, price_maxДиапазон цены
in_stock, stock_minНаличие
vendor_id, new, popular, favoriteФлаги / производитель
optionsJSON опций
limit, offset / pageПагинация
sort, dir, query, contextСортировка и поиск
include_options, include_content, include_imagesВложения (include_images default 0, cap 10 файлов на товар)

Ответ list: { items, total, limit, offset } внутри data.

filters: те же фильтры list + keys, include_price (default 1), include_vendors (default 0).

Поля товара режутся allowlist в ProductCatalogService.

Category

МетодПутьНазначение
GET/category/get/{id}Категория по ID
GET/category/getResolve по alias / uri
GET/category/listСписок
GET/category/treeДерево

ACL групп ресурсов

Настройка ms3_web_catalog_respect_resource_groups: если включена, публичный каталог скрывает товары и категории из групп ресурсов MODX с ACL для контекста запроса (анонимный MVP). Выключите, чтобы вернуть поведение до #659 / #666.

Пример

bash
curl -sS 'https://shop.example/assets/components/minishop3/api.php?route=/api/v1/product/list&parents=10&limit=20'

См. также Примеры, Frontend: каталог.