Компания «ТД ТИНКО»: оптимизация процесса заказа на сайте поставщика систем безопасности.

Заказчик
Компания «ТД ТИНКО» — дистрибьютор российских и зарубежных брендов оборудования систем безопасности.
Задача
Оптимизация заказа типовых комплектов из PDF-каталога, интеграция с поисковой системой Elasticsearch, настройка расчета доставки.

Цель проекта

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

Задачи проекта

  1. Внедрить на сайт заказы комплектов из PDF-каталога типовых решений.
  2. Перенести поиск по сайту на поисковую систему Elasticsearch.
  3. Настроить расчет доставки так, чтобы клиент видел стоимость и срок поставки сразу по всем транспортным компаниям.

Стек технологий

1С-Битрикс, Vue, ElasticSearch.


ЗАДАЧА 1. ВНЕДРИТЬ НА САЙТ ЗАКАЗЫ КОМПЛЕКТОВ ИЗ PDF-КАТАЛОГА ТИПОВЫХ РЕШЕНИЙ

Проблема

Системы безопасности — это технически сложные решения, их подбор и инсталляция требуют высокой квалификации. В помощь своим клиентам «ТД ТИНКО» раз в год выпускает журнал с типовыми решениями. Каждое решение содержит комплект оборудования под определенную задачу, например, устройство системы видеонаблюдения магазина. Проектировщики, интеграторы и монтажные организации используют эти решения для создания систем безопасности.


Типовое решение системы видеонаблюдения для магазина


Проблема была в том, что типовые решения находились в журнале в PDF-формате. По ним не было поиска на сайте, а комплект оборудования из решения невозможно было добавить в корзину покупателя. Типовые комплекты существовали только в базе 1С, поэтому клиентам приходилось звонить в офис и оформлять заказ по телефону. Это было неудобно и отнимало время у клиентов и сотрудников «ТД ТИНКО».

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

Технически задача выглядела так:

  • Спроектировать обмен, чтобы специалисты по 1С могли выполнить работу по формированию файлов выгрузки для сайта.
  • Запрограммировать импорт типовых решений на стороне сайта.
  • Доработать обмен заказами, дополнив выгрузку типовыми решениями.
  • Запрограммировать на сайте разделы и механизмы, которые позволят покупать новый вид товаров.

Реализация

Сайт «ТД ТИНКО» работает на 1С-Битрикс. И в 1С и в Битриксе есть понятие комплекта. При этом обе системы понимают под этим одно и то же — товар, который для пользователя выглядит одним товаром, а для учетной системы — несколькими. Проблема в том, что 1С и Битрикс не умеют обмениваться этими данными.

Стандартные модули обмена в этих системах не поддерживают выгрузку комплектов на сайт. Нам нужно было разработать модуль на основе XML-выгрузки силами своей команды. Что мы и сделали.

Теперь стала доступна выгрузка из 1С на сайт всей информацию о типовых решениях:

  • описания;
  • изображения;
  • свойства для фильтрации;
  • мета-информация для редактора типовых решений.


Как решение работает в структуре данных сайта

Данные из XML-файлов импортируются в инфоблоки, аналогично прочим товарам. У типовых решений есть свойства, цены, перечень оборудования и вспомогательная мета-информация.

Программа 1С ежедневно формирует XML-файл с типовыми решениями. На сайте есть CRON-задача, которая проверяет наличие файла и по FTP загружает его на сайт.


Типовое решение, готовое для заказа


Клиенты «ТД ТИНКО» не всегда оформляют заказы на сайте. Они могут сделать это в офисе или по телефону. Чтобы такие заказы отображались в личных кабинетах на сайте, мы запрограммировали импорт заказов, созданных офлайн на стороне 1С. Эти заказы отображаются на сайте в режиме «только для чтения». Пользователь видит ход выполнения заказа, но не может внести в него изменения:

Результат

Для удобства пользователей все решения на сайте разбиты под сферы применения

Страница сайта с типовыми решениями под разные задачи


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

 Выбор типового решения

 

 Изменение состава типового решения

 
Проект мы делали в 2018 году, сейчас работаем над другими задачами. Количество затраченных часов за 2021 год — 1746, или 150 часов ежемесячно.


З
АДАЧА 2. ПЕРЕНЕСТИ ПОИСК ПО САЙТУ НА ПОИСКОВУЮ СИСТЕМУ ELASTICSEARCH

Проблема

На старой версии сайта поиск был реализован через самописные запросы к базе данных. Решение было создано на MySQL и отлично работало на небольших и средних базах данных. Однако у компании «ТД ТИНКО» высоконагруженный сайт: объемы данных и количество поисковых запросов постоянно увеличиваются. MySQL не предназначен для таких задач. Он часто вел себя непредсказуемо из-за множества одновременных запросов к базе. Для поиска товара в большой номенклатуре со сложной логикой нужно было другое решение.

Реализация

Для оптимизации поиска мы предложили внедрить Elasticsearch. Это одна из самых популярных поисковых систем. Elasticsearch — масштабируемая утилита полнотекстового поиска и аналитики. Она в режиме реального времени хранит, ищет и анализирует большие объемы данных. В отличие от решения на MySQL, Elasticsearch быстро и легко находит товары, написанные с опечатками или в других формах.

Результат

Снизили время ответа на поисковый запрос до 200 миллисекунд

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

Оптимизировали поддержку актуального индекса

Индекс актуализируется за 20 секунд, а добавление товара в индекс занимает 0,3 секунды.

Внедрение новых оплат упростило платежи, а их количество выросло на 2%.

Доработали логику поиска по сайту и сделали его удобнее

А также расширили функциональные возможности поиска и добавили:

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


З
АДАЧА 3. НАСТРОИТЬ РАСЧЁТ ДОСТАВКИ ТАК, ЧТОБЫ КЛИЕНТ ВИДЕЛ СТОИМОСТЬ И СРОК ПОСТАВКИ СРАЗУ ПО ВСЕМ ТРАНСПОРТНЫМ КОМПАНИЯМ

Проблема

Компания «ТД ТИНКО» работает с пятью ТК. При заказе пользователь отправляет запрос, а каждая ТК  делает свой расчет. Время расчета у всех компаний разное, поэтому результат по всем ТК в среднем занимает одну минуту. По меркам пользователей, минута ожидания — это вечность. Нужно было оптимизировать и ускорить процесс расчета.

Реализация

Мы изучили документацию API пяти служб доставки и все нюансы обмена информацией. Запрос пользователя с сайта отправляется одновременно в пять ТК, а ответы обрабатываются параллельно. Время обработки ответа от каждой ТК мы ограничили 30 секундами. Если за этот период ответ от какой-либо ТК не пришел, то пользователь увидит только 4 результата. Выберет ТК из текущего списка и быстрее оформит заказ.

Для определения адресов мы используем сервисы КЛАДР и ФИАС, а для удобства пользователей подключили сервис подсказок DaData. Он выдает подсказки по отдельным частям адреса и упрощает поиск.

Результат

  • Покупатель начинает вводить адрес, а сервис DaData помогает найти его быстрее.
  • Запросы и обработка ответов выполняются параллельно, поэтому через несколько секунд пользователь увидит результаты.
  • Время обработки запроса не превышает 30 секунд.
  • У покупателя будет положительный пользовательский опыт: он быстро выберет службу доставки и оформит заказ.

Перейти на сайт

В карточку агентства

Письмо автору кейса

Пользуйтесь реальным опытом в IT и следите за успехами потенциальных подрядчиков и конкурентов
Подпишитесь на рассылку
Читайте также
Кейсы по теме#Услуги для бизнеса и потребителей