Порядок вызова методов
Дата написания: 24.06.2020
Предполагается, что настройка скидок выполняется через личный кабинет менеджера.
Общий порядок работы с сервисом
Перед выполнением любой операции любых методов сервиса необходимо авторизоваться и получить токен доступа.
- Со стороны учетной системы методами описанными выше выгружаются:
- Через личный кабинета или в учетной системе генерируются карты. Карты отправляются на сервер.
- Через личный кабинет настраиваются правила расчета скидок и начисления баллов.
- Выполняется операции продаж/возвратов.
Операция продажи
- Кассир подобрал в документ все необходимые товары, идентифицировал карту предусмотренным в кассовой программе способом.
Промокоды [Необязательный процесс +]
- Кассир выбрал промокод. Необходимо проверить, что промокод можно использовать.
Промокоды [Необязательный процесс +]
- Кассовое ПО запрашивает расчет скидок. Результат расчета применяется к чеку.
Оплата бонусами [Необязательный процесс +]
Если не используются накопления бонусных баллов на картах, процесс оплаты бонусами можно не реализовывать, т.к. он теряет смысл.
- Кассовое ПО запрашивает баланс и ограничения на оплату бонусами по карте методом получения баланса. При получении баланса и ограничений на оплату чека учитываются уже примененные скидки.
- При наличии возможности оплатить баллами(есть доступные баллы, максимальная сумма оплаты документа > 0) кассир предлагает пользователю потратить баллы. Указанная сумма “размазывается” по строкам чека.
- Кассир вводит сумму оплаты бонусами, кассовое ПО применяет её на чек в виде скидки.
[Необязательный процесс -]
- Кассовое ПО выполняет передачу операции продажи на сервер.
- При успешном выполнении, пробивается чек, на который выводится информация о начислениях/списаниях, текущем состоянии счета.
Повышение уровня карты [Необязательный процесс +]
Можно использовать соответствующий параметр метода передачи продажи]
- Смотрим есть ли возможность у карты перейти на новый уровень в зависимости от текущий накоплений. Вызываем метод повышения уровня. В зависимости от бизнесс процесса есть вариант безусловно переводить карту на новый уровень или в начале узнавать о доступном переходе, выводить информацию об этом и явно подтверждать переход на новый уровень.
[Необязательный процесс -]
Операция возврата
- Кассир формирует чек возврата на основании продажи, карта клиента подбирается из документа основания.
- Кассовое ПО рассчитывает сумму бонусов к возврату, на основании своих правил. Предполагается, что сумма к возврату будет меньше суммы начисленных при продаже бонусов.
- Кассовое ПО выполняет передачу операции возврата на сервер. Сервис возвращает переданное количество баллов по оплате и начислению.
- При успешном выполнении, пробивается чек, на который выводится информация о начислениях/списаниях, текущем состоянии счета.
Операция регистрации клиента
- Кассир открывает форму ввода для регистрации пользователя
- Кассовое ПО получает настройки сервера.
- LoginValue - телефон или почта будут являться логином по умолчанию;
- ConfirmationMethod - способ подтверждения - по почте, по телефону или нет;
- AttachCardOnRegistration - привязывать ли карту при регистрации;
- Кассир вводит информацию о клиенте и нажимает “Зарегистрировать”
- Кассовое ПО заполняет логин клиента на основании LoginValue, не забывая убирать спецсимволы, если это телефон.
- Кассовое ПО отправляет данные на сервер.
- Если ConfirmationMethod это почта или телефон, тогда кассовое ПО вызывает метод отправки кода подтверждения пользователя и открывает форму для ввода кода.
- Кассир вводит код. Кассовое ПО отправляет код на сервер.
- Если настройка AttachCardOnRegistration положительна - карта автоматически привязывается к клиенту, иначе можем:
- Получаем список карт с отбором по клиенту.
- Операция завершена. У нас есть зарегистрированный подтвержденный клиент с привязанной картой.
Операция идентификации карты клиента
По штрикоду карты
- Кассир считывает штрихкод карты.
- Кассовое ПО получает список карт с отбором по штрихкоду.
- Если необходима информация о клиенте - в карте есть идентификатор пользователя для его определения.
По почте или телефону клиента с подтверждением
- Кассир вводит почту или телефон клиента и определяет куда отправить код подтверждения
- Кассовое ПО вызывает метод получения карт с подтверждением в первом варианте.
- Если подтверждение не требуется исходя из настроек сервера - на кассовое ПО вернутся карты клиента. Выбирает актуальную и подставляет. Иначе:
- Клиенту приходит код подтверждения на указанное устройство, он сообщает его кассиру, кассир вводит в кассовое ПО
- Кассовое ПО вызывает метод получения карт с подтверждением во втором варианте. Получает в ответ карты клиента. Выбирает актуальную и подставляет.