Реализованная интеграция с системой лояльности Mindbox может не поддерживать определенные функции системы или иметь особенности их реализации. Следует уточнять полноту интеграции в соответствии с функциональными требованиями к системе лояльности.
Кассовое ПО Artix поддерживает применение дисконтных и бонусных воздействий, применение купонов системы лояльности Mindbox, а также возможность печати сообщения на чеке.
Конфигурирование модуля Mindbox
Активация модуля системы лояльности Mindbox определяется параметром mindbox, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/mindbox.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
mindbox | строковый |
| Активация модуля системы лояльности Mindbox | По умолчанию off |
[plugins] ; Система лояльности Mindbox ;mindbox = off
Настройка плагина системы лояльности Mindbox производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/mindbox.ini
в секции [Mindbox]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
url | строковый | Адрес сервера | По умолчанию https://api.mindbox.ru/v3/operations/sync | |
secretKey | строковый | Секретный ключ | ||
endpoint | строковый | Идентификатор точки интеграции | ||
pointOfContact | строковый | Точка контакта | ||
timeout | целочисленный | Таймаут обращения к серверу в секундах | По умолчанию 5 секунд | |
sendMobilePhoneAuthorizationCodeOperation | строковый | Название операции для отправки кода подтверджения | По умолчанию Offline.SendMobilePhoneAuthorizationCodeOperation | |
resendMobilePhoneAuthorizationCodeOperation | строковый | Название операции для повторной отправки кода подтверджения | По умолчанию Offline.ResendMobilePhoneAuthorizationCodeOperation | |
registerCustomerOperation | строковый | Название операции для регистрации клиента | По умолчанию Offline.RegisterCustomerBookvoed | |
balanceSystemName | строковый | Системное имя используемого бального счета | ||
offlineTransactionArtixIdMask | строковый | Маска идентификатора транзакции | По умолчанию "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[hhmmss])" | |
lineStatus | строковый | Статус позиции чека | По умолчанию "ArtixPaid" | |
returnLineStatus | строковый | Статус позиции чека возврата | По умолчанию "sendToReturn" | |
areaId | строковый | Идентификатор зоны | ||
positionsIgnoringMask | строковый | Маска штрих-кода для исключения позиций из отправки на сервер | ||
returnOperation | строковый | Название операции для возврата | По умолчанию Offline.Return | |
requestTransactionIdName | строковый | Название идентификатора транзакции в запросе | По умолчанию "offlineTransactionIdArtix" | |
responseTransactionIdName | строковый | Название идентификатора транзакции в ответе | По умолчанию "offlineTransactionIdArtix" | |
productIdName | строковый | Наименование идентификатора позиции | ||
productIdMask | строковый | Маска идентификатора позиции | По умолчанию "%(position.articul[s])" |
[Mindbox] ; Адрес сервера ; по умолчанию https://api.mindbox.ru/v3/operations/sync ;url = https://api.mindbox.ru/v3/operations/sync ; Секретный ключ ; по умолчанию "" ;secretKey = "" ; Идентификатор точки интеграции ; по умолчанию "" ;endpoint = "" ; Точка контакта ; по умолчанию "" ;pointOfContact = "" ; Таймаут обращения к серверу в секундах ; по умолчанию 5 секунд ;timeout = 5 ; Название операции для отправки кода подтверджения ; по умолчанию Offline.SendMobilePhoneAuthorizationCodeOperation ;sendMobilePhoneAuthorizationCodeOperation = Offline.SendMobilePhoneAuthorizationCodeOperation ; Название операции для повторной отправки кода подтверджения ; по умолчанию Offline.ResendMobilePhoneAuthorizationCodeOperation ;resendMobilePhoneAuthorizationCodeOperation = Offline.ResendMobilePhoneAuthorizationCodeOperation ; Название операции для регистрации клиента ; По умолчанию Offline.RegisterCustomerBookvoed ;registerCustomerOperation = Offline.RegisterCustomerBookvoed ; Системное имя используемого бального счета ; по умолчанию "" ;balanceSystemName = "" ; Маска идентификатора транзакции ; по умолчанию "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[hhmmss])" ;offlineTransactionArtixIdMask = "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[hhmmss])" ; Статус позиции чека ; по умолчанию "ArtixPaid" ;lineStatus = "ArtixPaid" ; Статус позиции чека возврата ; по умолчанию "sendToReturn" ;returnLineStatus = "sendToReturn" ; Идентификатор зоны ; по умолчанию "" ;areaId = "" ; Маска штрих-кода для исключения позиций из отправки на сервер ; по умолчанию "" ;positionsIgnoringMask = "" ; Название операции для возврата ; по умолчанию Offline.Return ;returnOperation = Offline.Return ; Название идентификатора транзакции в запросе ; по умолчанию "offlineTransactionIdArtix" ;requestTransactionIdName = "offlineTransactionIdArtix" ; Название идентификатора транзакции в ответе ; по умолчанию "offlineTransactionIdArtix" ;responseTransactionIdName = "offlineTransactionIdArtix" ; Наименование идентификатора позиции ; по умолчанию "" ;productIdName = "" ; Маска идентификатора позиции ; по умолчанию "%(position.articul[s])" ;productIdMask = "%(position.articul[s])"
Для передачи артикула необходимо для параметра productIdMask
задать следующую маску:
productIdMask = "%(position.articul[s])"
Для исключения позиций из отправки на сервер необходимо для параметра positionsIgnoringMask
задать маску:
positionsIgnoringMask = "22.*|11.*"
В данном примере позиции, коды/штрих-коды которых начинаются с "22
" или с "11
", на сервер отправлены не будут.
Бонусная программа Mindbox
Для использования системы лояльности Mindbox необходимо:
- Завести группу бонусных карт с типом карты Mindbox (БД
Dictionaries
таблицаCardgroup
полеcardmode = 24
). - Активировать модуль системы лояльности Mindbox (см. Конфигурирование модуля Mindbox).
- Настроить подключение к серверу системы лояльности (см. Конфигурирование модуля Mindbox).
- Перезапустить кассовую программу.
- Применить бонусную карту в чеке.
Операции с картой
Настройками сервера системы лояльности предусмотрены следующие операции с картой:
- Создание карты – соответствует команде
COMMAND_CARDCREATE
. - Замена карты – соответствует команде команда
COMMAND_CARDREPLACE
. - Выдача карты – соответствует команде
COMMAND_CARDISSUANCE
.
Диалог с выбором операций из списка можно отобразить в корневом меню с указанными выше командами:
Для этого необходимо в утилите администрирования Yuki добавить корневое меню с соответствующими действиями из списка. Подробнее можно прочитать в разделе "Меню и клавиши кассы".
Создание карты (регистрация клиента)
Настройками сервера системы лояльности предусмотрено создание карты с регистрацией клиента:
После ввода номера телефона, который отсутствует на сервере системы лояльности, будет создан клиент с наименованием "Не указаны ФИО".
В чек будет добавлена карта с введенным номером телефона.
Замена карты
Настройками сервера системы лояльности предусмотрена замена карты:
После выбора заменяемой карты необходимо ввести номер выдаваемой карты:
После успешной замены выдаваемая карта будет добавлена в чек.
Выдача карты
Настройками сервера системы лояльности предусмотрена выдача карты клиенту:
После ввода корректного номера выдаваемая карта будет привязана к клиенту.
Продажа
Обращение к серверу для получения скидки и суммы доступных баллов выполняется автоматически при переходе в подытог. Полученные скидки автоматически применяются к чеку.
Суммирование внутренних и внешних скидок зависит от правил акции в Mindbox.
Добавление карты
Для получения скидки, для начисления и списания баллов с бонусной карты необходимо добавить карту системы лояльности Mindbox в чек:
- по номеру карты,
- по номеру телефона.
Добавление карты по номеру телефона
При добавлении карты по номеру телефона номер последней заведенной карты клиента будет отображен в информации о карте и сохранен в БД.
При использовании системы лояльности Mindbox возможно добавление карты по номеру телефона. Для этого необходимо:
- Включить способ ввода "Удаленно" для группы карт (БД
Dictionaries
таблицаCardgroup
полеinputmask = 16
). Для группы карт указать:
маску допустимых номеров карт:
^\+7([0-9]{10})|^7([0-9]{10})|^8([0-9]{10})|(^9[0-9]{9})
правило преобразования:
+7\1\2\3\4
тип карты
cardMode = 24
.
- Для правила поиска карт установить значение "По номеру карты".
- В утилите администрирования Yuki на клавишу настроить действие "Добавить карту" с командой
COMMAND_CARD
и параметрами:cardNumberType
со значением 1,cardMode
со значением24
.
При использовании команды будет выведен диалог, в котором необходимо указать номер телефона:
После ввода номера телефона будет выведен диалог, в котором необходимо указать код подтверждения, полученный в SMS-сообщении:
После авторизации производится поиск карты на сервере системы лояльности. Если карта найдена, то она будет добавлена в чек.
В кассовом ПО Artix реализована возможность запроса авторизации только при списании бонусов с карты лояльности. Данное поведение задается параметром authorizeOnlyOnSpendPoints
/linuxcash/cash/conf/ncash.ini.d/mindbox.ini
в секции [Mindbox]
:
- при значении
true
авторизация требуется только при списании бонусов, - при значении
false
авторизация требуется при добавлении карты в чек.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
authorizeOnlyOnSpendPoints | логический |
| Авторизация только при списании бонусов | По умолчанию false |
[Mindbox] ... ; Авторизация только при списании бонусов ; по умолчанию false ;authorizeOnlyOnSpendPoints = false
Отправка чека на адрес покупателя
Для отправки чека на адрес покупателя необходимо активировать плагин customerAddress
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customeraddress.ini
в секции [plugins]
. Подробнее о настройке плагина можно прочитать в статье "Отправка чека на адрес покупателя".
Поведение на кассе при значении параметров inputAddress
и printCheck
по умолчанию:
- Если в карточке клиента в системе лояльности Mindbox указан e-mail и установлен признак "Согласие на электронные чеки", то при закрытии чека на экран будет выведено сообщение "Чек будет отправлен на email покупателя", чек не будет распечатан на ФР.
- Если в карточке клиента в системе лояльности Mindbox указан e-mail, но не установлен признак "Согласие на электронные чеки", то для отправки чека необходимо подтвердить e-mail при добавлении адреса покупателя в чек по клавише "Добавить адрес покупателя" с командой
COMMAND_CUSTOMER_ADDRESS_ADD
.
В кассовом ПО Artix реализована возможность отказаться от печати слипа при закрытии чека с картой системы лояльности Mindbox. Для этого необходимо отредактировать в каталоге /linuxcash/cash/reports/
соответствующий шаблон. В шаблон должно быть добавлено условие для проверки признака "Согласие на электронные чеки" (customer
.consentToElectronicChecks)
. Подробнее о редактировании шаблонов можно прочитать в разделе "Движок отчетов".
Выдача виртуальной карты
В кассовом ПО Artix реализована возможность выдачи виртуальной карты:
- при регистрации клиента,
- при добавлении клиента, к которому не привязаны карты на сервере системы лояльности Mindbox.
Данное поведение регулируется параметром activateVirtualCard
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/mindbox.ini
в секции [Mindbox]
:
- при значении параметра
true
виртуальная карта будет выдана и активирована из пула номеров на сервере системы лояльности, - при значении параметра
false
виртуальная карта не будет выдана.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
activateVirtualCard | логический |
| Активация виртуальной карты для клиента без карт | По умолчанию false |
[Mindbox] ... ; Активация виртуальной карты для клиента без карт ; по умолчанию false ;activateVirtualCard = false
Списание баллов
Списание баллов выполняется по инициативе кассира. Потраченные баллы фиксируются в кассовой программе как скидка на чек. Для списания можно использовать все доступные баллы.
Для списания баллов требуется авторизация с вводом кода подтверждения.
Начисление баллов
Начисление баллов происходит на стороне сервера системы лояльности Mindbox после закрытия чека.
При закрытии чека печатается слип, шаблон которого находится в /linuxcash/cash/reports/
. Для авторизованных клиентов используется шаблон mindbox.xml
, для неавторизованных – mindbox_anonym.xml
.
Сохранение примененных скидок перед печатью чека
Функционал поддержан только для авторизованных клиентов Mindbox.
В кассовом ПО Artix реализована возможность сохранения примененных скидок перед печатью чека. Данное поведение регулируется параметром saveOrderBeforePrint
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/mindbox.ini
в секции [Mindbox]
:
- при значении параметра
true
перед печатью чека будет произведена попытка сохранения примененных скидок:если закрыть чек не удалось, то будет выведена ошибка "Расхождение сумм в системе лояльности. Вернитесь в режим формирования и попробуйте снова",
- если чек закрыт успешно, то примененные скидки будут сохранены перед печатью чека.
- при значении параметра
false
сохранение примененных скидок перед печатью чека осуществляться не будет (поведение по умолчанию).
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
saveOrderBeforePrint | логический |
| Сохранять заказ (примененные скидки) перед печатью чека | По умолчанию false |
[Mindbox] ... ; Сохранять заказ перед печатью чека ; по умолчанию false ;saveOrderBeforePrint = false
Возврат
В системе лояльности предусмотрена возможность возврата списанных ранее баллов.
Купоны Mindbox
Кассовое ПО Artix предоставляет возможность работы с многоразовыми и одноразовыми купонами (в системе лояльности Mindbox оба вида купонов относятся к категории "Промокоды").
Применение купонов
Создание, редактирование купонных акций и генерация купонов происходит на сервере системы лояльности Mindbox. Данные купонов из примененных акций могут быть напечатаны в чеке с помощью кассового ПО.
При использовании системы лояльности Mindbox предоставляется возможность получения скидки по купону. Скидка по купону может быть применена на чек. В одном чеке продажи может быть применено несколько купонов.
Добавление купона в чек осуществляется несколькими способами:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Для распознавания номера/штрих-кода купона на кассе должно быть задано правило разбора по штрих-коду, которое задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini
.
MINDBOX???=сccccccccc
В данном примере "MINDBOX" является префиксом купонов, на что указывают символы "cccccccccc
".
При добавлении купона в чек проверяется его валидность. В случае, если купон невалиден, купон не будет добавлен в чек.
Скидка по купону применяется автоматически при переходе в подытог.
В кассовом ПО Artix реализована возможность управления передачей купона на сервер системы лояльности в зависимости от его статуса. Список статусов, при получении которых купон не нужно передавать на сервер, задается параметром couponForbiddenStatus
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/mindbox.ini
в секции [Mindbox]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
couponForbiddenStatus | строковый | Список статусов купона, при получении которых купон не нужно передавать в mindbox | По умолчанию "CanNotBeUsedForCurrentOrder, NotFound, Blocked " |
[Mindbox] ... ; Список статусов купона, при получении которых купон не нужно передавать в mindbox ; по умолчанию "CanNotBeUsedForCurrentOrder, NotFound, Blocked" ;couponForbiddenStatus = "CanNotBeUsedForCurrentOrder, NotFound, Blocked"
Режимы работы
В зависимости от доступности сервера системы лояльности Mindbox операции могут производиться в режиме online или offline. При этом:
- Добавление карты производится online. Если сервер системы лояльности недоступен, то offline. При добавлении карты в чек на экран будет выведено предупреждение "Нет связи с сервером Mindbox. Баллы будут начислены позднее", после закрытия предупреждения карта будет добавлена в чек. Списание бонусных баллов невозможно. При попытке оплатить чек бонусными баллами на экран будет выведено предупреждение "На карте нет баллов для оплаты". Операции по начислению будут произведены через очередь Artix-Queue.
- Запрос скидок и списание бонусных баллов всегда производятся online.
- Операции по отмене начисления производятся online.