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

Каталог ​

Публичные эндпоинты, API-токен не нужен. Набор данных тот же, что у фронтенда с серверной отрисовкой (SSR).

Product ​

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

Параметры запроса для get и resolve: context, include_images (0|1, по умолчанию 0), include_seo (по умолчанию 1).

Основные параметры запроса для list:

ПараметрСмысл
parent / categoryID категории (оставлен для совместимости; игнорируется, если задан 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 по умолчанию 0, не более 10 файлов на товар)
include_seoSEO-блок; у list по умолчанию 0, у get — 1

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

filters: те же фильтры, что у list, плюс keys, include_price (по умолчанию 1), include_vendors (по умолчанию 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 для контекста запроса.

Проверка учитывает и анонимных посетителей, и авторизованных покупателей: гостю ищется разрешение, выданное без привязки к пользователю, а покупателю добавляются группы, выведенные из msCustomerGroup через ACL групп пользователей MODX. Членство считается по принципу «хотя бы одна»: документ остаётся видимым, если доступ даёт любая из его групп, даже когда другая закрыта.

Выключите настройку, чтобы каталог отдавал товары без оглядки на группы ресурсов.

Пример ​

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

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