Регистрация контакта через SMS сообщение

Редактировал(а) Татьяна Брыкова 2024/06/10 06:54

Система позволяет регистрировать участника в программе лояльности посредством отправки им SMS сообщения на специальный номер с напечатанным на чеке кодом. К созданному в системе участнику может быть автоматически привязана виртуальная карта.

Для генерации кода при обработке фискального чека необходимо использовать в тексте сообщения на чек в правиле метапеременную %code_registration%. При этом:

Далее клиент отправляет SMS на специальный номер, указав в тексте SMS сообщения только код для регистрации, который был напечатан на чеке. При обработке входящей SMS с кодом в системе происходят проверки.

Если код регистрации не найден, или найден, но истёк по сроку действия, или найден, но уже был использован, то создаётся и отправляется на мобильный телефон клиента ответное SMS с ошибкой по шаблону, внешний идентификатор которого указывается в настройке Loyalty.Registration.IncomingSms.ErrorCode.SMSTemplate. Есть возможность настроить количественный лимит ответных SMS сообщений по данному шаблону на один номер мобильного телефона в одни календарные сутки. Значение этого лимита задаётся в настройке Loyalty.Registration.IncomingSms.ErrorCode.DayLimit.

Если код регистрации найден, не истёк по сроку действия и не использован, то проверяется в базе наличие контакта с указанным мобильным номером телефона:

  1. Если контакт найден:
  2. Если контакт не найден, то в системе создаётся новый контакт со следующими данными:
    • «Мобильный телефон» = номер телефона клиента, от которого поступило входящее SMS сообщение с кодом.
    • «Мобильный телефон проверен» = Да.
    • «Дата регистрации» = текущая дата.
    • «Источник регистрации» = Входящее сообщение.

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

При этом если настройка Loyalty.Registration.IncomingSms.BindVirtualCard = 1, то к созданному контакту привязывается виртуальная карта (свободная карта из пула виртуальных карт с типом в настройке Loyalty.Registration.IncomingSms.VirtualCardType).

Созданному контакту на мобильный телефон отправляется ответное SMS сообщение по шаблону, внешний идентификатор которого указывается в настройке Loyalty.Registration.IncomingSms.SuccessContactCreation.SMSTemplate.

Периодически в базе происходит очистка старых кодов для регистрации. Старые коды хранятся Х дней с момента их даты окончания, где Х - значение настройки Loyalty.Processing.RegistrationCode.IncomingSms.LogStorageDays.

Все упомянутые в этом разделе настройки являются партнерскими (партнёрская настройка указывается через расширенный атрибут партнера). В случае с настройками генерации кода для регистрации при обработке фискального чека партнер определяется из чека. В случае с настройками при обработке входящего SMS сообщения партнер определяется исходя из номера телефона для входящих SMS, указываемого в связанной с партнером записи «Список телефонов». Если у партнера нет расширенного атрибута, то проверяется тогда значение соответствующей системной настройки.