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

Кассовое ПО Artix поддерживает применение дисконтных и бонусных воздействий, применение купонов системы лояльности Mindbox, а также возможность печати сообщения на чеке.

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

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

НаименованиеТип данныхВозможные значенияОписаниеПримечания
mindboxстроковый
  • on
  • off
Активация модуля системы лояльности 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 необходимо:

  1. Завести группу бонусных карт с типом карты Mindbox (БД Dictionaries таблица Cardgroup  поле cardmode = 24).
  2. Активировать модуль системы лояльности Mindbox (см. Конфигурирование модуля Mindbox).
  3. Настроить подключение к серверу системы лояльности (см. Конфигурирование модуля Mindbox).
  4. Перезапустить кассовую программу.
  5. Применить бонусную карту в чеке.

Операции с картой

Настройками сервера системы лояльности предусмотрены следующие операции с картой:

  • Создание карты – соответствует команде COMMAND_CARDCREATE.
  • Замена карты – соответствует команде команда COMMAND_CARDREPLACE.
  • Выдача карты – соответствует команде COMMAND_CARDISSUANCE.

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

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

Создание карты (регистрация клиента)

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

После ввода номера телефона, который отсутствует на сервере системы лояльности, будет создан клиент с наименованием "Не указаны ФИО".
В чек будет добавлена карта с введенным номером телефона.

Замена карты

Настройками сервера системы лояльности предусмотрена замена карты:

После выбора заменяемой карты необходимо ввести номер выдаваемой карты:

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

Выдача карты

Настройками сервера системы лояльности предусмотрена выдача карты клиенту:

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

Продажа

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

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

Суммирование внутренних и внешних скидок зависит от правил акции в Mindbox.

Добавление карты

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

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

При добавлении карты по номеру телефона номер последней заведенной карты клиента будет отображен в информации о карте и сохранен в БД.

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

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

    • маску допустимых номеров карт:

      ^\+7([0-9]{10})|^7([0-9]{10})|^8([0-9]{10})|(^9[0-9]{9})

    • правило преобразования:

      +7\1\2\3\4

    • тип карты cardMode = 24.

  3. Для правила поиска карт установить значение "По номеру карты".
  4. В утилите администрирования Yuki на клавишу настроить действие "Добавить карту" с командой COMMAND_CARD и параметрами:
    • cardNumberType со значением 1,
    • cardMode со значением 24.
    О настройке действий подробнее можно прочитать в разделе "Настройка действий".

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

После ввода номера телефона будет выведен диалог, в котором необходимо указать код подтверждения, полученный в SMS-сообщении:

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

В кассовом ПО Artix реализована возможность запроса авторизации только при списании бонусов с карты лояльности. Данное поведение задается параметром authorizeOnlyOnSpendPoints /linuxcash/cash/conf/ncash.ini.d/mindbox.ini в секции [Mindbox]:

  • при значении true авторизация требуется только при списании бонусов,
  • при значении false авторизация требуется при добавлении карты в чек.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
authorizeOnlyOnSpendPointsлогический
  • true
  • false
Авторизация только при списании бонусовПо умолчанию 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логический
  • true
  • false
Активация виртуальной карты для клиента без картПо умолчанию 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логический
  • true
  • false
Сохранять заказ (примененные скидки) перед печатью чекаПо умолчанию 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.
  • No labels