Всем доброго дня. Сегодня мы разберем крайне актуальную тему, которая волнует многих представителей бизнеса и разработчиков 1С: как отойти от устаревших пластиковых дисконтных карт и внедрить современные, универсальные и удобные виртуальные решения. Мы проанализируем различные подходы, обсудим их преимущества и недостатки, а также рассмотрим, как можно адаптировать систему 1С:Розница для работы с ними.
Переход от физических пластиковых дисконтных карт к их виртуальным аналогам – это уже не просто тренд, а повсеместная реальность. Многие пользователи предпочитают хранить все свои скидочные и бонусные карты в специальных мобильных приложениях-агрегаторах. Эти приложения не только удобно хранят карты, но и могут предоставлять дополнительную информацию, например, о балансе баллов или текущих акциях. Давайте вместе выясним, какие пути мы можем выбрать для создания нашей универсальной дисконтной карты.
Рассмотрим одну из идей, которая может показаться привлекательной на первый взгляд: использовать в качестве дисконтной карты уже существующий государственный идентификатор клиента, такой как номер страховой карты (например, личный номер в Беларуси) или СНИЛС в России. Мы можем рассуждать так: этот номер является уникальным по всей стране, выдается человеку фактически навсегда и не требует изготовления дополнительного пластика. Для удобного считывания можно было бы генерировать QR-код на основе этого номера, который клиент мог бы распечатать или хранить в виде скриншота на телефоне.
Преимущества, которые мы могли бы выделить в этом подходе:
Однако, с чем мы можем столкнуться на практике, и почему эта идея часто отклоняется:
Если бы мы все же решились на такой подход в 1С:Розница:
Нам пришлось бы доработать конфигурацию. В частности, изменить "Тип" в реквизитах карты, чтобы можно было вписывать коды, которые могут содержать не только цифры, но и буквы (как это часто бывает в СНИЛС или личных номерах). Также потребовалось бы прописать диапазон карт, если это применимо.
Мы видим, что, несмотря на кажущуюся простоту и универсальность, этот подход имеет множество подводных камней, особенно в части конфиденциальности и удобства использования для большинства клиентов.
Давайте рассмотрим более распространенный и менее рискованный подход: использование номера телефона клиента в качестве основного идентификатора дисконтной карты. Эта идея уже имеет множество примеров успешной реализации на рынке.
Преимущества использования номера телефона:
Потенциальные проблемы и их эффективные решения:
Например, в 1С:Рознице мы можем создать или настроить обработку, которая при изменении номера телефона клиента в его учетной записи будет привязывать существующие бонусы и историю к новому номеру. Это может быть реализовано путем изменения соответствующего реквизита в регистре накопления бонусов и в регистре сведений об истории покупок.
// Примерный псевдокод для обработки замены карты в 1С
Функция ПеренестиБонусыИИсторию(СтарыйИдентификатор, НовыйИдентификатор)
// Находим все бонусы по старому идентификатору
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Бонусы.Контрагент,
| Бонусы.Количество
|ИЗ
| РегистрНакопления.Бонусы КАК Бонусы
|ГДЕ
| Бонусы.ИдентификаторКарты = &СтарыйИдентификатор";
Запрос.УстановитьПараметр("СтарыйИдентификатор", СтарыйИдентификатор);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
НаборЗаписейБонусов = РегистрыНакопления.Бонусы.СоздатьНаборЗаписей();
НаборЗаписейБонусов.Отбор.ИдентификаторКарты.Установить(СтарыйИдентификатор);
НаборЗаписейБонусов.Прочитать();
// Модифицируем записи, меняя идентификатор
Для Каждого ЗаписьБонуса Из НаборЗаписейБонусов Цикл
ЗаписьБонуса.ИдентификаторКарты = НовыйИдентификатор;
КонецЦикла;
НаборЗаписейБонусов.Записать();
// Аналогично для истории покупок
// ...
Возврат Истина;
КонецФункции
Наиболее современный и удобный подход, который повсеместно развивается, — это выпуск виртуальных дисконтных карт в виде QR-кода или штрих-кода, хранимого в смартфоне. Этот вариант дает максимальное удобство для пользователя и минимизирует расходы бизнеса на производство пластика.
Преимущества виртуальных карт в смартфоне:
Методы идентификации клиента в таких системах:
Механизмы восстановления и управления виртуальными картами:
Механизм восстановления карты по e-mail или номеру телефона сделать не проблема. Если клиент не хочет предоставлять свой e-mail или номер телефона, мы можем предусмотреть, что опция восстановления карты будет ему недоступна, что является допустимым компромиссом. Для усиления безопасности, особенно при "выдаче" или списании бонусов, мы можем жестко привязать карту к человеку, используя, например, подтверждение по SMS-коду. Это уже вопрос к создателям подобных приложений и интеграторам, но технически это не сложно реализовать.
Независимо от выбранного подхода, вопрос конфиденциальности персональных данных остается ключевым. Мы должны очень внимательно подходить к тому, какие данные собираем и как их храним.
Избыточность и риски чувствительных идентификаторов:
Мы уже говорили, что использование таких чувствительных идентификаторов, как СНИЛС или другие национальные номера, для дисконтных карт является избыточным и несет значительные риски. Эти данные не предназначены для массового использования в торговле и их утечка может привести к серьезным последствиям для клиентов и репутационным потерям для компании. Компаниям, работающим с программами лояльности, критически важно соблюдать законодательство о персональных данных.
Необходимый минимум данных:
В большинстве случаев для дисконтной карты достаточно хранить:
В моем варианте предполагалось хранить только личный номер (если это внутренний ID, а не государственный) и телефон. Мы должны понимать, что даже этот минимум данных может быть чувствительным.
Риски сопоставления данных:
Важно помнить, что даже если по отдельности данные не являются секретными (например, ФИО, телефон, дата рождения, история покупок), их совокупность позволяет идентифицировать человека и требует особого обращения. Сопоставление нашего телефонного номера с уже существующими "слитыми" базами данных может дать злоумышленникам практически полную информацию о человеке. Поэтому мы должны быть крайне осторожны.
Обязанности по защите персональных данных:
Компании обязаны:
Плюсом, мы должны учитывать, что добавление чувствительных персональных данных добавляет нам "головняк" на хранение. Мы должны строго соблюдать все нормы безопасности.
Для внедрения любой из вышеописанных концепций виртуальных дисконтных карт нам потребуется внести изменения в конфигурацию 1С:Розница. Рассмотрим ключевые аспекты:
1. Изменение реквизитов карты:
Если мы планируем использовать QR-коды, которые могут содержать буквенно-цифровые последовательности, или специфические внутренние идентификаторы, нам необходимо будет изменить "Тип" в реквизитах карты в 1С:Розница. Это позволит системе корректно обрабатывать и хранить коды, которые могут включать не только цифры, но и буквы, а также специальные символы. Например, мы можем расширить длину поля и изменить его тип на строковый с поддержкой всех необходимых символов.
2. Настройка диапазонов карт:
Если мы используем внутреннюю нумерацию карт (независимо от того, привязана она к телефону или нет), нам необходимо будет прописать диапазоны карт. Это позволит системе автоматически генерировать новые номера и контролировать их уникальность. Для этого мы можем использовать стандартные механизмы нумерации объектов в 1С или разработать собственный алгоритм генерации уникальных идентификаторов.
3. Интеграция с SMS-сервисами:
При выборе номера телефона в качестве идентификатора или для подтверждения операций (например, списания бонусов), потребуется интеграция с внешними SMS-шлюзами. Это позволит отправлять SMS-коды для верификации. Мы можем использовать готовые модули интеграции, если они есть для нашей версии 1С:Розница, или разрабатывать собственный механизм взаимодействия с API SMS-провайдера.
// Примерный псевдокод для отправки SMS в 1С
Функция ОтправитьSMS(НомерТелефона, ТекстСообщения)
// Предполагается, что есть внешний компонент или веб-сервис для отправки SMS
// Могут использоваться HTTP-запросы к API SMS-провайдера
Попытка
HTTPЗапрос = Новый HTTPЗапрос("/send_sms");
HTTPЗапрос.УстановитьТелоИзСтроки("phone=" + НомерТелефона + "&text=" + ТекстСообщения);
HTTPСоединение = Новый HTTPСоединение("api.smsprovider.com",,,,,, 60);
HTTPОтвет = HTTPСоединение.Отправить(HTTPЗапрос);
Если HTTPОтвет.КодСостояния = 200 Тогда
Возврат Истина;
Иначе
ЗаписьЖурналаРегистрации("Ошибка отправки SMS: " + HTTPОтвет.КодСостояния, УровеньЖурналаРегистрации.Ошибка);
Возврат Ложь;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Исключение при отправке SMS: " + ОписаниеОшибки(), УровеньЖурналаРегистрации.Ошибка);
Возврат Ложь;
КонецПопытки;
КонецФункции
4. Обработки для замены карты и переноса данных:
Как мы уже выяснили, смена номера телефона или утеря виртуальной карты не должна приводить к потере бонусов или истории. Для этого мы можем использовать или адаптировать уже существующие в 1С обработки для замены карты. Если таких обработок нет, мы разработаем собственные, которые позволят менеджеру легко переносить все данные клиента, включая накопленные бонусы и историю покупок, с одного идентификатора на другой, сохраняя целостность клиентского профиля. Это критически важно для маркетинга и поддержания лояльности.
5. Доработка кассового модуля:
Для считывания QR-кодов или работы с NFC/BLE потребуется адаптация кассового программного обеспечения. Это может включать обновление драйверов для сканеров QR-кодов, интеграцию с новыми типами считывателей (например, NFC-модулями) и соответствующую доработку интерфейса кассира в 1С:Розница, чтобы он мог выбрать нужный способ идентификации клиента.
Мы видим, что реализация универсальной дисконтной карты в 1С:Розница – это комплексная задача, требующая как бизнес-анализа, так и технической доработки. Однако, при правильном подходе, мы можем создать мощный и удобный инструмент лояльности.
В дополнение к обсуждению на форуме 1С о создании универсальной дисконтной карты, можно отметить несколько современных тенденций и решений, которые развиваются в сфере программ лояльности. В настоящее время наблюдается повсеместный переход от физических пластиковых дисконтных карт к их виртуальным аналогам. Многие пользователи предпочитают хранить все свои скидочные и бонусные карты в специальных мобильных приложениях-агрегаторах, таких как "Кошелёк", Stocard, Apple Wallet или Google Pay, что позволяет освободить бумажник от лишнего пластика. Эти приложения не только хранят карты, но и могут предоставлять дополнительную информацию, например, о балансе баллов или текущих акциях.
Для идентификации клиента в таких системах, помимо предложенных в теме номера страховой карты или телефона, широко используются QR-коды и штрих-коды: Они являются основным способом считывания виртуальных карт и могут быть быстро сгенерированы и отображены на экране смартфона. QR-коды также используются для быстрой регистрации в программе лояльности, размещая их на чеках или рекламных материалах в магазинах. Технология NFC (Near Field Communication): Позволяет идентифицировать клиента простым прикладыванием смартфона к считывателю на кассе, при условии наличия NFC в телефоне и соответствующего платежного приложения. Bluetooth Low Energy (BLE): В некоторых системах идентификация происходит автоматически при включенном Bluetooth на смартфоне клиента и наличии специального устройства на кассе. Этот метод может потребовать дополнительных инвестиций в кассовое оборудование.
Что касается использования номера телефона в качестве идентификатора, то, несмотря на риски, связанные со сменой номера, современные программы лояльности активно используют его. Для предотвращения мошенничества и фейковых регистраций применяются различные методы верификации, включая подтверждение через SMS-код или даже звонок, при котором клиенту предлагается ввести последние цифры входящего номера. Такие подходы помогают убедиться, что номер принадлежит реальному пользователю. Программы лояльности обычно предусматривают механизмы для обновления контактных данных клиента и переноса накопленных бонусов и истории покупок на новый номер или карту, сохраняя при этом целостность клиентского профиля.
Вопрос конфиденциальности персональных данных остается ключевым. Использование таких чувствительных идентификаторов, как СНИЛС или другие национальные номера, для дисконтных карт считается избыточным и несет значительные риски. Компании, работающие с программами лояльности, обязаны соблюдать законодательство о персональных данных, разрабатывать и публиковать политики конфиденциальности, получать явное согласие клиентов на обработку их данных и предоставлять возможность отзыва этого согласия. Для защиты данных используются шифрование и регулярные аудиты безопасности. Совокупность данных, даже если по отдельности они не являются секретными (ФИО, телефон, дата рождения, история покупок), позволяет идентифицировать человека и требует особого обращения.
Виртуальные карты предлагают не только удобство, но и экономию для бизнеса, так как сокращают расходы на производство пластика. Высвобожденные средства можно направить на углубленную аналитику и более персонализированную коммуникацию с клиентами.
При создании универсальной дисконтной карты мы стремимся найти оптимальный баланс между удобством для клиента, эффективностью для бизнеса и безопасностью персональных данных. Каждый из рассмотренных подходов имеет свои нюансы, и выбор конкретного решения будет зависеть от специфики нашего бизнеса и требований клиентов.