Интернет-магазин на InSales нашего клиента предлагает своим покупателям выбор из 7-ми тарифов Почты России (и это наряду с другими курьерскими и транспортными компаниями!). Выбор — это хорошо, но когда перед глазами куча тарифов с непонятными названиями, покупатели впадают в ступор.
У клиента возникла идея показывать только два варианта — самые недорогие тарифы с доставкой в почтовое отделение и курьером. Нам осталось это удобно реализовать.
Ограничения платформы InSales
Каждый тариф технически заводится в InSales как отдельный способ доставки. По нему затем идёт запрос в наш интеграционный сервис, который и делает всю работу по расчёту.
Нам нужно было не только оставить для пользователя по одному тарифу из каждой группы, но и назвать их более понятно — не «ЕКОМ маркетплейс», а «Доставка в почтовое отделение».
Первая мысль — просто переименовать все заведённые тарифы в админке InSales, но это плохая идея, ибо получим много тарифов с одинаковым названием, а менеджерам магазина часто нужно корректировать тариф в заказе или оформлять заказ самостоятельно.
В итоге решили подменять название реального тарифа в чекауте при оформлении заказа «на лету» и скрывать полученные более дорогие тарифы.
Делаем удобно не только покупателям, но и менеджерам
Решение подменять названия тарифов было правильным, но менеджеры часто оформляют заказы через тот же чекаут, а не админку, и для них нужно было дать возможность сознательного выбора тарифа.
Логично было заложить возможность системе «узнавать» конкретных пользователей-менеджеров и возвращать им старый интерфейс. Однако, такое решение было бы довольно сложным в тестировании и отладке, и мы придумали универсальный для всех интерфейс.
Доставку в почтовое отделение и доставку курьером сделали группой тарифов, внутри которых скрывались конкретные почтовые тарифы. Визуально группа почти ничем не отличается от одного из тарифов, поэтому для пользователей интерфейс остался привычным и интуитивно понятным.
Но при клике по псевдоссылке «Тарифы» можно развернуть все тарифы конкретной группы и выбрать иной почтовый тариф. В основном такой возможностью будут пользоваться менеджеры, но если и обычный покупатель сознательно изменит тариф, это не будет проблемой. Большинство же покупателей не станут вникать в сложную систему и выберут либо доставку до почтового отделения, либо доставку курьером.
Отладка и запуск в эксплуатацию
Интерфейсная идея оказалась простой и логичной. Однако, на практике мы столкнулись с целым рядом проблем при отладке:
- при изменении географии не всегда выбирался оптимальный тариф;
- иногда выбор группы не приводил к смене выбранного способа доставки в чекауте;
- определённые действия пользователя приводили к проблемам с JS-скриптами, которые отвечали за другие курьерские службы;
- и т.п.
Но это нормальная ситуация при отладке участка кода со сложной логикой. В итоге на отладку ушло порядка 40% времени общей разработки, но мы получили удобный и стабильный результат.
Кроме того, мы внесли изменения и в несколько других интерфейсов магазина — карточку товара, в которой также происходит предварительная оценка стоимости доставки, и на страницу оформленного заказа.
Сейчас новый функционал работает «на бою» без проблем и жалоб со стороны пользователей.