Начиная с версии 4.6.229 реализована возможность проверки доступности нескольких удаленных серверов онлайн-карт. |
В кассовом ПО Artix реализована возможность получения информации о картах и клиентах через сервис работы с онлайн-картами, чтобы исключить необходимость прогрузки больших справочников карт и клиентов на кассу.
Использование сервиса работы с онлайн-картами задается параметром enable
в файле конфигурации /linuxcash/cash/conf/ncash.ini.d/artixbonus.ini
:
true
получение данных о картах и клиентах осуществляется через сервис работы с онлайн-картами,false
информация о клиенте будет получена из БД кассы, а информация по карте с бонусного сервера.Получение данных возможно по номеру карты и по номеру телефона. |
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
enable | логический |
| Включить получение карт и клиентов через сервис работы с онлайн-картами | По умолчанию false |
url | строковый | Список адресов удаленного сервера | По умолчанию Для работы с КС используются url вида " Адреса удаленного сервера в списке необходимо указать через запятую | |
user | строковый | Имя пользователя для доступа к сервису работы с онлайн-картами | | |
password | строковый | Пароль для доступа к сервису работы с онлайн-картами | | |
timeout | целочисленный | Таймаут обращения к серверу | По умолчанию 5 секунд |
[ArtixBonus.OnlineCards] ; Настройки для получения карт через сервис работы с онлайн-картами для карт Артикс Бонус и дисконтных карт ; Включить получение карт через сервис работы с онлайн-картами ; по умолчанию false ;enable = false ... ; Список адресов удаленного сервера ;url = "http://192.169.0.1:8096/v1/cards, http://192.169.0.2:8096/v1/cards, http://192.169.0.3:2555/v1/cards" ; Имя пользователя для доступа к сервису работы с онлайн-картами ;user = user ; Пароль для доступа к сервису работы с онлайн-картами ;password = password ; Таймаут обращения к серверу ; По умолчанию 5 секунд ;timeout = 5 |
В кассовом ПО Artix реализована возможность задавать интервал проверки доступности списка серверов онлайн-карт в секундах, регулируется настройкой pingInterval
в секции [ArtixBonus.OnlineCards]
конфигурационного файла /linuxcash/cash/conf/ncash.ini.d/artixbonus.ini
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
pingInterval | целочисленный | Интервал проверки доступности списка серверов онлайн-карт в секундах | По умолчанию выключено ( Для проверки доступности серверов необходимо задать значение параметра |
[ArtixBonus.OnlineCards] ... ; Интервал проверки доступности списка серверов онлайн-карт в секундах ; По умолчанию выключено (-1) ;pingInterval = -1 |
В кассовом ПО Artix реализована возможность задавать количество потоков процессора, используемых для проверки доступности серверов, регулируется настройкой maxThreadCount
в секции [ArtixBonus.OnlineCards]
конфигурационного файла /linuxcash/cash/conf/ncash.ini.d/artixbonus.ini
:
1
будет последовательно выполнена проверка доступности для каждого из серверов в списке url
,при значении > 1
проверка доступности серверов будет выполнена в отдельных потоках.
Приоритет выбора серверов для проверки определяется на основе порядка сервера в списке. Если по истечении таймаута обращения к серверу (параметр timeout
) соединение не было установлено, то для проверки будет выбран следующий сервер.
Кассовое ПО будет отправлять запросы на тот сервер, с которым удалось установить соединение.
При увеличении количества потоков процессора, используемых для проверки доступности серверов, возрастает как скорость проверки, так и нагрузка на процессор. |
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
maxThreadCount | целочисленный | Количество потоков процессора, используемых для проверки доступности серверов | По умолчанию Работает в сочетании с параметром |
[ArtixBonus.OnlineCards] ... ; Количество потоков процессора, используемых для проверки доступности серверов ; По умолчанию 1 ;maxThreadCount = 1 |
Для просмотра информации о карте по номеру телефона необходимо для команды COMMAND_CARDINFO
настроить следующие параметры:
cardNumberType = 1
(способ ввода карты),cardMode = 1
(тип карты "Артикс Бонус").Подробнее о настройке действий и команд можно прочитать в разделе "Настройка действий".
При добавлении карты в чек отправляется последовательный запрос сервису работы с онлайн-картами (получение данных о картах и клиентах) и бонусному серверу (получение баланса и статуса карты):
Функционал доступен только при включенной настройке |
При отсутствии связи с сервером онлайн-карт клиенту может быть назначена специальная скидка-компенсация, которая выбирается кассиром вручную. Для скидки необходимо в утилите администрирования Yuki задать условие
check["serveravailable"] == 0
. Если во время формирования чека сервер онлайн-карт вновь станет доступен, то скидка, выбранная кассиром, перестанет действовать.
Подробнее о назначении скидки вручную можно прочитать в разделе "Выбор скидки кассиром (ручная скидка)". Подробнее о написании условий для скидок можно прочитать в разделе "Написание условий вручную".
Функционал доступен только при включенной настройке |
При получении данных через сервис онлайн-карт в ответе от сервера на кассу могут быть переданы названия групп сегментов. Они задаются на сервере сегментов.
{ "cardgroup": { "bonususecase": 0, "cardmode": 1, "discounttype": 0, "discountvalue": 0, "idcardgroup": 3, ... }, "cardstatus": 0, "client": { ... "phonenumber": "79153223747", "segments": { "mf": "Средние", "rf": "В риске", "rfm": "В риске", "rm": "В риске" }, ... }, "idcard": "289a0f9e-dec1-4f5f-b12c-7220fe92b28c", "number": "4000000001901470" } |
Эти значения можно использовать при написании условий в утилите администрирования Yuki для применения скидочных действий в зависимости от группы сегментов. Например:
|
Названия групп сегментов указываются в нижнем регистре. |
Подробнее о написании условий для скидок можно прочитать в разделе "Написание условий вручную".
Условия для применения скидочных действий в зависимости от группы сегментов также может быть сгенерировано автоматически. Для этого необходимо:
После загрузки на кассу условие будет сгенерировано автоматически. При просмотре через утилиту администрирования Yuki оно будет иметь вид:
card.get('card', {}).get('client', {}).get('segments', {}).get('rf') in (u'Уходящие') |