Программное обеспечение Artix позволяет добавлять карту клиента в чек при совершении покупки несколькими способами: при помощи сканеров, ридеров, банковских терминалов.
Поиск и верификация карты на сервере
Обработка запросов от кассы на поиск и верификацию карты на кассовом сервере обрабатывается в соответствии с местом поиска, которое определяется для каждой группы карт в таблице cardgroupsearchplace
. В качестве возможных мест поиска могут быть заданы:
- MAIN_CARD – поиск карты осуществляется по переданному номеру в таблице
cardTemp
. На кассу возвращается карта с переданным номером. - ADDITIONAL_CARD – поиск карты осуществляется по переданным номеру дополнительной карты и коду соответствующей ей группы в таблице
additionalCardTemp
.
В том случае, если с кассы на сервер передан номер дополнительной карты и поиск будет произведен в таблице additionalcardTemp
, то для поиска могут быть использованы поля cardnumber
(номер карты) и idclient
(ID клиента). При этом поле cardnumber
имеет приоритет перед idclient
:
- если в таблице
additionalcardTemp
задано полеcardnumber
, то его значение используется для поиска карты в таблицеcardTemp
, - если в таблице
additionalcardTemp
указано значение поляidclient
, но не указано значениеcardnumber
, то поиск будет осуществляться в следующем порядке:- По ID клиента будет произведен поиск записи в таблице
clientTemp
. Если клиент не найден, то на кассу вернется ошибка. - При обнаружении клиента сервис проверяет все карты клиента, отсекая заблокированные и просроченные. Если будет обнаружена одна активная карта, то она будет использована в последующей обработке. Если клиент имеет несколько активных карт, то на кассу будет возвращена ошибка.
- По ID клиента будет произведен поиск записи в таблице
При обнаружении подходящей карты по запросу от кассы сервис выполняет ее верификацию по номеру. Способ верификации передается с кассы вместе с запросом на поиск карты:
- при значении NONE верификация не производится, на кассу отправляется номер найденной карты,
- при значении AUTO верификация выполняется автоматически без необходимости дополнительного подтверждения клиентом,
- при значении типа верификации, требующем ввода значения от клиента (например, sms или push), на кассу и клиенту будет направлен код, который необходимо ввести для завершения верификации.
В настоящее время произведена интеграция со следующими СМС шлюзами:- TDERA,
- SMS.RU,
SMSTRAFFIC,
- EASY_SMS,
- DEVINO_TELECOM.
После выполнения верификации на кассу в зависимости от результата отправляется номер карты, код верификации и результат верификации. В качестве результата верификации может быть передано значение:
- SUCCESS – верификация успешно пройдена,
- INTERNAL_SERVER_ERROR – внутренняя ошибка сервера, номер не удалось верифицировать,
- EXTERNAL_PLUGIN_ERROR – ошибка внешних сервисов. Например, шлюз отправки СМС не смог послать сообщение.
Настройка шлюза
Для стыковки кассового сервера с СМС шлюзом необходимо в настройках Artix Control Center (раздел "СМС") задать параметры:
- Маска телефона для отправки СМС и Преобразование телефона для отправки СМС. Данные настройки дают возможность преобразовать исходный номер телефона в нужный формат. По умолчанию если в номере телефона есть знак "+", то он отсекается, и если телефон начинается с цифры "8", а затем идет еще 10 цифр, то "8" заменится на "7". Если указано только 10 цифр, то в начало номера будет добавлена цифра "7".
Текст для СМС в формате SpEL. Доступны поля подстановки из объекта карты и поле
verifyCode
- код подтверждения. Поля магазина необходимо указывать в форматеshop.address
, а поля карты указывать напрямую, например,number
. Текст для смс указывается в одинарных кавычках. Отдельные элементы текста для смс соединяются между собой символом конкатенации +. Разрешено использование выражений java, например,false ? 'trueExp' : 'falseExp'
. Более детальное описание приведено в документации формата SpEL.Пример текста для смс'Для карты ' + card.number + ' код подтверждения: ' + verifyCode
При составлении текста для смс через карту можно использовать поля клиента:
Пример текста смс'Уважаемый ' + card.client.name + '! Ваш код подтверждения: ' + verifyCode
Шлюз TDERA
- URL шлюза для отправки СМС – url для отправки запросов. Например:
https://in.gates.wp.tdera.ru/notification/sms/send
. - Имя отправителя СМС, которое увидит получатель – любое имя отправителя СМС, которое увидит получатель.
- Идентификатор отправителя СМС, по которому шлюз понимает откуда отправлена СМС – служит для идентификации отправителя на самом шлюзе для того, чтобы отличать отправки от сервиса регистрации, магазина и прочих. По умолчанию CashServer.
- Ключ для авторизации на СМС шлюзе – указывается ключ для авторизации. Например: "
Bearer a2Fzc6FfdmVyaWZpY5F0aW1uOmthc3NhX8ZlcmlmaWNhdGlvbl90ZXN0
". В заголовок запроса будет добавлена запись: "Authorization:Bearer a2Fzc6FfdmVyaWZpY5F0aW1uOmthc3NhX8ZlcmlmaWNhdGlvbl90ZXN0
". - Пароль для авторизации на СМС шлюзе – пароль указывается при необходимости.
Шлюз SMS_RU
- URL шлюза для отправки СМС – url для отправки запросов. Например: URL
http://sms.ru/sms/send
. - Имя отправителя СМС, которое увидит получатель – имя отправителя, которое должно быть согласовано с администрацией sms.ru. Если не заполнено, то в качестве отправителя будет указан ваш отправитель по умолчанию, который указан в личном кабинете.
- Идентификатор отправителя СМС, по которому шлюз понимает откуда отправлена СМС – для шлюза SMS_RU поле не используется.
- Ключ для авторизации на СМС шлюзе – указывается API_ID, который можно получить в личном кабинете sms.ru. Например: "
3f9b1fe1-1dac-57c4-35be-e3d57e937fa3
". - Пароль для авторизации на СМС шлюзе – пароль указывается при необходимости.
Шлюз SMS_TRAFFIC
- URL шлюза для отправки СМС – url для отправки запросов, можно указать два адреса через точку с запятой. Например:
https://api.smstraffic.ru/multi.php;https://api2.smstraffic.ru/multi.php
. - Имя отправителя СМС, которое увидит получатель – имя отправителя СМС, которое увидит получатель. Можно использовать два типа альфанумерический и цифровой:
- Альфанумерический – максимальная длина 11 символов. Параметр задает отправителя сообщения, как он будет выглядеть на телефоне получателя. Может состоять из латинских букв, цифр и знаков пунктуации. Русские буквы в отправителе принудительно транслитерируются в латинские. Также допустимо использовать схожие с русскими по начертанию латинские буквы. На альфанумерического отправителя нельзя позвонить или отправить ответное сообщение. Примеры: "
MyCompany
", "787-35-95
", "SMS.Traffic
", "CMC.TPAFIK
". - Цифровой – максимальная длина 15 цифр. Если указан цифровой отправитель, абонент может отправить ответное сообщение или перезвонить по указанному в отправителе номеру. Примеры: "
74957873595
", "88001000258
", "3299
".
- Альфанумерический – максимальная длина 11 символов. Параметр задает отправителя сообщения, как он будет выглядеть на телефоне получателя. Может состоять из латинских букв, цифр и знаков пунктуации. Русские буквы в отправителе принудительно транслитерируются в латинские. Также допустимо использовать схожие с русскими по начертанию латинские буквы. На альфанумерического отправителя нельзя позвонить или отправить ответное сообщение. Примеры: "
- Идентификатор отправителя СМС, по которому шлюз понимает, откуда отправлена СМС – для шлюза SMS_TRAFFIC поле не используется.
- Ключ для авторизации на СМС шлюзе - указывается логин и пароль, разделенные символом ":". Например: "
c1000614045:password1234
". Пароль для авторизации на СМС шлюзе – пароль указывается в отдельном поле.
Пароль для авторизации на СМС шлюзе может содержать символ ":".
- если в ключе для авторизации присутствует спец.символ ":", то логин и пароль будут взяты из настройки "Ключ для авторизации на СМС шлюзе",
- если в ключе для авторизации отсутствует спец.символ ":", то логин будет взят из настройки "Ключ для авторизации на СМС шлюзе", а пароль из настройки "Пароль для авторизации на СМС шлюзе".
Шлюз EASY_SMS
- URL шлюза для отправки СМС – url для отправки запросов. Например:
https://xml.smstec.ru/api/v1/easysms/
. - Имя отправителя СМС, которое увидит получатель – имя отправителя СМС, которое увидит получатель. Это имя должно быть согласовано с EASY-SMS. Например:
Artix
. - Идентификатор отправителя СМС, по которому шлюз понимает откуда отправлена СМС – служит для идентификации отправителя на самом шлюзе для того, чтобы отличать отправки от сервиса регистрации, магазина и прочих. В терминах EASY-SMS – это идентификатор подключения (
connect_id
илиhttp id
). - Тип СМС шлюза – значение
EASY_SMS
. - Ключ для авторизации на СМС шлюзе – указывается логин для авторизации.
Пароль для авторизации на СМС шлюзе – пароль указывается при необходимости.
Шлюз DEVINO_TELECOM
- URL шлюза для отправки СМС – url для отправки запросов. Например:
https://api.devino.online/sms/messages
. - Имя отправителя СМС, которое увидит получатель – имя отправителя СМС, которое увидит получатель. Это имя должно быть согласовано с администрацией сервиса DEVINO_TELECOM. Например:
Artix
. - Идентификатор отправителя СМС, по которому шлюз понимает откуда отправлена СМС – для шлюза DEVINO_TELECOM поле не используется.
- Тип СМС шлюза – значение
DEVINO_TELECOM
. - Ключ для авторизации на СМС шлюзе – указывается API_ID, который можно получить в личном кабинете сервиса DEVINO_TELECOM. Например: "
0e9dddab-a138-40d1-ab05-5f991ebe2b77
". - Пароль для авторизации на СМС шлюзе – пароль указывается при необходимости.
- Использовать короткие ссылки в СМС – если настройка включена, то все URL-адреса, отправляемые в СМС, будут преобразовываться в короткие ссылки.