Интеграция

Редактировал(а) Татьяна Брыкова 2025/08/15 11:47

 Электронные карты лояльности в Wallet. Интеграция с сервисом OSMI Cards

В рамках интеграции системы ML с сервисом OSMI Cards есть возможность реализовать следующие бизнес-сценарии для участников программ лояльности:

  • Регистрация участника посредством сканирования QR-кода с привязкой карты в Wallet.
  • Передача из ML в Wallet следующей информации по участнику ПЛ: Фамилия, Имя, Телефон, Email, Уровень, Активный баланс бонусов. Обновление информации либо вручную участником в приложении Wallet, либо автоматически по событию изменения баланса (в т.ч. по событию чека с начислением/списанием бонусов) или по событию изменения уровня участника.
  • Отправка PUSH с количеством начисленных бонусов по событию чека с начислением бонусов.
  • Отправка PUSH с количеством списанных бонусов по событию чека со списанием бонусов.
  • Отправка PUSH с обновленным уровнем по событию изменения уровня участника.
  • Передача и сохранение статусов карты из Wallet в ML (например, при удалении карты в Wallet передается соответствующий статус Wallet карты в ML).

В приложении Wallet карта лояльности имеет визуальное отображение в виде баркода или штрих-кода, что позволяет идентифицировать участника на кассе посредством сканирования данного визуального ID карты Wallet.

В рамках функциональности подарочных (денежных) сертификатов есть возможность реализации следующих бизнес-сценариев:

  • Отправка на телефон и электронную почту владельца сертификата SMS и Email сообщения со ссылкой на привязку сертификата (карты) в Wallet – после покупки подарочного сертификата, после перевыпуска/замены подарочного сертификата, а также после возврата денег (см. методы API POS-сервиса для операций с подарочными сертификатами).
  • Передача из ML в Wallet следующей информации по сертификату: баланс денежных средств, дата окончания действия сертификата (карты). Обновление информации автоматически по событию изменения денежного баланса или даты окончания действия.
  • Деактивация старого сертификата (карты) в Wallet – после перевыпуска/замены подарочного сертификата; деактивация заблокированного сертификата (карты) в Wallet – после блокировки подарочного сертификата.
  • Передача и сохранение статусов сертификата (карты) из Wallet в ML – после привязки карты в Wallet, после удаления карты в Wallet.

 Интерфейс системы для настройки взаимодействия с OSMI Cards

Интеграция с сервисом OSMI Cards определяется записью Настройки интеграции Wallet. Записи настроек доступны в меню системы через раздел «Интеграция»:

1717077521905-305.png

Рис. Справочник настроек интеграции WALLET

Запись настройки интеграции Wallet содержит следующие параметры:

ПолеОписаниеОбязательное полеРедактирование
АктивноБинарное поле, означающее, будет ли использоваться запись данного определения атрибута при регистрируемых событиях в системе (обрабатываться процессингом).ДаПоле доступно для редактирования, заполняется вручную
ОтветственныйПользователь, ответственный за создание и ведение данной записи.ДаПоле доступно для редактирования. Заполняется из справочника пользователей.
ПодразделениеПодразделение, к которому относится данная запись.ДаПоле доступно для редактирования. Заполняется из справочника подразделений.
Общие сведения
НаименованиеНаименование настройки. Предназначено для поиска в интерфейсе.ДаПоле доступно для редактирования, заполняется вручную
ПартнёрСсылка на запись партнёра, для которого настраивается интеграция с OSMI.ДаПоле доступно для редактирования, заполняется вручную
OSMI или Wallet

Тип настройки.

Возможные значения:

  • OSMI
  • Wallet

В случае интеграции с сервисом OSMI Cards выбирать тип OSMI.

ДаПоле доступно для редактирования, заполняется вручную
Manzana API URLПараметр доступа к API сервиса OSMI Cards. Предоставляется от OSMI Cards.ДаПоле доступно для редактирования, заполняется вручную
ЛогинПараметр доступа к API сервиса OSMI Cards. Предоставляется от OSMI Cards.ДаПоле доступно для редактирования, заполняется вручную
ПарольПараметр доступа к API сервиса OSMI Cards. Предоставляется от OSMI Cards.ДаПоле доступно для редактирования, заполняется вручную
Период обмена с OSMI (в мс)Период обмена с OSMI (в мс). Рекомендуемое значение 60.ДаПоле доступно для редактирования, заполняется вручную
API IDПараметр доступа к API сервиса OSMI Cards. Предоставляется от OSMI Cards.ДаПоле доступно для редактирования, заполняется вручную
КлючПараметр доступа к API сервиса OSMI Cards. Предоставляется от OSMI Cards.ДаПоле доступно для редактирования, заполняется вручную
Зависимости
Типы картПредставление, в котором показаны связанные типы карт. В это представление добавить все типы карт, по которым будут выпускаться карты для Wallet (OSMI).
Шаблоны сообщенийПредставление со связанными шаблонами сообщений с типом OSMI. Данные шаблоны сообщений с типом OSMI определяют сообщения (запросы), которые будут отправляться в OSMI при определенных событиях.

Внешний вид карточки Настройка интеграции Wallet:

1717077564294-544.png

Рис. Справочник настроек интеграции WALLET

 Процесс настройки интеграции с сервисом OSMI Cards (стандартная функциональность)

Процесс настройки интеграции с сервисом OSMI Cards в системе состоит из следующих действий:

  • Создание настройки интеграции Wallet.

Для создания настройки предварительно необходимо получить со стороны представителей сервиса OSMI следующие параметры: API URL, Логин, Пароль, API ID, Ключ.

  • Предоставить в OSMI следующую информацию: адрес веб-сервиса OData ManagerOfficeService, сессию менеджера и ID (guid) партнера.
  • Создание и настройка шаблона карт Wallet в Личном кабинете сервиса OSMI.

Ссылка на ЛК должна быть получена также со стороны представителей сервиса OSMI. В ЛК OSMI настраивается внешний вид будущей карты в Wallet (графика, данные на лицевой стороне, на оборотной стороне). В разделе «Графика» необходимо установить изображения для пуш-иконки, для логотипа и для центральной картинки, а также цвет фона и надписей. В разделе «Лицевая сторона» требуется добавить поля, которые будут заполняться значениями из ML в рамках интеграции. В текущей версии возможно указать на лицевой стороне карты Wallet только следующие поля:

  • Активный баланс бонусов контакта.
  • Фамилия контакта.
  • Имя контакта.
  • Электронная почта контакта.
  • Мобильный телефон контакта.
  • Уровень контакта.
  • Денежный баланс карты.
  • Дата окончания действия карты.
  • Создание шаблонов сообщений с типом OSMI и связывание их с созданной настройкой интеграции Wallet.

Шаблоны сообщений с типом OSMI определяют сообщения (запросы) и события, при которых эти сообщения будут отправляться в OSMI. Например, для того чтобы можно было выпустить карту в OSMI, которая зарезервирована в пуле OSMI, то необходимо создать шаблон сообщения с типом операции = «Валидация операции по карте», Тип сообщения OSMI = «Создание карты», Тип сообщения = «OSMI». Текст сообщения в этом шаблоне должен соответствовать той информации, которую необходимо передать в приложение Wallet при создании карты. Например, если в Личном кабинете OSMI добавили поля для активного баланса бонусов контакта, фамилии контакта, имени контакта, электронной почты и мобильного телефона, а также уровня контакта, то тогда сообщение в шаблоне должно быть с таким содержанием:

{"values":[{"label":"Бонусы","value":"%contact_active_balance%"},{"label":"Фамилия","value":"%second_name%"},{"label":"Имя","value":"%first_name%"},{"label":"E-mail","value":"%Email%"},{"label":"Номер телефона","value":"%Phone%"},{"label":"Уровень","value":"%level%"}], "barcode" : { "show" : true,"showSignature" : true, "message" : "%card_num%", "signature" : "%card_num%" }}

где в label необходимо указывать название ярлыка поля из Личного кабинета OSMI, а в value – соответствующую метапеременную. Возможно использовать следующие метапеременные в шаблоне сообщений с типом OSMI:

  • %contact_active_balance% - Активный баланс бонусов контакта.
  • %second_name% - Фамилия контакта.
  • %first_name% - Имя контакта.
  • %Email% - Электронная почта контакта.
  • %Phone% - Мобильный телефон контакта.
  • %level% - Уровень контакта.
  • %card_money_balance% - Денежный баланс карты.
  • %card_expirydate% - Дата окончания действия карты.
  • %card_num% - Номер карты (необходимо указывать в элементе barcode).
  • %bonuses_amount% - Начислено баллов по чеку.
  • %date% - Дата чека, в котором было начисление баллов.
  • %bonuses_writeoff% - Списано баллов по чеку.

Возможны также следующие шаблоны сообщений с типом OSMI:

  • Обновление баркода (Тип операции = «Валидация операции по карте», Тип сообщения OSMI = «Обновление,баркод»)
  • Обновление баланса при начислениях (Тип операции = «Начисление», Тип сообщения OSMI = «Обновление,баркод»)
  • Обновление баланса при списаниях (Тип операции = «Списание», Тип сообщения OSMI = «Обновление,баркод»)

Текст сообщения в данных шаблонах аналогичен формату, приведенному выше курсивом.

  • Шаблон для PUSH при начислении баллов на чек (Тип операции = «Начисление», Тип сообщения OSMI = «Push»)
  • Шаблон для PUSH при списании баллов на чек (Тип операции = «Списание», Тип сообщения OSMI = «Push»)
  • Шаблон для PUSH при обновлении уровня контакта (Тип операции = «Личный кабинет», Тип сообщения OSMI = «Push»)

Текст сообщения в данных шаблонах для PUSH допустим в свободном формате в зависимости от того, каким должно быть push-сообщение для пользователя. Например, текст шаблона для PUSH при начислении баллов на чек может быть таким: «Вам начислено %bonuses_amount%. За покупку, совершенную %date%.».

В поле «Название шаблона в OSMI» в каждом шаблоне сообщений с типом OSMI должно быть указано наименование шаблона карт из Личного кабинета OSMI.

  • Генерация карт в ML с признаком OSMI = Да.

Для этого в шаблоне выпуска карт есть соответствующий параметр OSMI. В случае если этот параметр в шаблоне выпуска имеет значение «Да», то генерируемые по связанному с таким шаблоном заданию на выпуск карты будут иметь признак OSMI = Да.

Далее передать список выпущенных карт представителю сервиса OSMI для их резервации в пуле карт на стороне OSMI.

  • Создать в ML определение расширенного атрибута с ключом и внешним идентификатором osmi_card_download (для контакта с типом «Строка»).

Процесс настройки интеграции с сервисом OSMI Cards (функциональность подарочных сертификатов)

Процесс настройки интеграции с сервисом OSMI Cards в случае использования функциональности подарочных (денежных) сертификатов в системе практически аналогичен процессу, описанному выше, с некоторыми различиями.

В случае использования функциональности подарочных сертификатов карты в OSMI выпускаются в онлайн режиме, поэтому подарочные сертификаты не должны передаваться изначально на сторону OSMI для их резервации в пуле карт базы OSMI. Для создания карт в онлайн режиме и получения ссылки на привязку карты необходимо создать шаблон сообщения с типом OSMI и следующими параметрами: Тип операции = «Валидация операции по карте», Тип сообщения OSMI = «Создание карты и получение ссылки». Если, например, при создании карты в OSMI необходимо передать дату окончания действия сертификата, то текст в шаблоне сообщения должен быть таким:

{"expiryDate":"%card_expirydateZ%","values":[{"label":"Дата окончания действия","value":"%card_expirydate%"}], "barcode" : { "show" : true,"showSignature" : true, "message" : "%card_num%", "signature" : "%card_num%" }}

где в label необходимо указывать название ярлыка поля из Личного кабинета OSMI, а в value – метапеременные:

  • %card_expirydate% - Дата окончания действия карты в формате ДД-ММ-ГГГГ.
  • %card_expirydateZ% - Дата окончания действия карты в специальном формате для базы OSMI: ГГГГ-ММ-ДДTЧЧ:ММ:ССZ.
  • %card_num% - Номер карты (необходимо указывать в элементе barcode).

При использовании функциональности подарочных сертификатов для возможности получения ссылки на привязку карты в Wallet необходимо включить партнерскую/системную настройку Loyalty.OSMI.Integration.LinkWallet.Get (партнерская настройка указывается через расширенный атрибут партнера), а для возможности деактивации заблокированной карты в Wallet включить партнерскую/системную настройку Loyalty.OSMI.Integration.DeactivateBlockCard (партнерская настройка указывается через расширенный атрибут партнера). Для отправки SMS и Email сообщения владельцу подарочного (денежного) сертификата со ссылкой на привязку карты в Wallet также должны быть включены следующие партнерские/системные настройки:

Название настройкиОписание
Loyalty.Processing.MoneyRequest.ChargeOperation.SendInformationSMSWithLinkWallet.TurnOnНастройка, определяющая необходимость отправки информационного SMS после получения ссылки на привязку карты в Wallet при начислении денег. Значение 1, y или Y означает включенный функционал. Если значение отлично от 1, y или Y, в том числе пусто (NULL), то отправки информационного SMS не происходит. Значение по умолчанию – 0.
Loyalty.Processing.MoneyRequest.ChargeOperation.SendInformationSMSWithLinkWallet.SMSTemplateВнешний идентификатор шаблона SMS сообщения для отправки информационного SMS после получения ссылки на привязку карты в Wallet при начислении денег.
Loyalty.Processing.MoneyRequest.ChargeOperation.SendInformationEmailWithLinkWallet.TurnOnНастройка, определяющая необходимость отправки информационного Email после получения ссылки на привязку карты в Wallet при начислении денег. Значение 1, y или Y означает включенный функционал. Если значение отлично от 1, y или Y, в том числе пусто (NULL), то отправки информационного Email не происходит. Значение по умолчанию – 0.
Loyalty.Processing.MoneyRequest.ChargeOperation.SendInformationEmailWithLinkWallet.EmailTemplateВнешний идентификатор шаблона Email сообщения для отправки информационного Email после получения ссылки на привязку карты в Wallet при начислении денег.
Loyalty.Processing.MoneyRequest.ChangeOperation.SendInformationSMSWithLinkWallet.TurnOnНастройка, определяющая необходимость отправки информационного SMS после получения ссылки на привязку карты в Wallet при замене денежного сертификата. Значение 1, y или Y означает включенный функционал. Если значение отлично от 1, y или Y, в том числе пусто (NULL), то отправки информационного SMS не происходит. Значение по умолчанию – 0.
Loyalty.Processing.MoneyRequest.ChangeOperation.SendInformationSMSWithLinkWallet.SMSTemplateВнешний идентификатор шаблона SMS сообщения для отправки информационного SMS после получения ссылки на привязку карты в Wallet при замене денежного сертификата.
Loyalty.Processing.MoneyRequest.ChangeOperation.SendInformationEmailWithLinkWallet.TurnOnНастройка, определяющая необходимость отправки информационного Email после получения ссылки на привязку карты в Wallet при замене денежного сертификата. Значение 1, y или Y означает включенный функционал. Если значение отлично от 1, y или Y, в том числе пусто (NULL), то отправки информационного Email не происходит. Значение по умолчанию – 0.
Loyalty.Processing.MoneyRequest.ChangeOperation.SendInformationEmailWithLinkWallet.EmailTemplateВнешний идентификатор шаблона Email сообщения для отправки информационного Email после получения ссылки на привязку карты в Wallet при замене денежного сертификата.
Loyalty.Processing.MoneyRequest.ReturnOperation.SendInformationSMSWithLinkWallet.TurnOnНастройка, определяющая необходимость отправки информационного SMS после получения ссылки на привязку карты в Wallet при возврате денег. Значение 1, y или Y означает включенный функционал. Если значение отлично от 1, y или Y, в том числе пусто (NULL), то отправки информационного SMS не происходит. Значение по умолчанию – 0.
Loyalty.Processing.MoneyRequest.ReturnOperation.SendInformationSMSWithLinkWallet.SMSTemplateВнешний идентификатор шаблона SMS сообщения для отправки информационного SMS после получения ссылки на привязку карты в Wallet при возврате денег.
Loyalty.Processing.MoneyRequest.ReturnOperation.SendInformationEmailWithLinkWallet.TurnOnНастройка, определяющая необходимость отправки информационного Email после получения ссылки на привязку карты в Wallet при возврате денег. Значение 1, y или Y означает включенный функционал. Если значение отлично от 1, y или Y, в том числе пусто (NULL), то отправки информационного Email не происходит. Значение по умолчанию – 0.
Loyalty.Processing.MoneyRequest.ReturnOperation.SendInformationEmailWithLinkWallet.EmailTemplateВнешний идентификатор шаблона Email сообщения для отправки информационного Email после получения ссылки на привязку карты в Wallet при возврате денег.

В данных шаблонах SMS и Email сообщений для подстановки ссылки на привязку карты в Wallet должна использоваться метапеременная %card_link_wallet%.

Интеграция с платформой Mindbox

В рамках интеграции системы ML с платформой автоматизации маркетинга Mindbox предусмотрены следующие возможности:

  • Передача онлайн из ML в Mindbox информации о новом зарегистрированном участнике ПЛ (полное имя, электронная почта, мобильный телефон, согласие на получение Email, согласие на получение SMS, пол, дата рождения, номер карты, внешний идентификатор контакта, дебет бонусов, кредит бонусов, баланс бонусов, активный баланс бонусов).
  • Передача онлайн из ML в Mindbox информации об изменении данных участника ПЛ (полное имя, электронная почта, мобильный телефон, согласие на получение Email, согласие на получение SMS, пол, дата рождения, номер карты, внешний идентификатор контакта, дебет бонусов, кредит бонусов, баланс бонусов, активный баланс бонусов).
  • Передача онлайн из ML в Mindbox информации по обновленному активному балансу бонусов по карте участника ПЛ в случае начисления или списания бонусов.
  • Передача онлайн из ML в Mindbox информации по покупкам (с составом чека), совершенными участником ПЛ.

Для работы интеграции с Mindbox должна быть включена партнерская/системная настройка Loyalty.Mindbox.Integration.TurnOn (партнерская настройка указывается через расширенный атрибут партнера). По умолчанию настройка выключена.

В партнерской/системной настройке Loyalty.Mindbox.Integration.EndPointId (партнерская настройка указывается через расширенный атрибут партнера) должен быть указан соответствующий уникальный идентификатор, полученный от MindBox.

Интеграция с Аэрофлот Бонус

В рамках интеграции системы ML с Аэрофлот Бонус предусмотрены следующие возможности:

  • • Регистрация заказа с и без оплаты милями.
    • При оформлении заказа клиент может воспользоваться только одной программой лояльности: либо программой лояльности Manzana, либо программой лояльности Аэрофлот Бонус. Через какую программу лояльности будет проведен заказ определяется на кассе.
    • Списание миль возможно только при наличии онлайн связи кассы с ML и онлайн связи ML с API программы лояльности Аэрофлот Бонус.
    • Ограничения по количеству миль к списанию задаются на стороне программы лояльности Аэрофлот Бонус.
    • При списании миль начисление миль производится на сумму заказа за вычетом списания милями. Настройки механик начисления миль задаются на стороне программы лояльности Аэрофлот Бонус.
  • Отмена заказа.
  • Активация начисленных баллов по заказу.
  • Возврат заказа.
    • Возвраты по заказам с Аэрофлот должны осуществляться обязательно по запросу Return со ссылкой на чек.
    • Если по выполненному заказу со списанием миль происходит возврат (в том числе полный возврат), то мили, которые были списаны по возвращенным позициям заказа не возвращаются автоматически.
    • Если по невыполненному заказу со списанием миль происходит частичный (не полный) возврат, то мили, которые были списаны по возвращенным позициям заказа также не возвращаются автоматически.
    • В этих случаях для возврата списанных миль клиент может обратиться в Аэрофлот.

Для корректного взаимодействия ML с программой лояльности Аэрофлот Бонус на стороне Аэрофлот должны храниться идентификаторы всех торговых точек и терминалов, которые передаются с кассы в ML.

Для работы интеграции с Аэрофлот Бонус используются следующие партнерские настройки (партнерская настройка указывается через расширенный атрибут партнера):

Название настройкиОписание настройки
Integration.Aeroflot.TurnOnНастройка для включения функционала интеграции с Аэрофлот. Настройка включена, если её значение равно 1, y или Y. При прочих значениях настройка считается выключенной. Значение по умолчанию - 0.
Integration.Aeroflot.LogStorageDaysПериод хранения логов интеграции с Аэрофлот в днях. Значение по умолчанию 30.
Integration.Aeroflot.AeroflotCard.EAkeyКлюч расширенного атрибута чека, в котором передается номер карты Аэрофлот. Значение по умолчанию AeroflotCard.
Integration.Aeroflot.ConversionRateКурс конвертации в мили в рамках программы лояльности Аэрофлот Бонус. Допустимые значения – положительные десятичные числа. В качестве десятичного разделителя должна использоваться точка
Integration.Aeroflot.MaxAvailablePayment.EAkeyКлюч расширенного атрибута чека в ответе Soft чека, в котором возвращается максимальная сумма списания милями Аэрофлот в денежных единицах (в копейках). Значение по умолчанию AeroflotMaxChequePoints
Integration.Aeroflot.MaxWriteoffMiles.EAkeyКлюч расширенного атрибута чека в ответе Soft чека, в котором возвращается сумма списания в милях Аэрофлот при списании максимально доступной суммы. Значение по умолчанию AeroflotMaxWriteoffMiles.
Integration.Aeroflot.PaidByMiles.EAkeyКлюч расширенного атрибута чека в запросе Fiscal чека, в котором передается выбранная сумма списания милями Аэрофлот в денежных единицах (в копейках). Значение по умолчанию AeroflotPaidByMiles.
Integration.Aeroflot.PINCode.EAkeyКлюч расширенного атрибута чека в запросе Fiscal чека, в котором передается шифрованный PIN код карты Аэрофлот. Значение по умолчанию AeroflotPINCode.
Integration.Aeroflot.Nonce.EAkeyКлюч расширенного атрибута чека в запросе Fiscal чека, в котором передается уникальный идентификатор расчета кода аутентификации (Nonce), используемый для шифрования пин-кода. Значение по умолчанию AeroflotNonce.
Integration.Aeroflot.ConversionRate.EAkeyКлюч расширенного атрибута чека в ответе Soft чека, в котором возвращается курс конвертации в мили Аэрофлот. Значение по умолчанию AeroflotRate.

Интеграция с кассами

Список стандартных интеграций с кассами:

  • Set Retail (Crystal Set)
  • Эвотор
  • Супермаг УКМ
  • Фронтол 6
  • R-Keeper 

Подробнее с функциональностью по каждой кассе можно ознакомиться здесь.

Также есть опыт интеграции с кассами: 

  • Artix
  • Iiko
  • 1C
  • Smartix (киоск самообслуживания)

Функциональность по каждой кассе зависит от проекта.