Разработка функционала предоставления скидки для компании ООО «АРТИС 21»

Компания «АРТИС» основана в 2000 году и на протяжении 22 лет создает корпусную мебель, стремясь превосходить все ожидания клиентов. Один из ведущих производителей корпусной мебели в России.

«АРТИС» в цифрах:

Проблема

Пользователи не могли использовать дисконтную карту при оформлении заказа. Нужно было внедрить такой функционал. Личность покупателя должна подтверждаться с помощью кода, отправленного по SMS. После ввода номера карты и кода стоимость заказа должна меняться с учетом скидки.

Решение

Мы настроили передачу данных с сайта в 1C для проверки введенных данных и полученных данных с уже существующего API, а также для их подтверждения.

Как это работает?

В Корзине перед началом оформления заказа пользователь выбирает номинал его дисконтной карты: Стандарт, Серебро, Платина и т.п. и вводит номер карты.

После выбора номинала, пользователь вводит номер своей дисконтной карты в соответствующее поле.

Далее пользователю приходит SMS для подтверждения, полученный код вводится на сайте.

В случае успешной проверки к заказу в корзине применяется скидка.

Реализация

Реализован скрипт на сайте, который отправляет запрос в 1С и передает туда серию и номер карты. Доработан компонент Ajax для подтверждения введенных данных в соответствии с полученными данными от API (проверочный код и номинал).

На стороне 1С выполняется поиск по серии и номеру карты в базе (работа 1С настроена на стороне заказчика).

Если поиск выполнен успешно, 1С отправляет СМС на привязанный к карте номер телефона (случайный числовой код для подтверждения).

Если карта найдена и СМС отправлено, то на сайт в ответ приходит подтверждение в виде номера телефона, на который отправлено сообщение и проверочный код.

Пользователю в этом случае предложено ввести проверочный код.

Если код неверный, пользователя попросят ввести код повторно.

Если код совпадает с тем, что он получил на телефон, то происходит начисление скидки и переход на следующую страницу корзины.

Если карта не найдена, то пользователю показывается сообщение «Номер карты не найден в базе, либо не соответствует выбранному номиналу» и сбрасываются вводимые данные для оформления без указания дисконтной карты.

Если сервис не доступен, то продолжаем оформлять заказ без скидки и сообщаем пользователю «Сервис подтверждения дисконтной карты временно не доступен сообщите данные вашей карты оператору при согласовании заказа».

Функционал дополнен вторым методом: после подтверждения пользователем кода сайт отправляет в 1С номер телефона и введенный пользователем код, для того, чтобы на стороне заказчика был зафиксирован факт успешной проверки.

В ходе реализации учтено, что на дисконтных картах компании на пластике напечатаны с лидирующими нулями, т.е. карта 63449 будет напечатана как 063449. Поэтому в поле для ввода номера дисконтной карты автоматически убираются первые нули.

По просьбе заказчика на случай, если возникнут проблемы с сервисами СМС, реализована возможность отключить функционал подтверждения.

Дополнительно в режиме Администрирования можно менять само сообщение о недоступности сервиса.

В самих заказах добавлены номер дисконтной карты и общая скидка.

В шаблоне письма также добавили информацию о карте и скидке.

Итоги работы

Реализованный функционал позволяет обладателям дисконтных карт быстро применить скидку к заказу в корзине.

Перед применением скидки на сайте выполняется проверка подлинности вводимых данных посредством SMS подтверждения.

Заказать