Panel | |
---|---|
|
...
Panel |
---|
Реализованная интеграция с системой PriorityApi может не поддерживать определенные функции системы или иметь особенности их реализации. Следует уточнять полноту интеграции в соответствии с функциональными требованиями к системе лояльности. |
В кассовом ПО Artix реализован модуль PriorityApi, который является универсальным интерфейсом для интеграции с системами лояльности, поддерживает применение дисконтных и бонусных воздействий.
Info |
---|
При отсутствии связи с сервером отправка сообщений об операциях будет осуществляться через очередь Artix-Queue. |
Конфигурирование модуля PriorityApi
Активация модуля PriorityApi определяется параметром priorityapi
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
priorityapi | строковый |
| Активация модуля системы лояльности PriorityApi | По умолчанию off |
Code Block | ||
---|---|---|
| ||
[plugins] ; Включение и выключение плагина PriorityApi ; по умолчанию off ;priorityapi=off |
Настройка плагина модуля PriorityApi производится в конфигурационном файле файле /linuxcash
/cash/conf/ncash.ini.d/priorityapi.ini
в секции [PriorityApi]
.
Anchor | ||||
---|---|---|---|---|
|
Info |
---|
Плагин PriorityApi будет Модуль PriorityApi будет обрабатывать карты системы лояльности с типом |
Наименование | Тип данных | Возможные значения | Описание | Примечания | |
---|---|---|---|---|---|
cardMode | строковый | Тип карты из группы карт, использующий PriorityApi | По умолчанию 254 | ||
host | строковый | Адрес сервера системы лояльности | По умолчанию http://localhost | ||
port | целочисленный | Порт сервера системы лояльности | По умолчанию 80 | ||
password | строковый | Пароль для доступа к серверу системы лояльности | По умолчанию не задан | ||
organization | строковый | Идентификатор организации | По умолчанию не задан|||
businessUnit | строковый | Идентификатор магазина | По умолчанию не задан|||
workPlace | строковый | Идентификатор рабочего места | |||
requestDiscountsWithoutCard | По умолчанию не задан |
...
логический |
| Выполнять запрос к системе лояльности без карты | По умолчанию false | |
checkCouponMask | строковый | Маска купона | По умолчанию любая последовательность символов ".*" | |
sendPayCheck | логический |
| Отправлять запрос с оплатами чека | По умолчанию false |
sendSourcePositionIndex | логический |
| Передавать номер исходной позиции в чеке возврата по чеку продажи | По умолчанию false |
useBonusBalance | логический |
| Использовать в качестве баланса карты поле bonusBalance | По умолчанию false |
Anchor | ||||
---|---|---|---|---|
|
Code Block | ||||
---|---|---|---|---|
| ||||
[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 необходимо:
- Активировать модуль PriorityApi (см.Конфигурирование модуля PriorityApi).
- Указать в параметре
cardMode
тип карты необходимой системы лояльности (см.Конфигурирование модуля PriorityApi). - Завести группу бонусных карт с типом карты, совпадающим со значением параметра
cardMode
. - Настроить подключение к серверу системы лояльности (см.Конфигурирование модуля PriorityApi).
- Перезапустить кассовую программу.
- Применить бонусную карту в чеке.
Добавление карты по номеру телефона
При использовании системы лояльности модуля PriorityApi возможно добавление карты по номеру телефона. Для этого необходимо:
- Включить способ ввода "Удаленно" для группы карт (БД
Dictionaries
таблицаCardgroup
полеinputmask = 16
). Для группы карт указать:
маску допустимых номеров карт:
Code Block ^\+7([0-9]{10})|^7([0-9]{10})|^8([0-9]{10})|(^9[0-9]{9})
правило преобразования:
Code Block +7\1\2\3\4
- тип карты, соответствующий значению настройки плагина параметра модуля
cardMode
.
- Для правила поиска карт установить значение "По номеру карты".
- Настроить клавишу "Добавить карту" с командой
COMMAND_CARD
и параметрами:cardNumberType
со значением 1;cardMode
со значением из настроек плагина, соответствующем значению параметра модуля.
При использовании команды на экран будет выведен диалог для ввода номера телефона. После ввода номера телефона производится поиск карты на сервере системы лояльности. Если карта найдена, то она будет добавлена в чек.
...
Если при добавлении карты по номеру телефона клиент не найден аккаунт, а на сервере системы лояльности предусмотрена регистрация клиента, то на экран будет выведен диалог:
Подтвердите операцию для Для создания аккаунта . Потребуется ввод кода подтверждениянеобходимо подтвердить операцию, введя код подтверждения, отправленный на номер телефона клиента. После успешной регистрации аккаунта карта добавится в чек.
В случае отказа от операции карта не будет добавлена в чек.Если на сервере лояльности настроена верификация карты по СМСбудет добавлена в чек.
Просмотр информации о карте
При закрытии чека может быть напечатан отчет с информацией о баллах для покупателя. Отчет может содержать в себе следующую информацию:
- Баланс бонусов на начало чека.
- Сумма начисленных бонусов.
- Сумма списанных бонусов.
- Баланс бонусов на конец чека.
Для формирования отчета необходимо в файле cardinfo.xml
заменить стандартный шаблон квитанции с информацией о бонусах на следующий шаблон:
Code Block | ||||
---|---|---|---|---|
| ||||
<?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 предоставляется возможность получения скидки по купону. Скидка по купону может быть применена на позицию и на чек. В одном чеке продажи может быть применено несколько купонов на позицию и на чек.
Добавление купона в чек осуществляется несколькими способами:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Для распознавания номера/штрих-кода купона на кассе должно быть задано правило разбора по штрих-коду, которое задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini
.
Code Block | ||||
---|---|---|---|---|
| ||||
880*=cccccccccccc
890*=cccccccccccc |
В данном примере цифры "880" и "890" являются префиксами купонов, на что указывают символы "cccccccccccc".
Начиная с версии 4.6.237 в кассовом ПО Artix реализована возможность задавать номера купонов через маску. Маска для купонов задается в параметре checkCouponMask
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini
.
Code Block | ||||
---|---|---|---|---|
| ||||
; Маска купона
; По умолчанию любая последовательность символов ".*"
checkCouponMask = "11.*|22.*|33.*" |
Префиксы, указанные в bcode.ini
должны соответствовать префиксам или маскам в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/priorityapi.ini
.
Если префиксы в конфигурационных файлах не совпадают, то кассовое ПО не распознает вводимый номер как купон PriorityApi.
Info |
---|
Чтобы отключить проверку по bcode.ini необходимо отключить настройку использования интерпретации штрих-кодов при добавлении купона по кнопке useBcodeParserForAddCouponByButton . |
Скидка по купону применяется автоматически при переходе в подытог.
Возврат
В системе лояльности предусмотрена возможность возврата списанных ранее баллов.
Отправка чеков
При закрытии чека продажи информация о данном чеке будет отправлена на сервер системы лояльности.