Panel | ||||
---|---|---|---|---|
|
Сервис для выдачи виртуальных карт представляет собой сервис, который работает напрямую с кассовым и бонусным сервером. Предназначен для быстрой выдачи карты клиенту, а также создания виртуальных карт.
...
Установка сервиса производится командой:
Code Block | ||
---|---|---|
| ||
apt-get install artixcs-issuance-card |
Настройка работы сервиса осуществляется в конфигурационном файле application.properties
, который находится в директории/opt/artixcs-issuance-card/application.properties
.
Code Block | ||||
---|---|---|---|---|
| ||||
#Подключение к кассовому серверу 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 |
Info |
---|
Для отправки СМС о выдаче карты с собственного СМС шлюза в файле /opt/artixcs-issuance-card/application.properties необходимо добавить строку в форматенастройку: sms.gateway.key = <ключ СМС шлюза> . |
Предварительно необходимо настроить СМС шлюз, подробнее об этом в разделе "Настройки сервера" (подраздел "СМС").
Info |
---|
Чтобы задать время резервирования анонимной карты необходимо в файл /opt/artixcs-issuance-card/application.properties добавить настройку: card.reserve.expireTime = <количество_секунд> . По умолчанию 3600 секунд. |
Принцип работы
Сервис выдачи карт выполняет следующие функции:
...
- Выдача уникальной карты клиенту.
- Если клиент не был зарегистрирован (учтен в системе), то он создается автоматически, исходя из тех данных, которые были направлены в запросе. Следующим этапом происходит привязка карты к клиенту по ее номеру. Если в процессе назначения привязки произошла ошибка, то клиент буден удален.
- Если на сервисе задан текст для приветственного сообщения, то клиенту будет направлено соответствующее подтверждение посредством СМС.
- Если на сервисе включено начисление приветственного бонуса при выдаче карты, то клиенту будет начислено заданное количество баллов с заданным сроком действия.
Получение пин-кода для создания карты.
В случае отсутствия клиента или карты Если клиент или карта отсутствуют в системе, то на кассовый сервер будет направлен запрос на получение пин-кода для верификации клиента. Ответом на данный запрос будет пин-код.
В случае если Если клиент существует, но у него нет карты, то на кассовый сервер также будет направлен соответствующий запрос на получение пин-кода. Ответом на данный запрос будет пин-код.
В случае если Если клиент существует , и у него есть привязанная карта (или карты, если их несколько), то будет направлено соответствующее сообщение в ответном запросе.
Info Пин-код, полученный от кассового сервера, по - умолчанию хранится 300 секунд. - Если на сервисе задан текст для приветственного сообщения, то клиенту будет направлено соответствующее подтверждение посредством СМС.
Создание виртуальной карты с помощью пин-кода.
При создании виртуальной карты учитывается префикс и длина генерируемой карты. Длина генерируемой части номера карты должна быть в диапазоне от 4 до 200 символов.В случае если Если действие пин-кода истекло или пин-код истек или не был отправлен, то процесс создания виртуальной карты будет прерван, и об этом будет направлено соответствующее сообщение.
В случае отсутствия номера телефона клиента создается клиент по заданному номеру телефона, и с Если по номеру телефона клиент не найден, то по указанному номеру телефона будет создан новый клиент. С помощью настройки задается номер специальной даты и ее имя. В качестве специальной даты назначается текущая дата. Остальные параметры клиента будут сохранены, исходя из тех данных, которые были направлены в запросе. Далее происходит генерация уникального номера карты. В процессе генерации отправляются запросы на кассовый сервер, в рамках которых происходит проверка уникального номера карты.
В случае если Если карта с генерируемым номером уже существует на кассовом сервере, то будет произведена повторная генерация. Количество повторных генераций вычисляется по формуле 9 * 10 длина генерируемого префикса.
В случае если Если клиент существует, но у него отсутствует карта, будет произведена генерация уникального номера то будет сгенерирован уникальный номер карты. После завершения генерации уникального номера карты происходит процедура создания карты на кассовом сервере, а в последствии и затем на бонусном сервере. Если в процессе создания карты возникла какая-либо ошибка, произойдет удаление ранее созданных карт на кассовом и бонусном серверах.
В случае если Если клиент существует, и у него есть привязанная карта (или карты, если их несколько), то в ответе на запрос будет направлено соответствующее сообщение в ответе на запрос.
...
...
syntaxHighlightTheme | arta |
---|
...
- Создание
...
- виртуальной
...
- карты без проверки пин-кода.
При создании виртуальной карты учитывается префикс и длина генерируемой карты. Длина генерируемой части номера карты должна быть в диапазоне от 4 до 200 символов.- Если по номеру телефона клиент не найден, то по указанному номеру телефона будет создан новый клиент. С помощью настройки задается номер специальной даты и ее имя. В качестве специальной даты назначается текущая дата. Остальные параметры клиента будут сохранены, исходя из тех данных, которые были направлены в запросе. Далее происходит генерация уникального номера карты. В процессе генерации отправляются запросы на кассовый сервер, в рамках которых происходит проверка уникального номера карты.
- Если карта с генерируемым номером уже существует на кассовом сервере, то будет произведена повторная генерация. Количество повторных генераций вычисляется по формуле 9 * 10 длина генерируемого префикса.
Если клиент существует, но у него отсутствует карта, то будет сгенерирован уникальный номер карты. После завершения генерации уникального номера карты происходит процедура создания карты на кассовом сервере, а затем на бонусном сервере. Если в процессе создания карты возникла какая-либо ошибка, произойдет удаление ранее созданных карт на кассовом и бонусном серверах.
Если клиент существует, и у него есть привязанная карта, то в ответе на запрос будет направлено соответствующее сообщение.
- Резервирование анонимной карты.
- Осуществляется генерация уникального номера анонимной карты. Если карта с генерируемым номером уже существует на кассовом сервере, то будет произведена повторная генерация. Количество повторных генераций вычисляется по формуле 9 * 10 длина генерируемого префикса.
Привязка карты к клиенту не осуществляется
Info Номера карт, которые не были использованы за время, предназначенное для резервирования анонимной карты, могут быть использованы повторно при включенной настройке
use.cardnumber.repeatedly
.
- Создание карты по номеру ранее зарезервированной анонимной карты.
- После завершения генерации уникального номера карты происходит процедура создания карты на кассовом сервере, а затем на бонусном сервере. Если в процессе создания карты возникла какая-либо ошибка, произойдет удаление ранее созданных карт на кассовом и бонусном серверах.
- Полученный в ходе генерации номер карты привязывается к необходимому клиенту.
Info |
---|
При включении настройки cashserver.start.generate.dict будет осуществлена генерация справочников после успешной привязки карты к клиенту. |