Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents

...


Panel

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

В кассовом ПО Artix реализован модуль PriorityApi, который является универсальным интерфейсом для интеграции с системами лояльности, поддерживает применение дисконтных и бонусных воздействий.

Info

При отсутствии связи с сервером отправка сообщений об операциях будет осуществляться через очередь Artix-Queue.

Конфигурирование модуля PriorityApi

Активация модуля PriorityApi определяется параметром priorityapi, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini в секции [plugins].

Наименование
Тип данных
Возможные значения
Описание
Примечания

priorityapi

строковый
  • on
  • off
Активация модуля системы лояльности PriorityApiПо умолчанию off


Code Block
titleПример настройки
[plugins]
; Включение и выключение плагина PriorityApi
; по умолчанию off
;priorityapi=off

Настройка плагина модуля PriorityApi производится в конфигурационном файле файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini в секции [PriorityApi].

Anchor
НастройкиCardModeНастройкиНастройкиCardMode
Настройки

Info

Плагин PriorityApi будет Модуль PriorityApi будет обрабатывать карты системы лояльности с типом cardMode из настроек.  PriorityApi PriorityApi не будет работать, если на кассе уже настроена лояльность система лояльности с типом, указанным в cardMode.


По умолчанию не заданПо умолчанию не задан
НаименованиеТип данныхВозможные значенияОписаниеПримечания

cardMode

строковый
Тип карты из группы карт, использующий PriorityApiПо умолчанию 254
hostстроковый
Адрес сервера системы лояльностиПо умолчанию http://localhost
portцелочисленный
Порт сервера системы лояльностиПо умолчанию 80
passwordстроковый
Пароль для доступа к серверу системы лояльностиПо умолчанию не задан
organizationстроковый
Идентификатор организации
businessUnitстроковый
Идентификатор магазина
workPlaceстроковый
Идентификатор рабочего места
requestDiscountsWithoutCardПо умолчанию не задан

...

логический
  • true
  • false
Выполнять запрос к системе лояльности без картыПо умолчанию false
checkCouponMaskстроковый
Маска купонаПо умолчанию любая последовательность символов ".*" 
sendPayCheckлогический
  • true
  • false
Отправлять запрос с оплатами чекаПо умолчанию false
sendSourcePositionIndexлогический
  • true
  • false
Передавать номер исходной позиции в чеке возврата по чеку продажиПо умолчанию false
useBonusBalanceлогический
  • true
  • false
Использовать в качестве баланса карты поле bonusBalanceПо умолчанию false

Anchor
Настройки
Настройки

Code Block
languagetext
titleПример настройки
[PriorityApi]
; Тип карты из группы карт, использующий PriorityApi
; поПо умолчанию 254
;cardMode = 254

; Адрес сервера
; поПо умолчанию http://localhost
;host = http://localhost

; Порт
; поПо умолчанию 80
;port = 80

; Пароль для доступа к серверу
; По умолчанию не задан
;password = ""

; Идентификатор организации
; По умолчанию не задан
;organization = ""

; Идентификатор магазина
; По умолчанюумолчанию не задан
;businessUnit = ""

; Идентификатор рабочего места
; По умолчанюумолчанию не задан
;workPlace = ""

...



; Выполнять запрос к системе лояльности без карты
; По умолчанию false
;requestDiscountsWithoutCard = false

; Маска купона
; По умолчанию любая последовательность символов ".*"
;checkCouponMask = ".*"

; Отправлять запрос с оплатами чека
; По умолчанию false
;sendPayCheck = false

; Передавать номер исходной позиции в чеке возврата по чеку продажи
; По умолчанию false
;sendSourcePositionIndex = false

; Использовать в качестве баланса карты поле bonusBalance
; По умолчанию false
;useBonusBalance = false

Бонусная программа PriorityApi

 Для использования модуля PriorityApi необходимо:

  1. Активировать модуль PriorityApi (см.Конфигурирование модуля PriorityApi).
  2. Указать в параметре cardMode тип карты необходимой системы лояльности (см.Конфигурирование модуля PriorityApi).
  3. Завести группу бонусных карт с типом карты, совпадающим со значением параметра cardMode.
  4. Настроить подключение к серверу системы лояльности (см.Конфигурирование модуля PriorityApi).
  5. Перезапустить кассовую программу.
  6. Применить бонусную карту в чеке.

Добавление карты по номеру телефона

При использовании системы лояльности модуля PriorityApi возможно добавление карты по номеру телефона. Для этого необходимо:

  1. Включить способ ввода "Удаленно" для группы карт (БД Dictionaries таблица Cardgroup поле inputmask = 16).
  2. Для группы карт указать:

  3. Для правила поиска карт установить значение "По номеру карты".
  4. Настроить клавишу "Добавить карту" с командой COMMAND_CARD и параметрами:

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

...

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

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

Просмотр информации о карте

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

  • Баланс бонусов на начало чека.
  • Сумма начисленных бонусов.
  • Сумма списанных бонусов.
  • Баланс бонусов на конец чека.

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

Code Block
languagetext
titleПример шаблона
<?xml version="1.0" encoding="UTF-8"?>
<report name = "cardinfo" type="document" cached="true" title="Квитанция по карте">
<select query="SELECT c.number, c.bonusbalance, c.clientitemid, d.time_beg FROM carditem c, document d WHERE c.documentid = $document.id$ and d.documentid = c.documentid and c.cardmode = 254 GROUP BY 1,2">
    <text>Баланс бонусов на начало чека:</text><sbr/><var name="bonusbalance" align="right" numberformat=".2" maxwidth="all"/><br/>
    <text>Сумма начисленных бонусов:</text><sbr/><var name="cardRecord.pointsForEarn" align="right" numberformat=".2" maxwidth="all"/><br/>
    <select query="select @spendbonus := coalesce(sum(if(disctype = 5, discsum, 0)), 0) as spendbonus from discitem join goodsitem using(goodsitemid) where documentid = $document.id$">
        <select query="select $bonusbalance$ + $cardRecord.pointsForEarn$ - $spendbonus$ as balanceend from discitem LIMIT 1">
        <text>Сумма списанных бонусов:</text><sbr/><var name="spendbonus" align="right" numberformat=".2" maxwidth="all"/><br/>
        <text>Баланс бонусов на конец чека:</text><sbr/><var name="balanceend" align="right" numberformat=".2" maxwidth="all"/><br/>
    </select>
    <text maxwidth="all" fillsymbol="*"></text><br/>
</select>
</report>

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

Продажа

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

Обращение к серверу для получения скидки выполняется автоматически при переходе в подытог:

  • при наличии карты в чеке запрос скидок осуществляется всегда;
  • при отсутствии карты в чеке запрос скидок осуществляется при включенной настройке requestDiscountsWithoutCard в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini.

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

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

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

При закрытии чека может быть напечатана информация для покупателя.

Слип, полученный от системы лояльности, который печатается после закрытия чека, сохраняется в упрощенном виде (текст без форматирования) в БД Documents таблицу Document поле rtext.

Списание баллов

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

Начисление баллов

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

Купоны

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

Добавление купона в чек осуществляется несколькими способами:
Image Removed

  • вручную с клавиатуры,
  • сканированием штрих-кода,
  • по кнопке "Добавить купон" с командой COMMAND_COUPON_ADD. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

Для распознавания номера/штрих-кода купона на кассе должно быть задано правило разбора по штрих-коду, которое задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini.

Code Block
languagetext
titleПример настройки
880*=cccccccccccc
890*=cccccccccccc

В данном примере цифры "880" и "890" являются префиксами купонов, на что указывают символы "cccccccccccc".

Начиная с версии 4.6.237 в кассовом ПО Artix реализована возможность задавать номера купонов через маску. Маска для купонов задается в параметре checkCouponMask в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini.

Code Block
languagetext
titleПример настройки
; Маска купона
; По умолчанию любая последовательность символов ".*"
checkCouponMask = "11.*|22.*|33.*"

Префиксы, указанные в bcode.ini должны соответствовать префиксам или маскам в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini.

Если префиксы в конфигурационных файлах не совпадают, то кассовое ПО не распознает вводимый номер как купон PriorityApi.

Info
Чтобы отключить проверку по bcode.ini необходимо отключить настройку использования интерпретации штрих-кодов при добавлении купона по кнопке useBcodeParserForAddCouponByButton.

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

Возврат

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

Отправка чеков

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