
ms3PromoCode
Промо-коды для MiniShop3 с гибкими правилами, генерацией по маске и интеграцией в позиции заказа
- MODX 3
- PHP 8.2
- miniShop3


Дата релиза: 21 апреля 2026
Первый публичный релиз ms3PromoCode — промо-коды для MiniShop3.
msOrderProduct.price. Чек 54-ФЗ, email-уведомления и личный кабинет показывают корректные суммы без правок шаблонов.modx_ms3_products с операторами =, !=, <, <=, >, >=, IN, NOT IN, BETWEEN, LIKE, CONTAINS.scheduled (ещё не начался), active (штатное окно), expired, exhausted, disabled.disabled маскируется как not_found — факт существования отключённого кода не раскрывается.# — цифра 0–9, ? — буква, * — буква или цифра, литералы.? не выдаёт O/I/L, * — ещё и 0/1.ms3promocode.lock_statuses.ms3PromoCodeForm с SSR-гидратацией — форма не «мигает» при загрузке страницы.ms3promocode_form, переопределяемый через &tpl.window.ms3PromoCode — apply, remove, validate, current, события.[data-ms3-promocode="form"].assets/components/ms3promocode-overrides/ — замена ассетов (CSS, UI, headless) без правок пакета.ms3promocode.frontend_assets_preset (core_ui / core / none) управляет набором подключаемых ассетов — для SPA-страниц или собственной сборки.msOnAddToCart, msOnChangeInCart, msOnChangeOptionInCart, msOnRemoveFromCart — пересчёт скидки при любом изменении состава или опций корзины.msOnCreateOrderProduct, msOnUpdateOrderProduct, msOnRemoveOrderProduct — пересчёт скидки при правке позиций заказа через стандартные процессоры MODX.msOnCreateOrder — фиксация применения в ms3_promo_code_usages.msOnChangeOrderStatus — откат применения при переходе в статусы из ms3promocode.cancel_statuses и восстановление при возврате.fetch (обходное решение для отсутствующих событий, см. MiniShop3#207).ms3promocode_auto_remove в msOrderLog при автоматическом снятии кода.| Метод | Путь | Назначение |
|---|---|---|
| POST | /api/v1/promo/apply | Применить код к корзине |
| POST | /api/v1/promo/remove | Снять применённый код |
| POST | /api/v1/promo/validate | Проверить код без записи |
| GET | /api/v1/promo/current | Получить текущий применённый код |
Авторизация, CORS и rate limiting наследуются от MS3-роутера.
Собственный коннектор для админки с процессорами:
Mgr/PromoCode/{GetList,Get,Create,Update,Remove,Generate,PreviewMask}.Mgr/Order/{ApplyPromo,RemovePromo,GetPromo,Resync}.Mgr/Analytics/{GetKpi,GetLog}.Mgr/Product/Search, Mgr/Category/Search, Mgr/Vendor/GetList, Mgr/ProductData/GetFields, Mgr/ProductOption/{GetKeys,GetValues}.metrics.modx.pro — для улучшения совместимости. Без персональных данных, домена и IP.