Skip to content
  1. Extras
  2. MiniShop3
  3. Development
  4. Web API
  5. Catalog

Catalog

Public endpoints without a customer token. Same data set as the SSR storefront.

Product

MethodPathPurpose
GET/product/get/{id}Product by ID
GET/product/getResolve: query alias or uri, optional context
GET/product/listList / PLP
GET/product/filtersFacets (same filters as list)
GET/product/{id}/imagesGallery

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

Query for list (main):

ParameterMeaning
parent / categoryCategory ID (BC; ignored if parents is set)
parentsCSV / array of category IDs (OR + members)
nested0|1 expand tree when using parents
price_min, price_maxPrice range
in_stock, stock_minStock
vendor_id, new, popular, favoriteFlags / vendor
optionsOptions JSON
limit, offset / pagePagination
sort, dir, query, contextSort and search
include_options, include_content, include_imagesEmbeds (include_images default 0, cap 10 files per product)

List response: { items, total, limit, offset } inside data.

filters: same filters as list + keys, include_price (default 1), include_vendors (default 0).

Product fields are trimmed by an allowlist in ProductCatalogService.

Category

MethodPathPurpose
GET/category/get/{id}Category by ID
GET/category/getResolve by alias / uri
GET/category/listList
GET/category/treeTree

Resource group ACL

Setting ms3_web_catalog_respect_resource_groups: when enabled, the public catalog hides products and categories in MODX resource groups with ACL for the request context (anonymous MVP). Disable to restore pre-#659 / #666 behavior.

Example

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

See also Examples, Frontend: catalog.