Программное обеспечение Artix позволяет добавлять карту клиента в чек при совершении покупки несколькими способами: при помощи сканеров, ридеров, банковских терминалов.

Поиск и верификация карты на сервере 

Обработка запросов от кассы на поиск и верификацию карты на кассовом сервере обрабатывается в соответствии с местом поиска, которое определяется для каждой группы карт в таблице cardgroupsearchplace. В качестве возможных мест поиска могут быть заданы:

  • MAIN_CARD – поиск карты осуществляется по переданному номеру в таблице cardTemp. На кассу возвращается карта с переданным номером.
  • ADDITIONAL_CARD – поиск карты осуществляется по переданным номеру дополнительной карты и коду соответствующей ей группы в таблице additionalCardTemp.

В том случае, если с кассы на сервер передан номер дополнительной карты и поиск будет произведен в таблице additionalcardTemp, то для поиска могут быть использованы поля cardnumber (номер карты) и idclient (ID клиента). При этом поле cardnumber имеет приоритет перед idclient:

  • если в таблице additionalcardTemp задано поле cardnumber, то его значение используется для поиска карты в таблице cardTemp,
  • если в таблице additionalcardTemp указано значение поля idclient, но не указано значение cardnumber, то поиск будет осуществляться в следующем порядке:
    1. По ID клиента будет произведен поиск записи в таблице clientTemp. Если клиент не найден, то на кассу вернется ошибка.
    2. При обнаружении клиента сервис проверяет все карты клиента, отсекая заблокированные и просроченные. Если будет обнаружена одна активная карта, то она будет использована в последующей обработке. Если клиент имеет несколько активных карт, то на кассу будет возвращена ошибка.

При обнаружении подходящей карты по запросу от кассы сервис выполняет ее верификацию по номеру. Способ верификации передается с кассы вместе с запросом на поиск карты:

  • при значении 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".
  • Идентификатор отправителя СМС, по которому шлюз понимает, откуда отправлена СМС – для шлюза 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-адреса, отправляемые в СМС, будут преобразовываться в короткие ссылки.
  • No labels