Занимаясь разработкой сайтов зачастую приходится переносить очень интересные решения на БУС. И благодаря работе отдела маркетинга последнее время все чаще клиенты просят уйти от "кучи ненужного кода" и реализовать их логику не нарушая работы стандартных механизмов БУС'а. Это была преамбула, а сейчас будет немного эпик-фейлов.
При разработке выяснилось, что документация по созданию своих правил, условий и действий в Скидках и Правилах корзины просто отсутствует. Не беда - работаем по-старинке: ковыряем ядро. А дальше встает эпик-фейл: до момента создания заказа НЕЛЬЗЯ вытащить все примененные скидки.
То есть, что это означает по-факту:
1) Вы не можете сообщить клиенту: добавь этот товар к заказу и получишь подарок или возьми 2 получи скидку
2) Вы не можете интегрировать внешний механизм скидочных карт, потому что Вы не знаете какие правила корзины будут выполнены ДО момента их выполнения
3) Вы не можете произвести отладку системы, так как цена изменилась, но сигнализировать почему она изменилась Вы не можете. Т.е. выбрал новый тип доставки -> изменилась цена. Все понятно.
Добавил еще 1 товар и цена может измениться как в бОльшую сторону (например менеджер ошибся при заведении скидки и установил что за 2 товара Х - наценка 10%, тогда при покупке 2-х товаров по 100 рублей, клиент увидит не 200, а 220 и не узнает почему и будет жаловаться, а разработчик будет отлаживать данный механизм очень долго).
4) Нельзя проводить аналитику брошенных корзин - как узнать, что наличие акции Х в январе увеличивает показатель брошенных корзин на 5% ? Нет, можно понять если в январе только эта акция, а если их 10? А если 50? То есть нужно составлять полное исследование ВСЕХ брошенных корзин чтобы это понять.
Предложение звучит следующим образом:
1) Храните (или позвольте хранить) примененные правила корзины к конкретной корзине/неоформленному заказу. Можете считать из последнего заказа, можете "выбирать первый", если неизвестно.
2) Напишите документацию по расширению сценариев. Это очень нужно!