Затраченное время 17 часов 49 минут


Интернет-магазин на InSales нашего клиента предлагает своим покупателям выбор из 7-ми тарифов Почты России (и это наряду с другими курьерскими и транспортными компаниями!). Выбор — это хорошо, но когда перед глазами куча тарифов с непонятными названиями, покупатели впадают в ступор.

У клиента возникла идея показывать только два варианта — самые недорогие тарифы с доставкой в почтовое отделение и курьером. Нам осталось это удобно реализовать.

Ограничения платформы InSales

Каждый тариф технически заводится в InSales как отдельный способ доставки. По нему затем идёт запрос в наш интеграционный сервис, который и делает всю работу по расчёту.

Нам нужно было не только оставить для пользователя по одному тарифу из каждой группы, но и назвать их более понятно — не «ЕКОМ маркетплейс», а «Доставка в почтовое отделение».

Первая мысль — просто переименовать все заведённые тарифы в админке InSales, но это плохая идея, ибо получим много тарифов с одинаковым названием, а менеджерам магазина часто нужно корректировать тариф в заказе или оформлять заказ самостоятельно.

В итоге решили подменять название реального тарифа в чекауте при оформлении заказа «на лету» и скрывать полученные более дорогие тарифы.

Делаем удобно не только покупателям, но и менеджерам

Решение подменять названия тарифов было правильным, но менеджеры часто оформляют заказы через тот же чекаут, а не админку, и для них нужно было дать возможность сознательного выбора тарифа.

Логично было заложить возможность системе «узнавать» конкретных пользователей-менеджеров и возвращать им старый интерфейс. Однако, такое решение было бы довольно сложным в тестировании и отладке, и мы придумали универсальный для всех интерфейс.

Доставку в почтовое отделение и доставку курьером сделали группой тарифов, внутри которых скрывались конкретные почтовые тарифы. Визуально группа почти ничем не отличается от одного из тарифов, поэтому для пользователей интерфейс остался привычным и интуитивно понятным.

Но при клике по псевдоссылке «Тарифы» можно развернуть все тарифы конкретной группы и выбрать иной почтовый тариф. В основном такой возможностью будут пользоваться менеджеры, но если и обычный покупатель сознательно изменит тариф, это не будет проблемой. Большинство же покупателей не станут вникать в сложную систему и выберут либо доставку до почтового отделения, либо доставку курьером.

Отладка и запуск в эксплуатацию

Интерфейсная идея оказалась простой и логичной. Однако, на практике мы столкнулись с целым рядом проблем при отладке:

  • при изменении географии не всегда выбирался оптимальный тариф;
  • иногда выбор группы не приводил к смене выбранного способа доставки в чекауте;
  • определённые действия пользователя приводили к проблемам с JS-скриптами, которые отвечали за другие курьерские службы;
  • и т.п.

Но это нормальная ситуация при отладке участка кода со сложной логикой. В итоге на отладку ушло порядка 40% времени общей разработки, но мы получили удобный и стабильный результат.

Кроме того, мы внесли изменения и в несколько других интерфейсов магазина —  карточку товара, в которой также происходит предварительная оценка стоимости доставки, и на страницу оформленного заказа.

Сейчас новый функционал работает «на бою» без проблем и жалоб со стороны пользователей.




Есть вопросы?