Виртуальная дисконтная карта на OneScript




В статье рассмотрены возможности http-сервисов OneScript для создания бизнес-приложений, на примере демонстрационной конфигурации, реализующей функционал виртуальной дисконтной карты.

Введение

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

Поскольку создание и сопровождение специализированных мобильных приложений, интегрированных с учетной системой достаточно дорого, мы попробуем создать простой сервис, реализующий функционал “виртуальной” карты покупателя, используя в качестве платформы http-сервисы OneScript.

Системные требования

Компьютер под управлением Windows 7 или более поздней версии.

Установленный .NET Framework версии 4.5.2 или более поздней.

Платформа 1С:Предприятие версии не ниже 8.3.6.1977.

Описание

Приложение пользователя (frontend)

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

Серверная часть (backend)

Поскольку наш сервис должен быть полностью автоматическим, в качестве технологии общения с клиентом был использован функционал ботов Telegram. Соответственно функционал нашего бота был реализован с использованием http-сервисов OneScript.

Подключение к сервису

Предварительным условием для использования сервиса, является наличие установленного клиента Telegram на смартфоне клиента.

Подключение к сервису представляет собой поиск и запуск соответствующего бота. В нашем демонстрационном сервисе – это бот ВКартаДемо.

 

Функционал сервиса

Наш демонстрационный сервис должен обеспечивать нижеследующие функции:

Создание новой “виртуальной” карты

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

 

Получение идентификатора карты для совершения покупок

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

 

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

 

Детали реализации

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

Telegram

Для оповещения http-сервиса об обновлениях используется механизм web-хуков.

Базовая конфигурация

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

Библиотеки

Для работы с json используется немного доработанная библиотека на основе этой публикации.

Для генерации изображений штриховых кодов используется демонстрационная библиотека для OneScript, созданная на основе этой публикации. Данная библиотека оформлена в виде обработки. Ее объекты находятся в подсистеме БиблиотекаDemoBarcodeLib. Для разработки и отладки в среде 1С:Предприятие, необходимо выгрузить и разархивировать содержимое общего макета COMОбъектБиблиотекаDemoBarcodeLib, а также зарегистрировать библиотеку DemoBarcodeLibCom.dll как com-объект аналогично тому, как описано в этой публикации.

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

Начальная настройка

Необходимо вставить токен Вашего бота в функцию ПолучитьТокен, которая расположена в общем модуле СлужебныеФункции.

Необходимо исправить url на Ваш в функции ПолучитьUrlФайла, которая расположена в общем модуле СлужебныеФункции.

С целью усиления безопасности, необходимо добавить к имени файла vcard.os (или в свойстве корневого url http-сервиса строковое представление guid).

Заключение

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

Протестировать сервис можно запустив telegram-bot ВКартаДемо.

Надеюсь, данная статья поможет вам в реализации различных бизнес-задач.

 

6 Comments

  1. webester

    Один косяк — сканеры через раз читают штрихкоды с экрана телефона

    Reply
  2. blackhole321

    (1)возможно, ситуацию может улучшить изменение цветовой схемы, скажем зелёные линии на красном фоне

    Reply
  3. biruk

    (1)Ну не скажите — смотря какой сканер. Современные модели достаточно хорошо с экрана читают.

    Reply
  4. webester

    (3)Мы используем проверенные ms5145. Иногда приходят умники которые сосканировали карту в телефон и предлагают считать штрихкод из картинки приложения на телефоне. Работает через раз. Про чиперлабы я вообще молчу, эти и бумагу отвратительно читают. Надо сказать дело не только в сканере но и в экране мобильного телефона.

    Reply
  5. blackhole321

    (4)ms5145 — это лазерный однополосный сканер. Они действительно плохо сканируют с экрана. Для сканирования с экрана телефона нужно использовать image сканер.

    Reply
  6. biruk

    (5)да, абсолютно согласен. Лазерные с экрана или вообще не читают, или читают плохо. image решает эту проблему…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *