Интеграция

Описание различных способов интеграции с системой

Сценарии интеграции с использованием API

Рекомендации по прямой интеграции через REST-протокол

Сценарии интеграции с использованием API

Сценарии интеграции

Что здесь описано?

Документ описывает основные сценарии взаимодействия Кассового ПО и Сервиса лояльности. В нем собраны рекомендации о последовательности вызовов методов API сервиса лояльности. Под сценарием понимается рекомендуемая последовательность запросов к сервису И логики работы Кассового ПО, для получения определенного результата(например, продажа, возврат, начисление бонусов при продаже, выдача подарков и т.д.).

Чего здесь нет?

Документ НЕ содержит спецификацию запросов API, для ознакомления со спецификацией можно обратиться сюда:

Общие положения

Аутентификация

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

изображение_2022-11-17_180025103.png

Идентификация участника программы лояльности

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

Идентификация может выполняться по разным фильтрам: - "by_phone" - "by_email" - "by_barcode" - "by_code" - "by_name"

Фильтры применяются к атрибутам карты по полному соответствию

изображение_2022-11-17_180110828.png

Расчет скидок

изображение_2022-11-17_180144740.png

Применение скидок

Процесс применения скидок можно поделить на несколько этапов:

Применение суммовых и процентных скидок

изображение_2022-11-17_180232686.png

Выдача подарков

изображение_2022-11-17_180258899.png

Оплата баллами

изображение_2022-11-17_180327236.png

Фиксация факта продажи

изображение_2022-11-17_180406734.png

Использование сертификатов

Продажа сертификата

изображение_2022-11-17_180436173.png

Оплата сертификатом

изображение_2022-11-17_180501243.png

Использование промокодов

 

Интеграция с Frontol 5.х/6.х

Инструкции и описания процесса интеграции с кассовым ПО Фронтол

Интеграция с Frontol 5.х/6.х

Состав установочного пакета

Структура каталогов библиотеки

Active-X компоненты

Макеты интерфейса

Сценарии

Документация

Утилита настройки

Интеграция с Frontol 5.х/6.х

Установка

Установка с помощью инсталлятора

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

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

При установке пакета регистрируются ActiveX компоненты Windows, поэтому установку нужно выполнять от имени Администратора системы

Поскольку компонент выполнен по технологии ActiveX, его использование возможно только в операционной среде семейства Windows.

Также возможно установить ActiveX компонент отдельно. Для этого необходимо расположить файл(ocx в каталоге установки) в любом каталоге и выполнить команду операционной системы от имени администратора:

regsvr32 <ПутьКФайлуКомпонента>

 После чего компонент становится доступен по имени AXStrDialog.RTestX

Интеграция с Frontol 5.х/6.х

Настройка кассового ПО Frontol

Загрузка основного сценария

Код основанного сценария работы кассового места содержится в файле main.js. Для загрузки сценария и установки его как основного необходимо запустить утилиту «Frontol Администратор», открыть базу, для которой предполагается установить сценарий. Далее перейти в раздел «Скидки и сценарии», создать новый сценарий, открыть файл main.js с диска или скопировать содержимое файла в открытый сценарий:

изображение_2022-11-15_172008535.png

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

Имя переменной Описание
bsServer

Адрес процессингового сервера. Доступные сервера:

https://demo.bonus.rarus-online.com:88/ - Тестовый сервер;

https://bonus.rarus-online.com:88/ - Боевой сервер;

bsUser

Имя пользователя сервиса, полученное при регистрации

bsPassword

Пароль пользователя сервиса, полученный при регистрации. Для безопасности пароль не вводится в открытом виде, нужно ввести шестнадцатеричное значение хеш-функции от значения пароля. Вычислить такое значение можно, например, на сайте http://www.sha1-online.com/

bsShopID

Уникальный идентификатор магазина, используется для аналитики продаж

bsKKTID

Уникальный идентификатор кассы

bsKKTName

Наименование кассы

bsCodeCertificatePosition

Код товара, который используется при продаже сертификатов

bsCodeCertificatePayment

Код вида оплаты, который используется при оплате чека сертификатом

bsClientNameInputType

Тип ввода имени клиента. Доступны значения:

  • OneInput – одно поле для Фамилии, Имени и Отчества.
  • ThreeInputs – для указания Фамилии, Имени и Отчества используются разные поля.
  • var bsLogLevel = 'off';
bsLogLevel

Уровень журналирования.  Доступны значения error, info, debug, off. Каждый последующий уровень журналирования включает в себя предыдущий. Например, при указании уровня debug в файлы журналов будут выводиться сообщения с уровнями error и info. off - полностью отключает журналирование

bsLogRootPath

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

В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\) в конце пути также необходимо наличие \\

bsPendingDocQueue

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

В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\) в конце пути также необходимо наличие \\

bsBarcodeInputSequence

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

bsCardTypeCodes
Коды видов карт бонусного сервиса. Проверка наличия карт в сервисе будет выполняться только для карт подходящих под условия указанных видов.

 После настройки можно сохранить сценарий и выбрать его в качестве основного в поле «В начале сеанса запускать».

изображение_2022-11-15_172053596.png

Более простым способом настройки будет использование утилиты настройки. Она запускается по-умолчанию после установки новой версии скрипта.

Настройка бонусных скидок и оплаты бонусными баллами

Для корректного применения рассчитанных процессингом скидок и оплаты бонусными баллами необходимо настроить маркетинговую акцию. Для этого нужно перейти в раздел «Скидки и сценарии» -> «Маркетинговые акции» и создать новую скидку:

изображение_2022-11-15_172139304.png

Для скидки устанавливается признак «Срабатывает всегда».

После, нужно указать два мероприятия «Оплата» и «Скидка», которые отражают логику применения оплаты бонусными баллами и скидок соответственно к документу:

изображение_2022-11-15_173130045.png

Каждое мероприятие должно иметь тип «Автоматическая скидка из сценария», не иметь модуля условий(т.е. быть безусловными). На каждую скидку назначается функция расчета из загруженного ранее скрипта. 

Для мероприятия «Скидка», указываются следующие настройки и функция

 ApplySumDiscountToPosition('rarusBonus')

изображение_2022-11-15_173228523.png

Для мероприятия «Оплата», указываются следующие настройки  и функция

 ApplyBonusPaymentToPosition()

изображение_2022-11-15_173415260.png

Идентификация карт

Считывание бонусных карт выполняется типовой командой платформы FRONTOL. Для корректной интеграции необходимо определиться с префиксами штрихкодов бонусных карт и в разделе «Скидки и наценки» -> «Виды карт» создать один или несколько видов карт соответствующий диапазонам:

изображение_2022-11-15_174146411.png

Такие карты НЕ будут регистрироваться в системе FRONTOL определение будет выполняться на процессинге, поэтому необходимо установить признак «Использовать для незарегистрированных карт»

Обязательно в сценарии настроить значение кодов видов карт в переменной bsCardTypeCodes. Коды не внесенные в массив будут работать по логике Frontol и не будут проверяться на сервисе управления лояльностью.

Дополнительные функции и значения

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

Состав команд:

Команды реализованы в виде функций глобальном контексте основного сценария:

Эти команды можно назначить на кнопки пользовательского интерфейса или горячие клавиши. 

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

Настройка производится в разделе «Настройки» -> «Макеты экрана» и «Настройки» -> «Раскладки».

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

изображение_2022-11-15_175342106.png

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

изображение_2022-11-15_175423356.png

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

Состав доступных переменных:

Настройка вывода этих значений выполняется в конструкторе макета экранной формы «Настройки» -> «Макеты экрана».  Для вывода используется элемент с типом «Информация», в качестве текста необходимо выбрать «Текущий документ \ Пользовательская переменная», в качестве значения имя переменной. Например:

изображение_2022-11-15_175456767.png

Подарочные сертификаты

Для корректной продажи подарочных сертификатов бонусного сервиса необходимо настроить товар. Для этого нужно перейти в раздел «Справочники» -> «Товары» и создать новый товар:

изображение_2022-11-15_175616548.png

Необходимо указать уникальный код товара и установить признак предмета расчета в значение «Аванс, предоплата». Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePosition.

Для того чтобы была возможность продавать данный товар необходимо в карточке товара на вкладке «Разрезы/цены/остатки» необходимо ввести остатки и цены на товар. Остатки можно указать нулевыми, цена должна быть не нулевой.

изображение_2022-11-15_175730529.png

На  вкладке «Контроль» необходимо снять галки у следующих опций «Списание остатков»,

изображение_2022-11-15_175801356.png

Для того чтобы отрабатывали опции заданные в карточке товара необходимо в разделе «Справочники» -> «Глобальный контроль» установить у опций «Списание остатков», «Запрос цены», «Скидки» и «Редактирование цены» значение «Товар».

Для возможности оплаты подарочным сертификатом необходимо в разделе «Системные справочники» -> группа «Оплаты» -> «Виды» создать новый вид оплаты.

изображение_2022-11-15_175839548.png

изображение_2022-11-15_175956242.png

Необходимо указать уникальный код вида оплаты. Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePayment.

Возврат оплаты подарочными сертификатами возможен только наличными поэтому необходимо установить опцию «Разрешить возврат наличными»

Вывод дополнительных свойств пользователя в интерфейсе кассы

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

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

изображение_2023-05-29_162812148.png

Подробно о редактировании макетов экрана можно узнать из руководства администратора, поставляемого с кассовым ПО Фронтол

В качестве имени переменной нужно использовать следующий шаблон user_prop_<Идентификатор свойства>. Идентификатор свойства можно получить и указать в личном кабинете системы управления лояльностью.

 

 

 

 

 

Интеграция с Frontol 5.х/6.х

Утилита настройки сценария

ВНИМАНИЕ! Утилита не поддерживает работу под ОС Windows 8.1 и ниже. Если вы используете более младшие версии Windows, редактировать файл конфигурации придется вручную

Утилита поставляется в установочном пакете, начиная с версии 1.0.12х. Она будет автоматически запускаться после окончания установки дистрибутива. Так же, ее можно открыть вручную, она располагается в установленном дистрибутиве в каталоге dist/settings.exe.

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

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

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

image-1702650881705.png

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

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

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

Для обновления, нужно выбрать файл из которого будет получено тело нового сценария и нажать на кнопку "Обновить сценарий из файла".

image-1702651325099.png

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

Настройка кассы

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

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

Файл сценария по-умолчанию располагается в каталоге C:\ProgramData\1CRarus\Frontol\config.js.json. Имена настроек в файле совпадают с именами переменных в сценарии.

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

 

 

 

 

Интеграция с Frontol 5.х/6.х

Сценарии работы кассира

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

Подробно процесс назначения команд описан в руководстве интегратора системы FRONTOL

Регистрация покупателя на процессинге

Функция регистрации нового покупателя доступна в любой момент из интерфейса кассира:

изображение_2022-11-15_180415380.png

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

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

Считывание карты

Для считывания карты пользователя необходимо воспользоваться стандартной командной ввода карты(по-умолчанию CTRL+F7) и ввести штрихкод карты вручную или считать с помощью устройства ввода.

После считывания карты, выполняется попытка найти карту на процессинге, в случае если карта найдена она подставляется в документ.

Расчет скидок на процессинге

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

Предварительный расчет

Предварительный расчет скидок может понадобиться для оценки сработавших скидок и озвучивания суммы скидки покупателю. Для предварительного расчета можно воспользоваться командой «Рассчитать»:

изображение_2022-11-15_180654940.png

После выполнения команды сумма документа изменится на значение рассчитанное по правилам настроенным в личном кабинете.

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

Для корректной работы считывания необходимо  настроить специальный вид карт

Автоматический расчет

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

Оплата бонусными баллами

Оплата бонусными баллами позволяет списать бонусные баллы с карты в счет скидки на текущий документ. Выполнить оплату бонусными баллами можно в случае если карта активирована, не заблокирована, на счету имеется необходимая сумма и не превышена максимально возможная сумма оплаты баллами(настраивается в личном кабинете).

Команда оплаты бонусными баллами применяется к документу с уже рассчитанными ручными и автоматическими скидками. Вызов команды можно осуществить как из экрана редактирования документа:

изображение_2022-11-15_181241487.png

Также использовать бонусные баллы можно в режиме оплаты:

изображение_2022-11-15_181314860.png

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

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

изображение_2022-11-15_181346235.png

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

Оплата бонусными баллами применяется к документу как автоматическая скидка и суммируется с уже примененными к документу скидками.

Отмена оплаты и скидок выполняется специальной командой «Очистить». При выполнении команды система удаляет всю информацию о примененных скидках(в т. ч. оплату бонусными баллами).

Возврат товара

Возврат товара осуществляется стандартной командой оформления документа возврата на основании документа продажи. При оформлении возврата в документе автоматически устанавливается карта использованная при продаже.

Бонусные баллы, использованные в качестве оплаты чека продажи и начисленные на карту по правилам начисления(настраивается в личном кабинете), будут возвращены и списаны с карты соответственно. В случае частичного возврата, система пересчитывает возвращаемые/списываемые баллы пропорционально сумме возврата относительно суммы продажи-основания.

 

 

 

 

 

 

Интеграция с Frontol 5.х/6.х

Релизы библиотеки

Версия 1.1.152

Версия 1.1.145

Версия 1.1.96

Версия 1.1.93

Версия 1.1.83

Версия 1.1.79

Версия 1.1.76

В этой версии добавлена новая переменная bsCardTypeCodes в заголовке сценария, обязательно её заполнение!

Версия 1.1.60

Версия 1.0.45

Версия 1.0.44

Интеграция с 1С:Розница/УНФ Редакция 3

Интеграция с 1С:Розница/УНФ Редакция 3

Состав установочного пакета

Файл расширения 1Cv8.cfe находится в подкаталоге tmplts\Rarus\Loyalty\Retail\1_0_Х_Х\ каталога установки 1С:Предприятия 8.

Интеграция с 1С:Розница/УНФ Редакция 3

Установка

Интеграция с 1С:Розница/УНФ Редакция 3

Настройка кассового ПО

Интеграция с 1С:Розница/УНФ Редакция 3

Сценарии работы кассира

Интеграция с 1С:Розница/УНФ Редакция 3

Релизы библиотеки

Интеграция с УТ 11.4.13.209

Интеграция с УТ 11.4.13.209

Ручные скидки

Сами ручные скидки задаются в УЛК на страничке со скидкой. У типов скидки "Применить абсолютную скидку" и "Применить относительную скидку" есть флажок "Ручная скидка". Если он включен, то скидка становится ручной.

image-1685369165386.png

Ручная скидка не будет назначена при расчете автоматических скидок. Ее можно будет применить, воспользовавшись специальной кнопкой на форме рмк. За применение ручных скидок отвечает кнопка "Применение ручных скидок СУЛ", а за отмену "Отмена ручных скидок СУЛ".

image-1685369271772.png

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

image-1685369360640.png

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

image-1685369404458.png
Для отмены примененных скидок нужно нажать "Отмена ручных скидок СУЛ". Откроется форма, аналогичная форме подбора скидок, только на ней выбираются примененные к чеку скидки, которые необходимо отменить.

image-1685369488072.png
Для удаления выбранных скидок из чека нужно нажать "Удалить выбранные скидки из документа". Форма закроется и скидки будут пересчитаны.

image-1685369551288.png

Интеграция с Альфа-авто 6.0.37.13

Интеграция с Альфа-авто 6.0.37.13

Синхронизация клиентов сул - альфа авто и наоборот

1. Отправка клиента из альфа авто в сул:

- Необходимо перейти "Автосервис" - Контрагенты и контракты, а затем открыть существующего или создать нового контрагента (в данном случае рассмотрен пример создания нового).

image-1687506253338.png
Рисунок 1

- Для контрагента с типом "Частное лицо" появилась возможность отправки в сул. Для этого необходимо поставить флажок "Клиент дал согласие на участие в бонусной программе СУЛ"

image-1687506398481.png
Рисунок 2

- В СУЛ есть настройка "Логин клиента". В зависимости от этой настройки будет устанавлен логин в сул для пользователя при отправке.

image-1687507588156.png

Рисунок 3

- Для этого на вкладке контактная информация необходимо заполнить Телефон/Почту. В случае если она не будет заполнена  выпадет ошибка при записи. Элемент записан не будет.

image-1687506610671.png
Рисунок 4

image-1687506638920.png
Рисунок 5

image-1687506677295.png
Рисунок 6

- В случае если все заполнено корректно контрагент будет отправлен в сул.

image-1687506738995.png
Рисунок 7

image-1687506815772.pngРисунок 8

 

2. Создание контрагента в альфа авто из сул:

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

image-1687507105622.png
Рисунок 9

image-1687507176257.png
Рисунок 10

image-1687507207532.png
Рисунок 11

Интеграция с Альфа-авто 6.0.37.13

Как берется склад в чеке на оплату

При пробитии чека на оплату склад берется из кассы ккм (фото 1).

image-1688461242538.pngРисунок 1

 

Если у кассы ккм не заполнен склад, то при формировании чека на оплату будет выведено сообщение (рисунок 2)

image-1688461218066.pngРисунок 2

 

 

 

 

Интеграция с Битрикс24

Интеграция с Битрикс24

Модуль СУЛ для Битрикс24


https://drive.google.com/drive/folders/1hlsDNX3_-ZP8m2zlKKLETIBRDGF52qa-