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

Установка и настройка сервиса

Установка сервиса производится командой:

apt-get install artixcs-issuance-card

Настройка работы сервиса осуществляется в конфигурационном файле /opt/artixcs-issuance-card/application.properties.

#Подключение к кассовому серверу 
cashserver.host=localhost 
cashserver.port=8080			
cashserver.login=admin
cashserver.password=admin

#Подключение к бонусному серверу
bonus.server.rest.host=localhost
bonus.server.rest.port=8080
bonus.server.rest.contextpath=/ACC/
#Авторизация на бонусном сервере через terminalid 
terminal.id=ISSUANCE_DEFAULT_TERMINAL
bonus.server.auth.terminalid=true
#Авторизация на бонусном сервере через логин и пароль
bonus.server.username=admin
bonus.server.password=admin

#Генерация справочников
cashserver.start.generate.dict=true

#Преобразование номеров телефона для поиска клиентов 
#Маска номера телефона
#Для России можно использовать ^[+]?[78]?([0-9]{10})$
regexp.phone.mask=(.*)
#Преобразование телефона. Преобразованный номер будет сохранен в БД при создании клиента, а также будет участвовать в поиске
#Для России можно использовать 7\\1
regexp.phone.transform=\\1

#Порт, на котором будет запущен текущий сервис
server.port=8094

#Настройка группы виртуальных карт (При создании карты необходимо указать идентификатор группы карт).
virtual.card.groupid=1

#Время жизни пин-кода в секундах
pincode.lifetime=300

#Настройки специальных дат
#Номер специальной даты для регистрации клиента (варьируется от 1 до 3)
special.date.number=1
#Имя специальной даты
special.date.name=registration

#Настройки для генерации номера карты
#Длина номера карты варьируется от 4 до 200 символов включая длину префикса номера карты
cardnumber.length=16
#Префикс номера карты 
cardnumber.prefix=

#Текст для смс клиенту при выдаче карты в формате SpEL
#Внимание! Текст нужно заключать в одиночные кавычки ''
#Пример: чтобы указать имя клиента в смс, запишем: 'Уважаемый(ая) ' + name + ', спасибо, что Вы с нами!'
#Если текст не указан, смс отправляться не будут
sms.text =

# Начислять приветственный бонус при выдаче карты, по умолчанию false
initial.bonus.enable = false
# Кол-во приветственных бонусов, которые будут начислены при выдаче карты(в копейках), по умолчанию 5000
initial.bonus.amount = 5000
# Кол-во дней до окончания действия бонуса, по умолчанию - 7
initial.bonus.active.days = 7
# Название группы начислений, по умолчанию greetingBonus
initial.bonus.acceptId = greetingBonus
# Помещать неиспользованные сгенерированные номера карт в список для последующего использования во избежание потери номеров в последовательности
use.cardnumber.repeatedly = true


Для отправки СМС о выдаче карты с собственного СМС шлюза в файле /opt/artixcs-issuance-card/application.properties необходимо добавить настройку: sms.gateway.key = <ключ СМС шлюза>.

Предварительно необходимо настроить СМС шлюз, подробнее об этом в разделе "Настройки сервера" (подраздел "СМС").

Чтобы задать время резервирования анонимной карты необходимо в файл /opt/artixcs-issuance-card/application.properties добавить настройку: card.reserve.expireTime = <количество_секунд>. По умолчанию 3600 секунд.

Принцип работы

Сервис выдачи карт выполняет следующие функции:

Поиск клиента осуществляется по номеру телефона.
  1. Выдача уникальной карты клиенту.
  2. Получение пин-кода для создания карты.

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

  4. Создание виртуальной карты без проверки пин-кода.
    При создании виртуальной карты учитывается префикс и длина генерируемой карты. Длина генерируемой части номера карты должна быть в диапазоне от 4 до 200 символов.
  5. Резервирование анонимной карты.
  6. Создание карты по номеру ранее зарезервированной анонимной карты.
При включении настройки cashserver.start.generate.dict будет осуществлена генерация справочников после успешной привязки карты к клиенту.