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

Дата релиза: 21 апреля 2026
Первый публичный релиз ms3PromoCode — промо-коды для MiniShop3.
msOrderProduct.price. Чек 54-ФЗ, email-уведомления и личный кабинет покупателя показывают корректные суммы автоматически без доработок шаблонов.modx_ms3_products с операторами =, !=, <, <=, >, >=, IN, NOT IN, BETWEEN, LIKE, CONTAINS.scheduled, expired, exhausted, disabled.disabled → not_found для покупателя — факт существования отключённого кода не раскрывается.# цифра, ? буква, * оба, литералы.0/O, 1/I/L).ms3PromoCodeForm с SSR-hydration — нет «мигания» формы при загрузке страницы.ms3promocode_form, переопределяемый через &tpl.window.ms3PromoCode — apply, remove, validate, current, события.[data-ms3-promocode="form"].assets/components/ms3promocode-overrides/ для замены любых ассетов без правок пакета.msOnAddToCart / msOnChangeInCart / msOnRemoveFromCart — пересчёт скидки при любом изменении корзины.msOnCreateOrder — фиксация применения в ms3_promo_code_usages.msOnChangeOrderStatus — автоматический откат / восстановление при переходе в отменённые статусы.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/Product/Search, Mgr/Category/Search, Mgr/Vendor/GetList, Mgr/ProductData/GetFields, Mgr/ProductOption/{GetKeys,GetValues}.Mgr/Analytics/{GetKpi,GetLog}.metrics.modx.pro для улучшения совместимости. Без персональных данных, домена и IP.