Category and brand promotions (catalogue price rules)

ps_manage_catalog_price_rules

Write · preview + approveBlock 2 · Commerce (off by default)Paid version onlyDaily connectorBlock off after install

Puts one discount on whole categories or brands at once, and it also covers products you add later.

Free TellMyShop Audit: No. This tool is only in the paid version of TellMyShop. The free TellMyShop Audit has only tools that read your store.

Ask Claude

„Black Friday: 20% off all wellies and raincoats from Friday 00:00 to Monday 23:59.”

Example preview

New rule "Black Friday – wellies and raincoats -20%": categories 31 Wellies, 32 Raincoats (with subcategories), -20%, 2026-11-27 00:00 to 2026-11-30 23:59, all customer groups. 86 products. Example: Wellies Dots 149.00 -> 119.20 PLN gross. Warning: 4 products already have a promotion, PrestaShop applies only one.

Technical details

A promotion for many products at once: whole categories (with subcategories), manufacturers, feature values, as a PrestaShop catalogue price rule. Use it instead of ps_manage_specific_prices when more than a few products are involved: one rule, and PrestaShop applies it to products added later too. action=list shows rules with conditions and the number of products covered; action=add creates a rule; action=delete removes one (rule_id). Conditions: the product must be in ANY of category_ids AND (if given) have ANY of manufacturer_ids AND (if given) any of feature_value_ids. Discounts don't add up: when a product has several promotions PrestaShop picks one (the preview warns). The preview shows the number of products and sample prices before and after.

Parameters

NameTypeRequiredDescription
actionenum: list | add | deleteyeslist | add | delete.
shop_idintegernoShop ID in a multistore installation. Defaults to the shop in the connector address. IDs are listed by ps_get_shop_info.
langstringnoISO language code, for example pl or en. Defaults to the shop's default language.
namestringwhen: action=addadd: rule name (shown in the back office, for example "Black Friday – wellies -20%"). Max 255 characters.
category_idsarray of integernoadd: categories (IDs from ps_get_category_tree). Max 50 items.
include_subcategoriesbooleannoadd: also cover subcategories (on its own PrestaShop counts only products assigned directly to the category). Default true.
manufacturer_idsarray of integernoadd: manufacturers (brands). Max 50 items.
feature_value_idsarray of integernoadd: feature values (IDs from ps_list_features). Max 50 items.
whole_shopbooleannoadd: a rule for ALL products of the shop (no conditions), only on explicit request. Default false.
reduction_typeenum: percentage | amountwhen: action=addadd: percentage or amount discount.
reductionnumberwhen: action=addadd: a percentage (20 = 20%) or an amount in the shop currency. Max 1,000,000.
tax_includedbooleannoadd: an amount discount applies to the gross price (default) or the net price.
date_fromstring (YYYY-MM-DD)noadd: start (default now), YYYY-MM-DD.
date_tostring (YYYY-MM-DD)noadd: end (inclusive). No date = no end, YYYY-MM-DD.
time_fromstring (HH:MM)noadd: start time (HH:MM). Default 00:00.
time_tostring (HH:MM)noadd: end time (HH:MM). Default 23:59.
customer_group_idintegernoadd: only for a customer group (0 = all). Default 0.
from_quantityintegernoadd: from how many units of the product in the cart. Default 1.
allow_big_changebooleannoadd: allow a discount above 90% (after the user confirmed). Default false.
rule_idintegerwhen: action=deletedelete: rule ID from action=list.
only_currentbooleannolist: only running and scheduled rules (no finished ones). Default false.
limitintegernoMaximum rows (default 50, max 200).
confirmbooleannofalse (default) returns a preview and saves nothing. true executes, only after the user approved the preview, together with change_token.
change_tokenstringwhen: confirm=trueToken from the preview. Required with confirm=true. Valid 30 minutes, single use, bound to the previewed arguments and data state.

Limits

Up to 50 categories, manufacturers and feature values each. Discount above 50%: warning; above 90%: needs allow_big_change. whole_shop only on explicit request. List max 200 rows (default 50). It is a write tool, so in read-only mode it is hidden, list included. Revertible with ps_revert_change.

What you see before anything is saved

Claude first calls the tool without confirming it. The module returns a preview (current and new values) and a single-use token valid for 30 minutes. Claude shows you the preview and saves the change only after your yes.

Related tools

Use cases with this tool

Last updated: 2026-10-05