Перейти к содержанию

Личный кабинет клиента (B2C)

B2C-контур — это клиентская витрина программы лояльности: набор данных и действий, доступных конечному клиенту ритейлера. Он позволяет заказчику собрать собственный сайт или мобильное приложение поверх CM Ocean Loyalty и показывать клиенту его карту, баллы, уровень, историю операций и предложения.

В отличие от операторского и административного контуров, B2C работает от лица самого клиента: человек видит только свои данные и совершает только те действия, которые ему разрешены как участнику программы.

Назначение контура

B2C-контур не заменяет клиентское приложение ритейлера — он служит источником данных лояльности для него. Витрину (сайт, мобильное приложение, раздел в интернет-банке) строит заказчик; Loyalty отдаёт ей карту, баланс, уровень, историю и предложения в готовом виде.

Что видит клиент

Личный кабинет объединяет данные клиента в единый экран лояльности. Референсный web-кабинет организован как карта плюс несколько вкладок.

Раздел Что показывает клиенту
Карта лояльности Номер карты и штрихкод для предъявления на кассе
Баллы Доступно и всего баллов на счёте
Уровень Текущий уровень (тир) клиента в программе
Достижения Полученные клиентом бейджи — см. Достижения и бейджи
«Добавить в кошелёк» Кнопки сохранения карты в Apple Wallet / Google Кошелёк — см. Карта участника в мобильном кошельке
Вкладка «История» Лента операций по счёту: начисления, списания, сгорание
Вкладка «Акции» Активные акции программы, отобранные по условиям, которые можно проверить до покупки (см. ниже)
Вкладка «Партнёры» Карточки партнёрских офферов (см. ниже)

Баллы: доступно и всего

Всего — полный остаток на счёте; доступно — баллы, которыми клиент может распорядиться, за вычетом резервов (открытых удержаний). Подробнее о трёх величинах баланса — в разделе Баланс и операции.

Достижения показываются, только если они есть

Раздел «Достижения» на главном экране не отображается вовсе, если у клиента нет ни одного бейджа — в отличие от карточки оператора, где пустое состояние показывается всегда.

Вкладка «Акции»

На вкладке «Акции» клиент видит активные акции программы. Условия акции, которые можно проверить до покупки, витрина проверяет тем же правилом, что и движок начисления, поэтому не прячет акцию, которую движок клиенту применит.

  • До покупки проверяются сегменты клиента (состав сегментов загружается из внешней системы) и добавленные условия по полям профиля клиента.
  • Условия самой покупки — товар, сумма, место, мерчант, канал, переменные покупки — до покупки проверить нельзя, и они акцию на витрине не прячут.
  • Условия по клиенту — «Статус клиента», «Уровень клиента», «Баланс баллов», «Теги клиента», «Участие в акциях» — витрина не проверяет: акция с такими условиями видна клиенту, даже если начисление по ней ему сейчас не положено.
  • Акция с условием незнакомого вида, как и акция, чьё условие ссылается на удалённый сегмент, на витрине не показывается: движок её не применит.
  • Акция с испорченными условиями на витрине остаётся — ошибка разбора пишется в журнал сервиса.

Если подходящих акций нет, выводится «Пока нет доступных акций».

Вкладка «Партнёры»

На вкладке «Партнёры» клиент видит партнёрские предложения — совместные акции лояльности на продуктах партнёров (например, банк показывает в своём кабинете скидку партнёрского кафе). Каждый оффер отображается карточкой.

Элемент карточки Что показывает клиенту
Партнёр и категория Кто предоставляет предложение и в какой категории
Значение вознаграждения Процент, баллы или фиксированная сумма выгоды
Промокод Код для применения — copyable (кнопка «скопировать»)
Действие / статус Кнопка «Активировать», тег «Активировано» либо подпись о кэшбэке

Поведение карточки зависит от того, как настроен оффер:

  • Активация (OPT_IN). Клиент активирует предложение сам — кнопкой «Активировать». После активации карточка помечается тегом «Активировано».
  • Без активации (AUTO). Предложение доступно клиенту сразу, активировать ничего не нужно.
  • Авто-кэшбэк (расчётные офферы). Для расчётных предложений в карточке указано, что «кэшбэк начислится автоматически» — клиенту не нужно вводить код или активировать оффер; вознаграждение придёт по факту покупки у партнёра. В истории такое начисление помечается как «Кэшбэк партнёра».

Когда виден промокод

Промокод показывается клиенту не всегда. Он виден только для предложений без активации (AUTO) — или после того, как клиент активировал предложение с активацией (OPT_IN). До активации промокод скрыт.

Помимо просмотра, клиент может активировать и отменить активацию партнёрского оффера прямо из кабинета. Остальные разделы B2C — только для чтения.

Описание операций в истории

Каждая строка вкладки «История» несёт понятное клиенту описание. Для реферальных начислений, начислений по диаграммам RT Flow и партнёрского кэшбэка описание — это текст, который задал автор механики/диаграммы (например, «Чек в «Фитнес» на 399,00 ₽»); для прочих операций описание формируется по типу и источнику («Начисление баллов», «Списание баллов», «Сгорание баллов»).

Комментарии оператора клиенту не показываются

Комментарий, который оператор указывает при ручном начислении или списании, — это внутренняя заметка. В истории кабинета такая операция подписана обобщённо («Ручное начисление» для начисления, «Списание баллов» для списания — отдельной подписи «Ручное списание» нет), без текста комментария.

Сумма в уведомлении — в баллах

Push/SMS-уведомление о начислении по покупке («Начислено … баллов») показывает сумму в баллах, а не в минорных единицах хранения — как и остальные суммы в кабинете и в истории.

Принцип безопасности: клиент видит только свои данные

Ключевое отличие B2C-контура — клиент физически не может запросить чужие данные.

  • Идентификатор клиента берётся из его токена, а не из адреса запроса.
  • В запросах B2C нет параметра «чей счёт» — контур всегда работает со счётом того клиента, чей токен предъявлен.
  • Даже подменив параметры, клиент не получит доступ к чужой карте, балансу или истории — обращаться можно только к разделу «мои данные».

«Мои данные» вместо «данные клиента X»

Операторские и интеграционные интерфейсы адресуют счёт клиента явно (по externalId). B2C-контур устроен иначе: он отдаёт исключительно данные владельца токена. Это разделение — основа модели «клиент видит только свои данные».

Права клиента в B2C ограничены: чтение своих данных плюс активация и отмена партнёрских офферов. Начисления, списания и любые операторские действия в клиентском контуре недоступны.

Технические детали

Настройка контура (security-цепочка и OAuth-скоуп клиентского токена, эндпоинты /v1/b2c/me/**, JS/TS-SDK для сборки витрины, маппинг идентификатора клиента, конфигурация Keycloak) описана в разделе для администраторов — Личный кабинет клиента (B2C). Данная страница ориентирована на конечного пользователя и владельца продукта и намеренно не дублирует API и SDK.