Подпишись
и получай крутые статьи первым
Выберите рассылку
Нет, спасибо
Подпишись
18.05.2021 Статьи 7 мин

Как быстро отображать актуальные данные на сайте

Владимир Скороглядов

Backend

Стандартная интеграция 1С с Битрикс предусматривает обмен каталогом товаров и заказами интернет-магазина. Иногда у заказчика появляется потребность в обмене между 1С и Битрикс принципиально другой информацией.

Это могут быть какие-то дополнительные параметры или свойства: количество баллов в бонусной программе, статус покупателя в бонусной программе и др. Также эта информация нередко связана с продажами не на сайте, а в офлайн-магазинах.

Чаще всего такие данные хранятся и обрабатываются в 1С. Но эта информация является значимой для покупателя, поэтому важно отображать актуальные данные на сайте — в личном кабинете, при оформлении заказа и т. д.

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

В связи с этим актуальна задача оперативного запроса с сайта к 1С, чтобы получить актуальную информацию. Подобные задачи решает развертывание web-сервиса как интерфейса между сайтом и 1С, а также определение правил обмена информацией между системами.

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

Бонусная программа для интернет-магазина строительных материалов

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

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

Подключение посетителей сайта к бонусной программе должно было произойти либо в случае заполнения анкеты на сайте, либо в случае онлайн-покупки на заданную сумму.

1+1

Онлайн-анкета бонусной программы

Таким образом, нужно было реализовать следующие функции:

1.    Отправлять в 1С регистрационные данные покупателя: ФИО, номер телефона, email.

2.    Отправлять в 1С дополнительные анкетные данные: где ведется строительство (в городе, деревне или на даче), что из стройматериалов интересует, откуда узнал о бонусной программе и др.

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

4.    Запрашивать в 1С актуальное количество бонусных баллов сразу после авторизации покупателя на сайте.

Как реализовано

Интерфейсом между сайтом и 1С выступил развернутый 1С-специалистами веб-сервис с возможностью доступа к нему по протоколу SOAP. Соответственно, на стороне сайта требовалось организовать соединение с веб-сервисом и корректную отправку и прием данных. Структуру данных адаптировали под бизнес-процессы в результате совместного обсуждения с клиентом.

Соединение сайта с web-сервисом организовано по протоколу SOAP в режиме WSDL с помощью PHP-расширения. Выглядит это примерно так:

$client = new SoapClient('https://111.111.111.111:11/webservice/service?wsdl', array('login'=>'login', 'password' => ‘passw’,'cache_wsdl' => WSDL_CACHE_NONE, 'trace' => true, 'features' => SOAP_USE_XSI_ARRAY_TYPE));

$arData=array('data'=>$jsnData);

$obDataFromServicet=$client->PutKlient($arData);

Обмен данными происходит в формате JSON. Сайт отправляет JSON web-сервису и получает JSON обратно. После этого в зависимости от полученного ответа выполняет запланированные действия.

Схема обмена данными для бонусной программы

Интерфейсом между сайтом и 1С выступил развернутый 1С-специалистами веб-сервис с возможностью доступа к нему по протоколу SOAP. Соответственно, на стороне сайта требовалось организовать соединение с веб-сервисом и корректную отправку и прием данных. Структуру данных адаптировали под бизнес-процессы в результате совместного обсуждения с клиентом.

Соединение сайта с web-сервисом организовано по протоколу SOAP в режиме WSDL с помощью PHP-расширения. Выглядит это примерно так:

Решенные бизнес-задачи:

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

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

3.    Обеспечили отображение на сайте актуальной информации о количестве бонусов.

Раздел услуг на сайте торговой сети шин и автозапчастей

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

  • Параметр
  • Параметр
  • Параметр
  • Параметр
  • Параметр

Необходимо было создать раздел для клиентов, чтобы выбирали конкретные услуги, свой авто, сервисную точку, дату и время оказания услуги.

Были реализованы следующие функции:

В форме заказа клиент может выбрать свою модель авто (это необходимо менеджерам), нужные услуги — и сразу видеть стоимость.

Выбирает адрес оказания услуги, дату и время.

Заявка отправляется в 1С и встает в очередь в системе оказания сервисных услуг.

Как реализовано:

В этом случае заявки нельзя было оформить как стандартные заказы Битрикса, так как:

— Нужна актуальная информация по свободным слотам: временным интервалам по датам, в которые по конкретному адресу могут быть оказаны конкретные услуги;

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

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

Поэтому процесс происходит так:

1. Когда пользователь загружает страницу, мы забираем от 1С данные об автомобилях (марки и модели), услугах, сервисных точках. Данные берем не каждый раз, а кэшируем на какое-то время, чтобы не обращаться к веб-сервису часто.

В этих же данных есть связи между услугами и точками: не каждая услуга может быть оказана на любой станции.

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

3. Когда пользователь выбирает адрес, сайт отправляет запрос на веб-сервис, чтобы получить актуальное расписание (свободные дата-время) на станции. Получает ответ и рассчитывает, какие временные слоты можно предложить клиенту (с учетом свободных интервалов и времени, которое в сумме занимает оказание выбранных пользователем услуг).

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

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

Решенные бизнес-задачи:

Создали канал коммуникации, который позволил продавать и автоматизированно организовывать бронирование и запись клиентов по сервисным автомобильным услугам.

Обратная связь
Напишите нам, и мы с вами свяжемся

Теги:Статьи

Возможно, вам понравится:

Let's Rock, 2012-2020. Разработка, поддержка и развитие интернет-магазинов. Золотой партнер 1С-Битрикс и активный член авторитетного клуба e-Commerce Сибирь.