Кэшбэк
> КэшбэкДата обновления: 29 мая 2024 г.
1. Введение
RBSoft Cashback – бонусная система управления и учета. Предназначена для начисления и списания бонусных баллов по необходимым критериям. Также предоставляет возможность хранения истории транзакций, отправки SMS / Email, отображения графиков.
Основной функционал:
-
Управление бонусными картами, купонами и подарочными картами.
-
Управление системой начисления баллов.
-
Управление ограничений максимальной скидки и максимального начисления на товар с помощью групп товаров.
-
Хранение полного состава чека, который включает в себя:
-
данные оплаты;
-
используемую бонусную карту, купон или подарочную карту;
-
список позиций товара.
-
Управление торговыми точками и местами продаж.
-
Управление рекламными блоками в чеках, привязанный к торговой точке.
-
Интеграционный модуль для внешних систем 1C и Frontol.
2. Анализ предметной области
2.1 Словесная постановка задачи
Разработать систему лояльности с применением бонусных карт, подарочных карт, купонов. Необходимы ограничения на списание, начисление баллов в зависимости от группы товаров.
2.2 Область применения
Система должна быть применима к любой системе учета для интеграции.
Например, система 1С: расширение основной конфигурации 8.3 для взаимодействия с текущей бонусной системой.
Например, система Frontol: расширение программы с помощью скриптов.
2.3 Термины, определения и обозначения
«1С: Предприятие 8»: комплекс решений предназначен для автоматизации ведения налогового, бухгалтерского, оперативного, производственного и управленческого учета, расчета заработной платы и реализации кадровой политики.
«Frontol»: программное обеспечение для касс.
«Топаз-АЗС»: автоматизированная система управления топливораздаточным оборудованием, учета движения ГСМ, реализации товаров, предоставления услуг, получения отчетности. Автоматизирует работу оператора, облегчает администрирование АЗС. Работая с широким спектром основного (ТРК, ГНК) и дополнительного оборудования (уровнемеры, фискальные регистраторы, платежные терминалы, считыватели карт с магнитной полосой, радио(proxi)-карт, в т.ч. и MIFARE, штрих-кодов), позволяет успешно решать вопросы комплексной автоматизации.
«Пользователь»: пользователь системы или представитель компании заказчика.
«Роль»: предоставление возможности использовать необходимый функционал для достижения цели.
«Клиент»: клиент заказчика или владелец бонусной карты.
«Купон»: брошюра или реклама с идентификатором, которая представляет собой фиксированную скидку.
«Подарочная карта»: цифровое и физическое предоставление предоплаченной карты, которая в последствии является методом оплаты.
«Бонусная карта»: цифровое и физическое представление идентификации клиента, с помощью магнитной полосы, штрих кода, номера карты или чип кода.
«Лицевой счет»: цифровое представление баланса, с привязкой к клиенту и бонусной картам.
«Рекламный блок»: рекламный текст, который отображается в любом месте при печати чека.
«Торговая точка»: цифровое и физическое представление отдельного магазина или места продажи.
«POS (Point of sell, место продажи)»: место продажи и пробития чека на кассовом оборудовании.
«Продукт»: товар или услуга, которую заказчик предлагает для рынка.
«Группа товаров»: группировка продуктов для объединения.
«Правило группы товаров»: описание ограничения списания и начисления бонусных баллов в зависимости от выбранной группы товаров.
«Чек»: кассовый чек - документ, который печатает кассовая программа на ККМ.
«Позиция чека»: указание приобретаемого или возвращаемого товара с указанием наименования, идентификатора, цены, списания баллов и начисления.
«Транзакция»: фиксация начисления или списания бонусных баллов на указанный лицевой счет.
«Маркетинговая акция»: описание политики начисления бонусных баллов.
2.4 Описание основных алгоритмов работы системы
2.4.1 Управление маркетинговыми акциями
Маркетинговая акция должна быть легкой и гибкой в настройке её исполнения, для чего необходимы следующие параметры:
-
Наименование для идентификации акции, например «День газировки».
-
Дата начала и завершения действия акции, например «с 23 апреля 2020 по 25 апреля 2020».
-
Время начала и завершения действия акции; указывается вплоть до минут, например «с 06:00 до 18:00».
-
Приоритет применения акции, например: 1, 2, 3 (наименьший считается наивысшим приоритетом).
-
Основные объекты применения акции – торговые точки, на которых будет применена данная маркетинговая акция, например «Продуктовый на Ленина».
-
Дни недели действия акции, например,«ПН», «ВТ» и т. д.
-
Дни месяца действия акции, например «1», «2» и т. д.
-
Выбор конкретных продуктов для применения акции.
-
Выбор конкретных групп товаров для применения акции.
-
Выбор конкретных каталогов для применения акции.
-
Использование ограниченных временем транзакций по начислению и использованию баллов.
-
Режим использования: всегда, оплачено баллами, без оплаты баллами, приоритет.
Например, входные данные для работы маркетинговой акции в честь «Дня Святого Валентина»: 14 февраля 2020 года, с 00:00 до 23:59, приоритет равный 1, применяется на все торговые точки, все дни недели и 14 число месяца.
Данная маркетинговая акция будет применятся только 14 февраля 2020 года, на всех торговых точках.
Выше были описаны параметры применения акции, также необходимы правила начисления бонусных баллов.
Для правил маркетинговых акций необходимы следующие параметры:
-
Операнд сравнения: количество товара в чеке, количество товара группы в чеке, параметр.
-
Вид условия сравнения. Например, выбор из вариантов: «входит в диапазоне», «больше», «меньше» или «равно».
-
Второй операнд условия.
Пример.
Первый операнд выбран «Количество товаров в чеке».
Вид условия сравнения выбран «Больше».
Второй операнд условия выбран «10».
Правило будет срабатывать для строки чека, у которого количество товара больше десяти.
-
Параметр вычисления. Например, «Сумма чека, оплаченная реальными деньгами».
-
Функция вычисления, начисление фиксированного значения или умножение для получения %.
-
Второй операнд или значение вычисления. Используется как второй операнд или как фиксированное значение.
Например, входные данные для начисления на совпадение наименования товара «Роза» начислять 20 баллов: применять всегда, объектом выборки является «Позиция чека», вид условия «Входит в строку», параметр условия «Наименование», значение сравнения «Роза». Функция вычисления «Фиксированное значение», параметр чека является необязательным, значением вычисления является сумма начисляемых баллов 20.
Если в чеке продажи есть строка с товаром, где в наименование входит слово «Роза», то на эту позицию начисляется 20 баллов, вне зависимости от количества или цены.
2.4.2 Управление бонусными картами
Бонусная карта содержит поля идентификации, такие как:
-
Номер карты
-
Магнитная полоса
-
Штрих код
-
Чип код
Бонусная карта так же имеет флаги состояний:
-
является ли карта активированной;
-
является ли карта заблокированной;
-
является ли карта удаленной.
К каждому состоянию заполняется дата изменения состояния.
При активации карты дополняется такими данными, как:
-
Торговая точка, на которой была произведена активация;
-
Клиентские данные держателя карты (ФИО, дата рождения, Email, номер телефона, флаги согласия на обработку данных);
-
ФИО кассира, который активировал карту.
Загрузка и выгрузка карт осуществляется путем обработки файлов с данными идентификации карты.
2.4.3 Управление подарочными картами
Подарочная карта содержит поля идентификации, такие как:
- Магнитная полоса.
Подарочная карта так же имеет дату создания, дату истечения и сумму – баланс.
Загрузка и выгрузка карт осуществляется путем обработки файлов с данными идентификации карты.
2.4.4 Управление группами товаров
Группа товаров, содержит правила ограничения по списанию и начислению товаров в процентном значении.
Группа товаров, имеет иерархическую структуру данных и функцию наследования правил.
Группа товаров, имеет идентификатор и название, уникальное в пределах одной базы данных учетной системы.
Группа товаров уникальна в пределах торговой точки, одной или нескольких.
Правило содержит дату создания, ограничение по начислению, ограничение по списанию и флаг наследования правил «родителя».
2.4.5 Процесс «Идентификация торговой точки»
Каждая торговая точка имеет название, адрес и уникальный идентификатор.
Все произведенные операции регистрируются с записью, где была произведена операция.
2.4.6 Процесс «Идентификация клиента»
Каждый клиент идентифицируется по имени компьютера в пределах одной торговой точки.
2.4.7 Процесс «Получение рекламного блока»
Рекламный блок может быть размещен в любом доступном месте в шаблоне чека.
Рекламный блок берется относительно торговой точки, для каждой торговой точки можно указать уникальную рекламу.
2.4.8 Процесс «Идентификация бонусной карты»
Бонусная карта определяется с помощью базовых полей идентификации, либо с помощью SMS кода, отправляемого клиенту; для этого необходимо, чтобы клиент дал согласие на обработку данных и использование его телефона.
2.4.9 Процесс «Регистрация продажи»
-
Создание чека;
-
Заполнение чека позициями;
-
Добавление бонусной карты, если имеется;
-
Добавление купона, если имеется;
-
Добавление подарочной карты, если имеется;
-
Проверка данных;
-
Проверка допустимого начисления и списания на позиции;
-
Указание суммы оплаты;
-
Равномерное распределение суммы оплаты по позициям;
-
Проверка чека;
-
Регистрация чека;
-
Печать на чеке его номера в бонусной системе, текущего баланса, количества списанных и начисленных бонусов.
2.4.10 Процесс «Регистрация возврата»
-
Создание чека;
-
Заполнение чека позициями;
-
Добавление бонусной карты, если имеется;
-
Добавление подарочной карты, если имеется;
-
Проверка данных;
-
Проверка чека;
-
Регистрация чека возврата.;
-
Печать на чеке его номера в бонусной системе, текущего баланса, количества списанных и начисленных бонусов по состоянию возврата чека.
2.4.11 Процесс взаимодействия с программой «Топаз-АЗС»
В процессе взаимодействия с ПК «Топаз-АЗС» можно выделить следующие шаги:
-
Установление соединения с Системой Баз Данных, которую использует «Топаз-АЗС».
-
Получение зарегистрированных в системе чеков.
-
Первичная обработка полученных данных и сохранения в собственную БД чеков.
-
Отправка данных по чекам.
-
Регистрация результатов отправки чеков.
3. Проектирование
3.1 Термины, определения и обозначения
«.NET Framework» - программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.
«ASP.NET MVC Framework» - фреймворк для создания веб-приложений, который реализует шаблон Model-view-controller.
«MySQL» - свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
«Windows Communication Foundation (WCF)» - программный фреймворк, используемый для обмена данными между приложениями, входящий в состав .NET Framework. До своего выпуска в декабре 2006 года в составе .NET Framework 3.0, WCF был известен под кодовым именем Indigo.
«COM (англ. Component Object Model — модель компонентного объекта; произносится как [ком])» - это технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно. Стандарт воплощает в себе идеи полиморфизма и инкапсуляции объектно-ориентированного программирования. Стандарт COM мог бы быть универсальным и платформо-независимым, но закрепился в основном на операционных системах семейства Microsoft Windows. В современных версиях Windows COM используется очень широко. На основе COM были реализованы технологии Microsoft OLE Automation, ActiveX, DCOM, COM+, DirectX, а также XPCOM.
«Model-View-Controller (MVC, «Модель-Представление-Контроллер», «Модель-Вид-Контроллер»)» - схема разделения данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента (модель, представление и контроллер) таким образом, что модификация каждого компонента может осуществляться независимо.
Модель (Model) представляет данные и реагирует на команды контроллера, изменяя своё состояние.
Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
«Веб-API» - это интерфейс прикладного программирования для веб-сервера или веб-браузера. Это концепция веб-разработки, обычно ограниченная клиентской частью веб-приложения (включая любые используемые веб-платформы), и, таким образом, обычно не включает в себя подробности реализации веб-сервера или браузера, такие как SAPI или API, если они не доступны для общественности через удаленное веб-приложение.
VPN -
ЛВС -
3.2 Описание основных модулей системы
«Cashback Server» - сервер учета и управления бонусной системы.
Предоставляет доступ к управлению всей системой.
«Cashback Shop» - промежуточный сервер торговой точки. Предоставляет доступ к функциям бонусной системы для кассовых программ одной торговой точки.
«Cashback Pos» - COM-объект взаимодействия учетных систем с бонусной системой.
Необходим для упрощения взаимодействия с сервером и его идентификации.
«Cashback Gas Station Service»- промежуточный сервер отправки данных с программного обеспечения Топаз-АЗС.
3.3 Описание взаимодействия модулей системы
Модули взаимодействия с Cashback Server разнообразны, зависят от корпоративной политики заказчика.
3.3.1 Вариант использования Cashback Shop на торговую точку
Вариант использования применим, когда на одном из компьютеров торговой точки есть доступ в интернет, в одной локальной сети расположены кассовые программы.БЮ1 Когда выход в сеть Интернет есть только у одного конкретного компьютера на одну торговую точку.
В данном случае на одну торговую точку устанавливается один экземпляр Cashback Shop. Топаз-Азс и учетные системы имеют по одному экземпляру Cashback Gas и Cashback COM соответственно. Взаимодействие с сервером производится через сеть интернет только одного компьютера.
3.3.2 Вариант использования Cashback Shop на локальную сеть
Вариант с одним экземпляром Cashback Shop подходит для случаев, когда магазины используют одну общую локальную сеть, например VPN или обычную ЛВС.
3.3.3 Вариант использования Cashback Shop на учетную систему
Вариант использования применим, если каждое место продажи является отдельной торговой точкой и местом выхода в сеть интернет.
3.4 Описание моделей взаимодействия
Модель «Ответ» содержит поле «Код ошибки» и «Описание ошибки».
Модель «Ответ с результирующим объектом» необходим для передачи результирующих данных; помимо кода и описания ошибки содержит поле «Результат».
Модель «Ответ с результирующими объектами» вместо одного объекта результата содержит коллекцию из этих объектов.
3.5 Описание интерфейса программ
4. Разработка
4.1 Термины, определения и обозначения
4.2 Описание базы данных MySql
4.2.1 Таблица «Accounts – Лицевые счета»
Столбец | Тип данных | Описание |
---|---|---|
Id int(11) | Идентификатор записи | |
IsOpened | tinyint(1) | Флаг «Открыт» |
IsDeleted | tinyint(1) | Флаг «Удален» |
IsBlocked | tinyint(1) | Флаг «Заблокирован» |
Blocked | datetime | Дата блокировки |
BlockedComment | varchar(500) | Комментарий блокировки |
Opened | datetime | Дата открытия |
Closed | datetime | Дата закрытия |
Deleted | datetime | Дата удаления |
Balance | decimal(18,2) | Баланс |
ClientId | int(11) | Идентификатор клиента |
4.2.2 Таблица «ActionMessages – Сообщения о действии»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
ItemId | Int(11) | Ключ элемента |
ItemType | Int(11) | Тип элемента |
DateTime | datetime | Дата |
ActionType | Int(11) | Тип действия |
Message | Varchar(500) | Сообщение о действии |
UserId | Varchar(100) | Пользователь |
4.2.3 Таблица «Clients – Клиенты – Держатели карт»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
AccessToken | longtext | Ключ доступа клиента (Client Access Token – CAT) |
Password | longtext | Пароль |
FirstName | varchar(64) | Имя |
LastName | varchar(64) | Фамилия |
Patronymic | varchar(64) | Отчество |
Birthday | datetime | Дата рождения |
varchar(512) | Электронная почта | |
Phone | varchar(11) | Номер телефона |
Information | varchar(1024) | Дополнительная информация |
IsDeleted | tinyint(1) | Флаг «Удален» |
Deleted | datetime | Дата удаления |
IsRuleAccept | tinyint(1) | Флаг «Правила использования» |
PhoneNumberIsAllowed | tinyint(1) | Флаг «Разрешен доступ к номеру телефона» |
EmailIsAllowed | tinyint(1) | Флаг «Разрешен доступ к электронной почте |
IsAgreeToDataProcessing | tinyint(1) | Флаг «Разрешено обрабатывать личные данные» |
DateAgreement | datetime | Дата оформления |
LastActivity | datetime | Дата последней активности |
ContructNumber | varchar(128) | Номер заявления |
DataEntered | tinyint(1) | Данные введены |
Login | longtext | Логин |
4.2.4 Таблица «Cards – Бонусные карты»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
CardNumber | int(11) | Номер карты |
DataCard | varchar(64) | Данные магнитной полосы |
BarCod | varchar(400) | Штрих код |
ChipCode | varchar(400) | Чип код |
IsActivated | tinyint(1) | Флаг «Активирован» |
IsDeleted | tinyint(1) | Флаг «Удален» |
IsBlocked | tinyint(1) | Флаг «Заблокирован» |
Created | datetime | Дата создания |
Activated | datetime | Дата активации |
Deleted | datetime | Дата удаления |
ShopId | int(11) | Торговая точка, на которой произошла активация |
Cashier | longtext | Данные кассира, активировавшего карту |
AccountId | int(11) | Идентификатор лицевого счета |
ClientId | int(11) | Идентификатор клиента |
CategoryId | int(11) | Идентификатор категории бонусных карт |
4.2.5 Таблица «CardCategories – Категории бонусных карт»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Name | longtext | Название |
Code | longtext | Код |
Description | longtext | Описание |
4.2.6 Таблица «Transactions – Транзакции»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Date | datetime | Дата создания транзакции |
Sum | decimal(18,2) | Сумма списания или начисления |
Comment | varchar(512) | Комментарий |
IsActive | tinyint(1) | Флаг «Активна» |
IsDeleted | tinyint(1) | Флаг «Удалена» |
Deleted | datetime | Дата удаления |
CardId | int(11) | Идентификатор карты |
ShopId | int(11) | Идентификатор торговой точки |
CheckId | int(11) | Идентификатор чека |
DelayValue | int(11) | Промежуток времени, после которого транзакция должна добавится к балансу лицевого счета |
4.2.7 Таблица «TimeLimitedTransactions – Временно ограниченные транзакции»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Date | datetime | Дата создания транзакции |
Sum | decimal(18,2) | Сумма списания или начисления |
Comment | varchar(512) | Комментарий |
IsActive | tinyint(1) | Флаг «Активна» |
IsDeleted | tinyint(1) | Флаг «Удалена» |
Deleted | datetime | Дата удаления |
AccountId | int(11) | Идентификатор лицевого счета |
ShopId | int(11) | Идентификатор торговой точки |
CheckId | int(11) | Идентификатор чека |
DelayValue | int(11) | Промежуток времени, после которого транзакция должна добавится к балансу лицевого счета |
ParentId | Int(11) | Идентификатор родительской транзакции |
4.2.8 Таблица «Shops – Торговые точки»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
AppToken | char(36) | Ключ доступа торговой точки (Shop Access Token – SAT) |
Name | varchar(128) | Название |
Address | varchar(512) | Адрес |
Phone | varchar(11) | Номер телефона |
TimeZoneId | varchar(64) | Код региона |
IsDeleted | tinyint(1) | Флаг «Удалена» |
Deleted | datetime | Дата удаления |
ProductGroupId | int(11) | Идентификатор группы товаров |
SystemInfo | longtext | Информация о системе |
IsConnected | tinyint(1) | Флаг «Подключена» |
ComputerName | longtext | Имя компьютера |
4.2.9 Таблица «Computers – Места продажи»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
PublicKey | longtext | Ключ доступа места продажи (POS Acces Token – POS AT) |
ComputerName | longtext | Имя компьютера |
Note | longtext | Заметка |
SystemInfo | longtext | Информация о системе |
ShopId | int(11) | Идентификатор торговой точки |
IsEnabled | tinyint(1) | Флаг «Включен» |
4.2.10 Таблица «Campaigns – Маркетинговая акция»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Name | longtext | Название |
HasFooter | tinyint(1) | Флаг «Печать подвала чека» |
Body | longtext | Текст подвала чека |
AuthorId | varchar(128) | Идентификатор пользователя |
Start | datetime | Дата начала действия |
End | datetime | Дата окончания действия |
DayOfMonth | bigint(20) | День месяца |
DayOfWeek | bigint(20) | День недели |
From | datetime | Время начала действия |
To | atetime | Время окончания действия |
Priority | int(11) | Приоритет |
Mode | tinyint(1) | Режим: Всегда – 0,оплачено баллами – 1,без оплаты баллами – 2,приоритет - 3 |
IgnoreProducts | tinyint(1) | Игнорировать продукты |
AllProducts | tinyint(1) | Все продукты |
IgnoreCatalogs | tinyint(1) | Игнорировать каталоги |
AllCatalogs | tinyint(1) | Все каталоги |
IgnoreProductGroups | tinyint(1) | Игнорировать группы товаров |
AllProductGroups | tinyint(1) | Все группы товаров |
AllClients | tinyint(1) | Все категории карт |
4.2.11 Таблица «Catalogs – Каталоги»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор каталога |
Name | Varchar(500) | Название каталога |
4.2.12 Таблица «Coupons – Купоны»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор купона |
Value | Decimal(18,2) | Сумма купона |
IsUsed | Tinyint(1) | Флаг «Использован» |
ExpirationTime | Datetime | Дата истечения срока действия купона |
RuleId | Int(11) | Идентификатор правила создания купона |
CheckId | Int(11) | Ссылка на чек основание |
UsedCheckId | Int(11) | Ссылка на чек использование |
4.2.13 Таблица «CouponRules – Правила создания купона»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор купона |
CalculationParameterLeft | Tinyint(1) | Параметр вычисления 1:Сумма чека, оплаченная реальными деньгами – 1;Количество строк в чеке – 2;Сумма строки чека, оплаченная реальными деньгами – 3;Количество товара в строке чека – 4;Категория карты – 5. |
CalculationFunction | Tinyint(1) | Функция вычисления:Умножение – 1;Начисление фиксированного значения – 2. |
CalculationParameterRight | Decimal(18,2) | Параметр вычисления 2 |
ComparisonOperandLeft | Tinyint(1) | Операнд сравнения 1:Количество товара в чеке – 1;Количество товаров одной группы в чеке – 2;Параметр чека – 3. |
ComparisonType | Tinyint(1) | Условие сравнения:Меньше – 1;Меньше или равно – 2;Равно – 3;Больше или равно - 4;Больше – 5;В диапазоне - 6. |
ComparisonOperandRight | longtext | Операнд сравнения 2 |
ExpirationDays | Int(11) | Срок действия в днях с момента создания |
Body | longtext | Шаблон выдачи купона |
CampaignId | Int(11) | Идентификатор маркетинговой акции |
4.2.14 Таблица связи «CampaignShops»
Столбец | Тип данных | Описание |
---|---|---|
Campaign_Id | int(11) | Идентификатор акции |
Shop_Id | int(11) | Идентификатор торговой точки |
4.2.15 Таблица «Rules – Правила»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
CalculationParameterLeft | Tinyint(1) | Параметр вычисления 1:Сумма чека, оплаченная реальными деньгами – 1;Количество строк в чеке – 2;Сумма строки чека, оплаченная реальными деньгами – 3;Количество товара в строке чека – 4;Категория карты – 5. |
CalculationFunction | Tinyint(1) | Функция вычисления:Умножение – 1;Начисление фиксированного значения – 2. |
CalculationParameterRight | Decimal(18,2) | Параметр вычисления 2 |
ComparisonOperandLeft | Tinyint(1) | Операнд сравнения 1:Количество товара в чеке – 1;Количество товаров одной группы в чеке – 2;Параметр чека – 3. |
ComparisonType | Tinyint(1) | Условие сравнения:Меньше – 1;Меньше или равно – 2;Равно – 3;Больше или равно - 4;Больше – 5;В диапазоне - 6. |
ComparisonOperandRight | longtext | Операнд сравнения 2 |
CampaignId | Int(11) | Идентификатор маркетинговой акции |
4.2.16 Таблица «Checks – Чеки»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
LocalId | longtext | Идентификатор чека в локальной учетной системе |
Total | decimal(18,2) | Сумма чека |
PaymentSum | decimal(18,2) | Сумма оплаченная наличными |
Bonus | decimal(18,2) | Сумма оплаченная баллами |
CheckType | longtext | Тип чека |
Date | datetime | Дата записи на сервере |
ShopDate | datetime | Дата отправки на сервер |
CheckDate | datetime | Дата печати чека |
IsDeleted | tinyint(1) | Флаг «Удален» |
Deleted | datetime | Дата удаления |
BaseCheck | int(11) | Чек основания, для возврата |
Cashier | longtext | Данные кассира |
CardId | int(11) | Идентификатор бонусной карты |
ShopId | int(11) | Идентификатор торговой точки |
ComputerId | int(11) | Идентификатор места продажи |
4.2.17 Таблица «CheckPositions – Позиция чека»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Count | decimal(18,2) | Количество |
Price | decimal(18,2) | Цена |
PaidByBonus | decimal(18,2) | Оплачено баллами |
PaidByCoupons | decimal(18,2) | Оплачено купоном |
Accrual | decimal(18,2) | Начислено баллов |
Sum | decimal(18,2) | Сумма |
SumWithDiscount | decimal(18,2) | Сумма со скидкой учетной системы |
CheckId | int(11) | Идентификатор чека |
ProductId | int(11) | Идентификатор продукта |
CampaignId | Int(11) | Идентификатор маркетинговой акции |
CouponRuleId | Int(11) | Идентификатор правила купона |
4.2.18 Таблица «Products – Продукты»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Name | longtext | Наименование |
Price | decimal(18,2) | Цена |
WareCode | longtext | Код товара |
WareMark | longtext | Артикул |
Barcode | longtext | Штрих код |
BarcodeType | longtext | Тип штрих кода |
ShopId | int(11) | Идентификатор торговой точки |
GroupId | int(11) | Идентификатор группы товаров |
CatalogId | Int(11) | Идентификатор каталога |
4.2.19 Таблица «ProductGroups – Группа товаров»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Path | longtext | Путь дерева |
Name | longtext | Название |
SystemIndex | longtext | Индекс в системе учета |
SystemName | longtext | Название в системе учета |
IsInheritParentRules | tinyint(1) | Флаг «Использовать правила родителя» |
ParentId | int(11) | Идентификатор родительской группы товаров |
CatalogId | Int(11) | Идентификатор каталога |
4.2.20 Таблица «ProductGroupRules – Правило группы товаров»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Created | datetime | Дата создания |
IsActive | tinyint(1) | Флаг «Активно» |
Name | longtext | Название |
Accrual | tinyint(3) | unsigned |
MaxDiscount | tinyint(3) | unsigned Процент максимальной суммы оплаты товара относительно суммы или суммы со скидкой |
GroupId | int(11) | Идентификатор группы товаров |
4.2.21 Таблица «Advertisements – Реклама»
Столбец | Тип данных | Описание |
---|---|---|
Id | int(11) | Идентификатор записи |
Name | varchar(512) | Название |
Body | varchar(256) | Тело рекламы |
Start | datetime | Дата начала действия |
End | datetime | Дата окончания действия |
IsDeleted | tinyint(1) | Флаг «Удалена» |
Deleted | datetime | Дата удаления |
4.2.22 Таблица связи «AdvertisementShops»
Столбец | Тип данных | Описание |
---|---|---|
Advertisement_Id | int(11) | Идентификатор рекламы |
Shop_Id | int(11) | Идентификатор торговой точки |
4.2.23 Таблица «Settings – Настройки»
Столбец | Тип данных | Описание |
---|---|---|
Id int(11) Идентификатор записи | ||
Name | varchar(512) | Название |
Type | varchar(512) | Тип |
Value | varchar(512) | Значение |
4.3 Описание сервера MVC
Каждая таблица имеет свой контроллер с базовыми операциями CRUD ( Create Read Update Delete), а также дополнительным функционалом, необходимым для упрощения работы с системой.
4.4 Описание Onion архитектуры сервера
Разделение на заменяемые части, используя один контракт описания и интерфейс, даёт четкое описание цели и задачи, выполняемой каждым уровнем абстракции.
4.5 Описание дополнительных методов репозитория
4.6 Описание сервисов
4.7 Описание сервера API
mso-border-alt:solid black .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название метода | Описание | Входные данные | Выходные данные |
---|---|---|---|
RegisterShop | Регистрация программы торговой точки, запись данных компьютера в базу данных | RegisterEquipment | ResponseObject<string> |
RegisterClient | Регистрация программы для места продажи, запись данных компьютера в базу данных и выдача идентификационного ключа | RegisterEquipment | ResponseObject<string> |
ActivateCard | Активация карты | CardApiModel | ResponseBase |
ActivateCardsWithSharedAccount | Активация нескольких карт с общим лицевым счетом | CardIdentity[] | ResponseBase |
Balance | Получение актуального баланса счета, по бонусной карте | CardIdentity | ResponseObject<decimal> |
ActivateCards | Активация нескольких карт с общим лицевым счетом и клиентом | CardApiModel[] | ResponseBase |
SendCheck | Проверка чека перед регистрацией.Проверка бонусной карты, купона и подарочной карты.Проверка ограничений по оплате баллами. | SendCheckApiModel | ResponseObject<SendOperation> |
PayCheck | Регистрация чека в базе данных | CheckApiModel | ResponseObject<PayOperation> |
CancelCheck | Регистрация чека возврата ранее купленных позиций товара | CancelCheckApiModel | ReponseObject<PayOperation> |
BulkChecks | Массовая регистрация чеков | List<CheckApiModel> | List<AnalogTuple<string, ResponseBase>> |
SendSms | Отправка СМС клиенту для получения кода, который укажет бонусную карту клиента | TelephoneApiModel | ResponseObject<SendResult[] |
GetCardBySms | Получение данных о бонусной карте с помощью подтверждения номера телефона | TelephoneApiModel | ResponseObject<CardDataApiModel> |
GetAdvBlock | Получение рекламного блока | - | ResponseObject<AdvertisementsApiModel> |
Configuration | Получение текущей конфигурации | - | ResponseObject<ApiConfiguration> |
4.8 Описание моделей входных данных V1Controller
4.8.1 Модель класса «RegisterEquipment»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
SystemInfo | String | Информация о системе |
Key | String | SAP Shop Access Token |
ComputerName | String | ComputerName |
4.8.2 Модель класса «CardApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
CardNumber | String | Номер карты |
DataCard | String | Данные магнитной полосы |
BarCode | String | Штрих код |
Chip | String | Чип код |
Cashier | String | Кассир |
Type | CardDataType:Number = 1,Magnetic = 2,Barcode = 3,Chip = 4 | Тип считывания карты |
4.8.3 Модель класса «CardIdentity»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Identity | String | Идентификатор карты |
Type | CardDataType | Тип идентификатора карты |
Cashier | string | Кассир |
4.8.4 Модель класса «SendCheckApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Options | Опции операции:None = 0,Save = 1,Bonus = 2,Coupon = 4,Gift = 8 | Перечисление выполняемых функций |
CheckItems | List<CheckItemApiModel> | Позиции чека |
Card | CardApiModel | Данные бонусной карты |
Coupon | CouponApiModel[] | Данные купонов |
4.8.5 Модель класса «CheckApiModel», наследует класс «SendCheckApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Total | Decimal | Вычисляемое поле, сумма чека |
TotalWithDiscount | Decimal | Вычисляемое поле, сумма со скидкой учетной системы |
TotalWithFullDiscount | Decimal | Вычисляемое поле, сумма чека со всеми скидками |
PaymentBonus | Decimal | Оплачено бонусами |
CheckType | String | Тип чека |
CheckId | String | Идентификатор чека в локальной учетной системе |
ShopDate | DateTime | Дата торговой точки |
CheckDate | DateTime | Дата печати чека |
Cashier | String | Данные кассира |
Parameters | List<ParameterApiModel> | Параметры |
4.8.6 Модель класса «CancelCheckApiModel», наследует класс « CheckApiModel »
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
BaseCheckId | Int | Идентификатор основания чека возврата |
ReturnToGiftCard | Boolean | Флаг состояния возврата средств на подарочную карту. Если «Истина», то оплаченная подарочной картой сумма возвращается на неё. Иначе подразумевается реальный возврат денежных средств из кассы. |
4.8.7 Модель класса «GiftCardApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Data | String | Идентификатор подарочной карты |
Value | Decimal | Сумма списания/оплаты |
4.8.8 Модель класса «CouponApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Data | String | Идентификатор купона |
4.8.9 Модель класса «ChecItemApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
GroupList | List<GroupItemApiModel> | Список групп товаров |
Price | Decimal | Цена |
PaidByBonuses | Decimal | Оплачено бонусами |
Count | Decimal | Количество |
Sum | Decimal | Сумма |
SumWithDiscount | Decimal | Сумма со скидкой учетной системы |
MaxDiscount | byte | Процент максимальной оплаты бонусами |
Accrual | byte | Процент максимального начисления |
Name | String | Название |
WareCode | String | Код товара |
WareMark | String | Артикул |
Barcode | String | Штрих код |
BarcodeType | String | Тип штрих кода |
IsExist | Bool | Флаг «Существует» |
ProductBuffer | Int | Идентификатор продукта |
Gifts | List<GiftCardApiModel> | Список подарочных карт и применяемых оплат |
4.8.10 Модель класса «TelephoneApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
PhoneNumber | String | Номер телефона |
Password | String | СМС код |
4.9 Описание моделей выходных данных V1Controller
4.9.1 Модель класса «SendOperation»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
CardNumber | String | Номер карты |
DataCard | String | Данные магнитной полосы |
BarCode | String | Штрих код |
Accrued | Decimal | Начислено |
Balance | Decimal | Баланс |
Paid | Decimal | Оплачено |
Items | CheckItemApiModel[] | Позиции чека |
CheckedCoupons | CouponData[] | Список проверенных купонов |
CheckedGiftCards | GiftData[] | Список проверенных подарочных карт |
4.9.2 Модель класса «PayOperation»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Accrued | Decimal | Начислено |
Balance | Decimal | Баланс |
Paid | Decimal | Оплачено |
CheckId | Int | Идентификатор чека в бонусной системе |
CardNumber | int | Идентификатор карты в бонусной системе |
NewCoupons | CouponData[] | Список созданных купонов |
UsedCoupons | CouponData[] | Список используемых купонов |
UsedGiftCards | GiftData[] | Список использованных подарочных карт |
4.9.3 Модель класса «CardDataApiModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
CardNumber | Int | Номер карты |
DataCard | String | Данные магнитной полосы |
BarCode | String | Штрих код |
4.9.4 Модель класса «SendResult»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Id | Int | Идентификатор операции |
Cnt | Int | Количество |
Cost | Double | Цена |
Balance | Double | Баланс |
4.9.5 Модель класса «CouponData»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Value | Decimal | Сумма оплаты |
Identity | String | Идентификатор |
Expiration | DateTime | Дата истечения срока действия |
Body | String | Тело купона в чеке |
4.9.6 Модель класса «GiftData»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Value | Decimal | Баланс |
Identity | String | Идентификатор |
Expiration | DateTime | Дата истечения срока действия |
Paid | Decimal | Сумма оплаты |
4.9.7 Модель класса «ApiConfiguration»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
BonusAPI | Boolean | Включен Bonus API |
CouponAPI | Boolean | Включен Coupon API |
GiftAPI | Boolean | Включен Gift API |
SmsAPI | Boolean | Включен Sms API |
UseSumWithDiscount | Boolean | Используется для расчёта ограничения суммы со скидкой, если истина.Если ложь, используется сумма без скидок. |
BonusDelay | Int? | Отсрочка начисления бонусных баллов |
CreateOnlyOneCoupon | Boolean | Создавать только один купон |
CreateOnlyMaxAmountCoupon | Boolean | Создавать купон, максимальный по своему номиналу |
4.10 Описание Shop WCF службы
4.10.1 Описание методов класса «CoreService»
Название | Описание | Входные данные | Выходные данные |
---|---|---|---|
RegisterShop | Регистрация торговой точки | String Token | ResponseBase |
Register | Регистрация места продажи | RegisterData data | ReponseObject<string> |
Init | Инициализация | - | - |
ReloadSettings | Перезагрузка настроек | - | - |
4.10.2 Описание методов класса «CheckService»
mso-border-alt:solid black .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Описание | Входные данные | Выходные данные |
---|---|---|---|
ActivateCard | Активация карты | Card obj, string identity | ResponseBase |
Balance | Получение баланса | Card obj, string identity | ResponseObject<decimal> |
SendCheck | Отправка чека на проверку | Check obj, string identity | ResponseObject<SendOperation> |
PayCheck | Регистрация чека | Check obj, string identity | ResponseObject<PayOperation> |
CancelCheck | Отмена чека | Check obj, string identity | ResponseObject<PayOperation> |
PayCheckBulk | Регистрация массива чеков | Check[] obj, string identity | List<AnalogTuple<int, ResponseBase>> |
SendSms | Отправка СМС кода | TelephoneApiModel, string identity | ResponseBase |
GetCardBySms | Получение данных о карте с помощью СМС кода и номера телефона | TelephoneApiModel, string identity | ResponseObject<CardDataViewModel> |
GetAdvBlock | Получение рекламного блока для текущей торговой точки | String identity | ResponseObject<AdvBlock> |
Echo | Тест запрос, для идентификации | - | - |
4.11 Общий алгоритм работы с COM объектом
4.12 Описание методов класса «ShopObject» COM объекта
4.12.1 Описание метода «SetCashier»
Устанавливает данные кассира в текущий чек.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Cashier | String | Не является пустой или пробелом | Данные кассира, ФИО. |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.2 Описание метода «BaseInitialize»
Инициализирует соединение. Имя хоста, идентификатор РМК и SAC считывает из регистра.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.3 Описание метода «Init»
Регистрирует клиента на сервере и инициализирует соединения.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
implementVersion | String | Не является пустой или пробелом | |
identityRMK | String | Не является пустой или пробелом | Идентификатор рабочего места кассира |
tokenShop | String | Не является пустой или пробелом | SAC (Shop Access Token) Идентификатор торговой точки |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.4 Описание метода «ConnectCustomUdp»
Возвращает URL соединения с помощью пользовательского соединения UDP.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.5 Описание метода «ConnectManual»
Подключается по локальному URL, где находится Cashback Shop .
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
url | String | Не является пустой или пробелом | URL хоста |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.6 Описание метода «ConnectDiscoveryWcf»
Подключается через UdpDiscoveryEndpoint.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.7 Описание метода «CreateCheck»
Создает объект чека.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Cashier | String | Не является пустой или пробелом | Данные кассира |
Checktype | String | Не является пустой или пробелом | Тип чека, например «Продажа» |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.8 Описание метода «CheckExists»
Проверяет чек, существует ли он.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
Bool | Результат выполнения операции |
4.12.9 Описание метода «BonusCardAdded»
Проверяет, добавлена ли бонусная карта.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
Bool | Результат выполнения операции |
4.12.10 Описание метода «GiftCardAdded»
Проверяет, добавлена ли подарочная карта.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
Bool | Результат выполнения операции |
4.12.11 Описание метода «RemoveAllPositions»
Удаляет все позиции чека.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.12 Описание метода «AbortCheck»
Обнуляет текущий чек.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.13 Описание метода «RemovePosition»
Удаляет позицию.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Id | String | Не является пустой или пробелом | Идентификатор позиции чека для учетной системы |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.14 Описание метода «AddPosition»
Добавляет позицию в чек.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
groupList | String | Строка с разделителями.Группы разделены с помощью строки «&&&», название и локальный индекс разделен с помощью «###» | Иерархичный список группы товаров |
Id | String | Не является пустой или пробелом | Идентификатор позиции чека для учетной системы |
Price | Decimal | - | Цена товара |
PaidByBonuses | Decimal | - | Сумма оплаты бонусами |
Count | Decimal | - | Количество |
Sum | Decimal | - | Сумма |
SumWithDiscount | Decimal | - | Сумма со скидкой локальной системы учета, не относится к оплате бонусными баллами |
Name | String | Не является пустой или пробелом | Название |
WareCode | String | Не является пустой или пробелом | Код товара |
WareMark | String | Не является пустой или пробелом | Артикул |
Barcode | String | Не является пустой или пробелом | Штрих код |
BarcodeType | String | Не является пустой или пробелом | Тип штрих кода |
PaidByCoupons | Decimal | Больше или равен 0 | Оплачено купоном |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.15 Описание метода «ChangePosition»
Обновляет значения позиции по указанному идентификатору
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
groupList | String | Строка с разделителями.Группы разделены с помощью строки «&&&», название и локальный индекс разделен с помощью «###» | Иерархичный список группы товаров |
Id | String | Не является пустой или пробелом | Идентификатор позиции чека для учетной системы |
Price | Decimal | Больше нуля | Цена товара |
PaidByBonuses | Decimal | Больше или равно нулю | Сумма оплаты бонусами |
Count | Decimal | Больше нуля | Количество |
Sum | Decimal | Больше нуля | Сумма |
SumWithDiscount | Decimal | Больше нуля | Сумма со скидкой локальной системы учета |
Name | String | Не является пустой или пробелом | Название |
WareCode | String | Не является пустой или пробелом | Код товара |
WareMark | String | Не является пустой или пробелом | Артикул |
Barcode | String | Не является пустой или пробелом | Штрих код |
BarcodeType | String | Не является пустой или пробелом | Тип штрих кода |
PaidByBonuses | Decimal | Больше или равен 0 | Оплачено купоном |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.16 Описание метода «ChangePositionPaidByBonuses»
Изменяет количество оплаченных баллов на позицию
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Id | String | Не является пустой или пробелом | Идентификатор позиции чека для учетной системы |
PaidByBonus | Decimal | Больше или равно нулю | Сумма оплаты бонусами |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.17 Описание метода «ChangePositionPaidByCoupons»
Изменяет предоставленную скидку купонов на позицию.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Id | String | Не является пустой или пробелом | Идентификатор позиции чека для учетной системы |
PaidByCoupons | Decimal | Больше или равно нулю | Сумма оплаты купонами |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.18 Описание метода «AddCoupon»
Добавляет в чек купон.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
CouponValue | String | Не является пустой или пробелом | Значение идентификатора купона |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.19 Описание метода «AddBonusCard»
Добавляет в чек бонусную карту.
Входные данные
mso-border-alt:solid black .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Type | Int | От 0 до 4, включительно. Number = 1, Magnetic = 2, Barcode = 3, Chip = 4, None = 0 | Тип идентификатора бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.20 Описание метода «AddBonusCardByCardNumber»
Добавляет в чек бонусную карту с типом идентификатора «Номер карты».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.21 Описание метода «AddBonusCardByMagneticLine»
Добавляет в чек бонусную карту с типом идентификатора «Данные магнитной полосы».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.22 Описание метода «AddBonusCardByBarcode»
Добавляет в чек бонусную карту с типом идентификатора «Штрих код».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.23 Описание метода «AddBonusCardByChipCode»
Добавляет в чек бонусную карту с типом идентификатора «Чип код».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.24 Описание метода «RemoveBonusCard»
Удаляет бонусную карту из чека.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.25 Описание метода «SetPaymentBonus»
Указывает сумму оплаты баллами на весь чек.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
paymentBonus | Decimal | Больше или равно нулю | Сумма оплаты баллами |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.26 Описание метода «AddGiftCard»
Добавляет в чек подарочную карту.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Data | String | Не является пустой или пробелом | Идентификатор подарочной карты |
Value | Decimal | Больше нуля | Сумма списания |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.27 Описание метода «RemoveGiftCards»
Удаляет все подарочные карты из чека.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.28 Описание метода «RemoveGiftCard»
Удаляет подарочную карту из чека.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4p
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Data | String | - | Идентификатор подарочной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.29 Описание метода «AddParameter»
Добавляет параметр в чек.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
PositionId | String | - | Локальный идентификатор позиции, которая уже добавлена в чек |
Key | String | Не является пустой или пробелом | Ключ параметра |
Value | String | Не является пустой или пробелом | Значение параметра |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.30 Описание метода «RemoveParameter»
Удаляет параметр из чека.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Key | String | Не является пустой или пробелом | Ключ параметра |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.31 Описание метода «ClearParameters»
Удаляет параметры.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.32 Описание метода «GetBalance»
Получает баланс карты.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | Type | Не является пустой или пробелом | Идентификатор бонусной карты |
Type | Int | От 0 до 4 включительно. Number = 1, Magnetic = 2, Barcode = 3, Chip = 4, None = 0 | Тип идентификатора бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectBalance | Результат выполнения операции |
4.12.33 Описание метода «GetBalanceByCardNumber»
Получает баланс карты с типом идентификатора «Номер карты».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectBalance | Результат выполнения операции |
4.12.34 Описание метода «GetBalanceByMagneticLine»
Получает баланс карты с типом идентификатора «Данные магнитной полосы».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectBalance | Результат выполнения операции |
4.12.35 Описание метода «GetBalanceByBarcode»
Получает баланс карты с типом идентификатора «Штрих код».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectBalance | Результат выполнения операции |
4.12.36 Описание метода «GetBalanceByChip»
Получает баланс карты с типом идентификатора «Чип код».
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectBalance | Результат выполнения операции |
4.12.37 Описание метода «SendCheck»
Отправляет чек на проверку бонусной карты, подарочной карты, купона, позиций чека, начисление и списание.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectSendOperation | Результат выполнения операции |
4.12.38 Описание метода «PayCheck»
Отправляет чек на регистрацию в бонусной системе.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
CheckId | String | Не является пустой или пробелом | Идентификатор чека в локальной учетной системе |
dateTime | String | Не является пустой или пробелом | Дата пробития чека |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectPayOperation | Результат выполнения операции |
4.12.39 Описание метода «CancelCheck»
Отправляет чек возврата на регистрацию и перерасчет баллов.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
CheckId | String | Не является пустой или пробелом | Идентификатор чека в локальной учетной системе |
dateTime | String | Не является пустой или пробелом | Дата пробития чека |
BaseCheck | Int | Больше нуля | Идентификатор чека в бонусной системе |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectPayOperation | Результат выполнения операции |
4.12.40 Описание метода «ActivateCard»
Активирует бонусную карту.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Identity | String | Не является пустой или пробелом | Идентификатор бонусной карты |
Type | Int | От 0 до 4 включительно. Number = 1, Magnetic = 2, Barcode = 3, Chip = 4, None = 0 | Тип идентификатора бонусной карты |
Cashier | String | Не является пустой или пробелом | Данные кассира |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.41 Описание метода «SendSms»
Отправялет SMS код на номер телефона для подтверждения идентификации клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
phoneNumber | String | Шаблон строки:«79999999999» | Номер телефона клиента |
Выходные данные
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
4.12.42 Описание метода «GetCardBySms»
Получает данные о карте с помощью идентификации СМС кода.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
phoneNumber | String | Шаблон строки:«79999999999» | Номер телефона клиента |
Password | String | Не является пустой или пробелом | СМС код клиента |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectCardDataViewModel | Результат выполнения операции |
4.12.43 Описание метода «GetAdv»
Получение рекламного блока.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
- | - | - | - |
Выходные данные
Тип данных | Описание |
---|---|
ResponseObjectAdvBlock | Результат выполнения операции |
4.13 Описание моделей COM объекта
4.13.1 Модель класса «ResponseObjectAdvBlock»
Наследует класс «ResponseBase».
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Result | AdvBlock | Рекламный блок |
4.13.2 Модель класса «ResponseObjectBalance»
Наследует класс «ResponseBase».
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Result | Decimal | Баланс |
4.13.3 Модель класса «ResponseObjectCardDataViewModel»
Наследует класс «ResponseBase».
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Result | CardDataViewModel | Данные бонусной карты |
4.13.4 Модель класса «ResponseObjectPayOperation»
Наследует класс «ResponseBase».
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Result | PayOperation | Данные о зарегистрированном чеке |
4.13.5 Модель класса «ResponseObjectSendOperation»
Наследует класс «ResponseBase».
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Result | SendCheck | Данные проверки чека |
4.13.6 Модель класса «ResponseObjectString»
Наследует класс «ResponseBase».
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt”
Название | Тип | Описание |
---|---|---|
Result | String | Строка |
4.14 Описание базы данных Gas Station Service
Служба GasStationService использует следующие таблицы из базы данных системы «Топаз-АЗС»:
-
flOrders – Таблица чеков.
-
sysLocalSessions – Таблица сессий пользователя.
-
sysUsers – Таблица Пользователей системы.
-
sysWorkbenchs – Таблица рабочих мест системы.
-
dcFuels – Таблица - Справочник товаров(Топлива).
4.15 Описание Таблиц
4.15.1 Таблица «flOrders – Чеки»
Столбец | Тип данных | Описание |
---|---|---|
OrderID | Integer | Идентификатор записи |
SessionID | Integer | Внешний ключ Таблицы sysSession |
OrderNum | Intger | Номер документа внутри сессии |
Volume | Numeric | Объем топлива |
Amount | Numeric | Цена за весь объем товара |
DateTime | TimeStamp | Дата и время создания документа |
TankID | Integer | Внешний ключ к справочнику Резервуаров |
FuelID | Integer | Внешний ключ к справочнику Топлива |
HoseID | Integer | Не используется |
PaymentModeID | Integer | Внешний ключ к справочнику Типов Оплат |
Remark | Varchar | Не используется |
Density | Numeric | Не используется |
Temperature | Numeric | Не используется |
Mass | Numeric | Не используется |
ExtData | Blob | Xml c дополнительными данными по чеку, используется для получения номера бонусной карты |
UID | Varchar | Не используется |
LocalSessionID | Integer | Внешний ключ Таблицы sysLocalSession |
Price | Numeric | Не используется |
PricePump | Numeric | Не используется |
MeasuringsData | Blob | Не используется |
ExtUserData | Blob | Не используется |
4.15.2 Таблица «sysLocalSession – Сессии пользователя»
Столбец | Тип данных | Описание |
---|---|---|
LocalSessionID | Integer | Идентификатор записи |
SessionID | Integer | Внешний ключ Таблицы sysSession |
WorkbrenchID | Intger | Внешний ключ Таблицы sysWorkbranchs |
UserID | Numeric | Внешний ключ Таблицы sysUsers |
StartDateTime | TimeStamp | Дата и время начала сессии |
EndDateTime | TimeStamp | Дата и время окончания сессии |
RegFault | Integer | Не используется |
4.15.3
Столбец | Тип данных | Описание |
---|---|---|
UserID | Integer | Идентификатор записи |
Login | Varchar | Логин |
PswHash | Vrachar | Хэш пароля |
Name | Varchar | Не используется |
FirstName | Varchar | Не используется |
SecondName | Varchar | Не используется |
Deleted | Integer | Не используется |
Hash | Char | Не используется |
ExtCode | Varchar | Не используется |
INN | Varchar | Не используется |
4.15.4 Таблица «sysWorkbenchs – Рабочие места системы»
Столбец | Тип данных | Описание |
---|---|---|
WorkbenchID | Integer | Идентификатор записи |
Name | Varchar | Имя |
WorkbenchTypeID | Vrachar | Внешний ключ к справочнику sysWorkBenchTypes |
ComputerName | Varchar | Имя компьютера |
GUID | Varchar | Идентификатор рабочего места |
Deleted | Integer | Флаг – «Удален» |
4.15.5 Таблица «dcFuels – Справочник топлива»
Столбец | Тип данных | Описание |
---|---|---|
FuelID | Integer | Идентификатор записи |
Name | Varchar | Наименование топлива |
Price | Numeric | Цена топлива |
HotKey | SmallInt | Не используется |
Color | Integer | Не используется |
RegSection | SmallInt | Не используется |
Hash | Char | Не используется |
Deleted | Integer | Флаг – «Удален» |
ExtCode | Varchar | Не используется |
FullName | Varchar | Полное наименование топлива |
FuelUnitID | Integer | Не используется |
synchronizationId | Varchar | Не используется |
createOfficeDate | BigInt | Не используется |
createAzsDate | TimeStamp | Не используется |
ModifyDate | BigInt | Не используется |
synchronizationState | Varchar | Не используется |
synchronizationDate | Integer | Не используется |
synchronizationType | Numeric | Не используется |
FFDItemSignID | Numeric | Не используется |
Для работы Служба GasStationService использует собственную базу данных с Таблицей: rgOfficeBonuses – Таблица чеков из ПАК «Топаз-АЗС» для системы RBSoft Cashback.
4.15.6 Таблица «rgOfficeBonuses»
Столбец | Тип данных | Описание |
---|---|---|
OfficeBonusID | Integer | Идентификатор записи |
Date | TimeStamp | Дата и время чека |
DocID | Integer | Идентификатор документа |
DocTypeID | Integer | Идентификатор типа документа |
CardCode | Varchar | Код карты |
BonusAcumulation | Numeric | Количество начисленных бонусов (не используется) |
Volume | Numeric | Объем топлива |
Amount | Numeric | Цена за весь объем топлива |
Price | Numeric | Цена за единицу товара |
AmountByBonuses | Numeric | Цена за весь объем топлива с учетом бонусов (не используется) |
VolumeByBonuses | Numeric | Не используется |
IsSend SmallInt | Флаг | «Чек отправлен» |
Error | Varchar | Описание ошибки не принятого чека |
TryCounter | Integer | Число попыток отправки (не используется) |
WsName | Varchar | Имя компьютера из системы «Топаз-АЗС» |
WsGUID | Varchar | Идентификатор рабочей станции из системы «Топаз-АЗС» |
FuelName | Varchar | Наименование топлива |
FuelID | Varchar | Идентификатор топлива в справочнике топлива в системе «Топаз-АЗС» |
UserName | Varchar | Логин пользователя в системе «Топаз-АЗС» |
UserID | Varchar | Идентификатор пользователя в системе «Топаз-АЗС» |
4.16 Описание Gas Station Service WCF службы
Описание MobileV1
MobileV1 – первая версия API для мобильного личного кабинета.
Описание классов MobileV1
Модель класса «ChangePasswordViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Login | String | Логин, телефон или адрес электронной почты |
Code | String | Код восстановления |
Password | String | Новый пароль |
Модель класса «ClientInfoViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
FirstName | String | Имя |
LastName | String | Фамилия |
Patronymic | String | Отчество |
Birthday | DateTime | Дата рождения |
String | Электронная почта | |
Phone | String | Номер телефона |
IsRuleAccept | Bool | Флаг «Правила использования» |
PhoneNumberIsAllowed | Bool | Флаг «Разрешен доступ к номеру телефона» |
EmailIsAllowed | Bool | Флаг «Разрешен доступ к электронной почте |
IsAgreeToDataProcessing | Bool | Флаг «Разрешено обрабатывать личные данные» |
DateAgreement | DateTime | Дата оформления |
Модель класса «ConfirmCodeViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Login | String | Логин, телефон или адрес электронной почты |
Code | String | Код восстановления |
Модель класса «LoginViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Login | String | Логин, телефон или адрес электронной почты |
Password | String | пароль |
Модель класса «RegisterViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Phone | String | телефон |
String | Адрес электронной почты | |
Password | String | пароль |
Identity | String | Идентификатор устройства |
Модель класса «SendCodeViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Login | String | Логин, телефон или адрес электронной почты |
Модель класса «UpdateViewModel»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
FirstName | String | Имя |
LastName | String | Фамилия |
Patronymic | String | Отчество |
Birthday | DateTime | Дата рождения |
String | Электронная почта | |
Phone | String | Номер телефона |
IsRuleAccept | Bool | Флаг «Правила использования» |
PhoneNumberIsAllowed | Bool | Флаг «Разрешен доступ к номеру телефона» |
EmailIsAllowed | Bool | Флаг «Разрешен доступ к электронной почте |
IsAgreeToDataProcessing | Bool | Флаг «Разрешено обрабатывать личные данные» |
Модель класса «AccountInfo»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Id | Int | Идентификатор записи |
IsOpened | Bool | Флаг «Открыт» |
IsDeleted | Bool | Флаг «Удален» |
IsBlocked | Bool | Флаг «Заблокирован» |
Blocked | DateTime | Дата блокировки |
BlockedComment | String | Комментарий блокировки |
Opened | DateTime | Дата открытия |
Closed | DateTime | Дата закрытия |
Deleted | DateTime | Дата удаления |
Balance | Decimal | Баланс |
Cards | ICollection<CardInfo> | Карты |
Модель класса «CardInfo»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Id | Int | Идентификатор записи |
CardNumber | Int | Номер карты |
DataCard | String | Данные магнитной полосы |
BarCode | String | Штрих код |
ChipCode | String | Чип код |
IsActivated | Bool | Флаг «Активирован» |
IsDeleted | Bool | Флаг «Удален» |
IsBlocked | Bool | Флаг «Заблокирован» |
Created | DateTime | Дата создания |
Activated | DateTime | Дата активации |
Deleted | DateTime | Дата удаления |
Checks | ICollection<CheckInfo> | Чеки |
Transactions | ICollection<TransactionInfo> | Транзакции |
Модель класса «CheckInfo»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Id Int | Идентификатор | записи |
Total | Decimal | Сумма чека |
PaymentSum | Decimal | Сумма оплаченная наличными |
Bonus | Decimal | Сумма оплаченная баллами |
CheckType | String | Тип чека |
Date | DateTime | Дата записи на сервере |
ShopDate | DateTime | Дата отправки на сервер |
CheckDate | DateTime | Дата печати чека |
IsDeleted | Bool | Флаг «Удален» |
Deleted | DateTime | Дата удаления |
CheckPosition | ICollection<PositionInfo> | Позиции чека |
Transactions | ICollection<TransacationInfo> | Транзакции |
Модель класса «PositionInfo»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Count | Decimal | Количество |
Price | Decimal | Цена без скидки |
PriceByBonus | Decimal | Количество баллов, оплаченных на позицию |
Accrual | Decimal | Начислено |
Sum | Decimal | Баланс |
SumWithDiscount | Decimal | Оплачено |
ProductName | String | Название продукта |
ProductPrice | Decimal | Цена продукта |
Модель класса «TransactionInfo»
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип | Описание |
---|---|---|
Id | Int | Идентификатор записи |
Date | DateTime | Дата создания транзакции |
Sum | Decimal | Сумма списания или начисления |
Comment | String | Комментарий |
IsActive | Bool | Флаг «Активна» |
IsDeleted | Bool | Флаг «Удалена» |
Deleted | DateTime | Дата удаления |
Описание методов MobileV1
Описание метода «Login [Post]»
Авторизация клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
auth | LoginViewModel | Не является пустой или пробелом | Модель авторизации |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Описание |
---|---|
ResponseCollection<AccountInfo> | Результат выполнения операции или ошибки |
Headers[Bearer] | Ключ доступа |
Описание метода «Registration[Post]»
Регистрация клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
auth | RegisterViewModel | Не является пустой или пробелом | Модель авторизации |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Описание |
---|---|
ResponseCollection<AccountInfo> | Результат выполнения операции или ошибки |
Headers[Bearer] | Ключ доступа |
Описание метода «UpdateUserInfo[Post]»
Обновление данных клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
auth | RegisterViewModel | Не является пустой или пробелом | Модель авторизации |
Bearer | String | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
Описание метода «SendEmailCode[Post]»
Отправка кода восстановления или подтверждения клиента через e-mail письмо.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
model | SendCodeViewModel | Не является пустой или пробелом | Модель отправки кода |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
Описание метода «SendSmsCode[Post]»
Отправка кода восстановления или подтверждения клиента через sms сообщение.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
model | SendCodeViewModel | Не является пустой или пробелом | Модель отправки кода |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
Описание метода «Confirm [Post]»
Подтверждение клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
model | ConfirmCodeViewModel | Не является пустой или пробелом | Модель подтверждения кода |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
Описание метода «ChangePassword [Post]»
Смена пароля клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
auth | ChangePasswordViewModel | Не является пустой или пробелом | Модель смены пароля |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
Описание метода «ResetPassword[Post]»
Восстановление пароля клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
auth | ChangePasswordViewModel | Не является пустой или пробелом | Модель смены пароля |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseBase | Результат выполнения операции |
Описание метода «GetUserInfo [Get]»
Получение данных клиента клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseObject<ClientInfoViewModel> | Результат выполнения операции или ошибки |
Описание метода «ReloadFullInfo [Get]»
Получение списка лицевых счетов клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<AccountInfo> | Результат выполнения операции |
Описание метода «GetAccounts [Get]»
Получение списка лицевых счетов клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Count | Int | Больше 0 | Количество лицевых счетов |
Offset | Int | Больше или равно 0 | Количество пропускаемых лицевых счетов |
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<AccountInfo> | Результат выполнения операции |
Описание метода «UpdateAccount [Get]»
Получение указанного лицевого счета клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Id | Int | Больше 0 | Идентификатор лицевого счета |
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<AccountInfo> | Результат выполнения операции или ошибки |
Описание метода «GetCards[Get]»
Получение бонусных карт клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Count | Int | Больше 0 | Количество бонусных карт |
Offset | Int | Больше или равно 0 | Количество пропускаемых лицевых счетов |
AccountNumber | Int? | Больше 0 | Номер лицевого счета |
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<CardInfo> | Результат выполнения операции или ошибки |
Описание метода «UpdateCard[Get]»
Получение данных бонусной карты клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Id | Int | Больше 0 | Идентификатор бонусной карты |
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<CardInfo> | Результат выполнения операции или ошибки |
Описание метода «GetChecks[Get]»
Получение истории чеков клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Count | Int | Больше 0 | Количество чеков |
Offset | Int | Больше или равно 0 | Количество пропускаемых чеков |
AccountNumber | Int? | Больше 0 | Номер бонусной карты |
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<CheckInfo> | Результат выполнения операции или ошибки |
Описание метода «UpdateCheck[Get]»
Получение данных указанного чека клиента.
Входные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Название | Тип данных | Ограничения | Описание |
---|---|---|---|
Id | Int | Больше 0 | Идентификатор бонусной карты |
Header [Bearer] | Stringl | Не является пустой или пробелом | Заголовок запроса |
Выходные данные
mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh: 0cm none black;mso-border-insidev:0cm none black”
Тип данных | Описание |
---|---|
ResponseCollection<CheckInfo> | Результат выполнения операции или ошибки |
5. Интеграция
5.1 Термины, определения и обозначения
«Windows Server» - линейка серверных операционных систем от компании Microsoft.
5.2 Интеграция Cashback Server
Необходим Windows Server 2012 и выше.
Далее необходимо установить необходимые роли и компоненты.
Рисунок – Добавление роли сервера
Рисунок – Добавление компонентов
Рисунок – Добавление службы ролей
Рисунок – Список компонентов
Для сервера необходим .Net Framework 4.6 и выше.
Рисунок – Версия Net Framework
MySQL версии 5.7 и выше
Рисунок – Версия MySQL
Установка MySQL
Рисунок – Выбор типа сервера
Рисунок – Проверка необходимых библиотек или программ
Рисунок – Установка
Рисунок – Выбор поставки
Рисунок – Выбор типа сервера и сетевые настройки
Рисунок – Установка ROOT пароля и пользователей
Рисунок – Конфигурация Windows службы
Рисунок – Установка
Создание папки для сервера
Рисунок – Свойства безопасности папки
Создание сайта в диспетчере служб IIS
Рисунок –Добавление веб-сайта
Рисунок – Диспетчер служб IIS
5.3 Интеграция Cashback Shop
Cashback Shop - промежуточный сервер между учетными системами и сервером RBSoft Cashback Server.
5.3.1 Установка и настройка
-
Скачать дистрибутив «RB-Soft - Cashback Shop.exe».
-
Запустить и следовать инструкциям установщика.
Настройка данного программного обеспечения производится с помощью программы Cashback Config.
В окне программы Cashback Config необходимо:
-
Ввести адрес RBSoft Cashback Server.
-
Нажать кнопку «Установить связь с сервером».
-
Выбрать торговую точку.
-
Нажать кнопку «Установить настройки Shop».
ВАЖНО!!! При переустановке либо обновлении данного программного обеспечения необходимо сохранить файл «server_s.json», который хранится в корне RBSoft Cashback Shop, по умолчанию путь «C:\Program Files (x86)\RB-Soft\Cashback\Shop\server_s.json».
5.3.2 Просмотр версии
-
Открыть папку по указанному пути установки, по умолчанию «C:\Program Files (x86)\RB-Soft\Cashback\Shop».
-
Открыть свойства файла «Cashback.WCF.dll».
-
Зайти во вкладку «Подробно».
-
Версии указаны как «Версия продукта» и «Версия файла».
Пример версии файла Shop
5.4 Интеграция Cashback Pos
Cashback Pos – программный компонент для взаимодействия учетных систем, таких как 1C или Frontol. Выполнен в виде COM-объекта Windows.
5.4.1 Установка и настройка
-
Скачать дистрибутив RB-Soft - Cashback Point of sell.exe.
-
Запустить и следовать инструкциям установщика.
При переустановке либо обновлении данного программного обеспечения дополнительных настроек не требуется. Параметры для подключения к бонусной системе хранятся в учетной системе.
5.4.2 Просмотр версии
-
Открыть папку по указанному пути установки, по умолчанию «C:\Program Files (x86)\RB-Soft\Cashback\Pos».
-
Открыть свойства файла «Cashback.Com.dll».
-
Зайти во вкладку «Подробно».
-
Версии указаны как «Версия продукта» и «Версия файла».
Пример версии файла POS
5.5 Интеграция Cashback Gas Station Service
5.6 Использование конфигуратора Shop
Cashback Config – программа для конфигурирования Cashback Shop.
5.6.1 Установка и настройка
-
Скачать дистрибутив «RB-Soft - Cashback Config.exe».
-
Запустить и следовать инструкциям установщика.
Работа конфигуратора разрешена только при включенном параметре на Cashback Server. Имя параметра - «Config», его значение должно быть равно «true».
5.7 Использование конфигуратора Gas Station Service
6. Руководство пользователя 1С
6.1 Подключение к серверу
Настойка подключения к бонусному серверу производится в рабочем месте текущего сеанса 1С.
В форме рабочего места во вкладке «Cashback» указываются параметры подключения:
-
Признак участия данного рабочего места в бонусной системе
-
IP-адрес локального сервера бонусной системы
-
Ключ доступа к серверу данной торговой точки
IP-адрес сервера вводится без лидирующих нулей
6.2 Первичная выгрузка каталогов
Для первичной выгрузки каталогов в бонусную систему можно воспользоваться внешней обработкой «Cashback_ВыгрузкаКаталогаТоваров».
Алгоритм работы обработки заключается в оформлении чека продажи по одному товару из каждого каталога информационной базы количеством 1 шт и по цене 1 рубль. Таким образом в бонусную систему попадают все существующие каталоги информационной базы.
В качестве номера карты указывается номер зарегистрированной и активной в бонусной системе карты.
После выполнения экспорта в бонусной системе будет зарегистрирован фиктивный чек продажи. Если политикой предусмотрено начисление бонусных баллов при покупке, то на указанную карту будет выполнено начисление.
6.3 Оформление продажи
Использование бонусной системы Cashback не затрагивает встроенную в 1С:Розница бонусную систему, а применяется в виде скидки.
Взаимодействие с бонусной системой Cashback осуществляется из режима «Регистрация продаж» обработки «РМК: Управляемый режим».
После подбора товаров в табличную часть и нажатия любой из кнопок оплаты открывается окно авторизации бонусной карты.
Авторизация может быть произведена с помощью считывания магнитной карты или штрихкода, а также по номеру карты или телефона.
По умолчанию поиск по номеру карты запрещен во избежание мошеннических действий со стороны персонала. Для того чтобы разрешить такой вид поиска, необходимо запустить 1С с параметром запуска «Cashback_РазрешитьПоискКартыПоНомеру».
После успешной авторизации бонусной карты и при возможности осуществить оплату покупки имеющимися на балансе карты бонусными баллами откроется окно ввода суммы оплаты бонусными баллами.
Введенная сумма оплаты будет зачтена в виде суммовой скидки, которая будет распределена между всеми позициями чека пропорционально их максимальной сумме оплаты бонусными баллами.
7. Тестирование
Тестирование программного обеспечения – процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов.
7.1 Спецификации функционала
7.1.1 Спецификация функции «А-1 Активация бонусной карты»
Действующее лицо
Описание
Триггер
Предварительные действия
Входные данные
Выходные данные
7.2 Тест требования
№ | № функции | Входные данные | Выходные данные |
---|---|---|---|
1 | 1 | Корректный | Сообщение 1 |
2 | 1 | Не корректный | Сообщение 2 |
7.3 План тестирования
№ | Пункт | Содержание |
---|---|---|
1 | Идентификатор плана и номер его версии, номер версии ПО | RBSoft Cashback Web 1.0.0127/RBSoft Cashback Shop 1.0.0127/RBSoft Cashback Pos 1.0.0127/RBSoft Cashback Gas 1.0.0127 |
2 | Общее описание тест-плата | Тестирование системы |
3 | Трассировка на другие документы | - |
4 | Определение тестируемых областей системы | MySQL/Asp.Net MVC/WCF/ComObjects – ActiveX |
5 | Определение подходов к тестированию | Unit – тестирование |
6 | Критерий успешности / не успешности тестов | Результат совпал с ожидаемыми значениями – тест пройден / Результат не совпал с ожидаемыми значениями – тест не пройден |
7 | Тестовые документы | - |
8 | Требования к среде | Тестовый стенд с ОС Windows с версией не ниже 10 1607, наличие инсталляционного файла приложения |
9 | Людские ресурсы и уровень их подготовки | Тестировщик – 1 человек.Разработчик – 1 человек. |
10 | Плат график | 1 месяц |
8. Методика диагностики неисправностей
8.1 Термины, определения и обозначения
8.2 Диагностика Cashback Server
Проблемы могут возникнуть при работе сервера в следующих участках работы сервера:
-
База данных.
-
Подключение к базе данных.
-
Корректность схемы данных.
-
Логика MVC.
-
Логика выполнения операций CRUD.
-
Загрузка файлов.
-
Логика API.
-
Логика выполнения операций API.
-
Вычислительная мощность.
-
Ограничения по ядрам процессора и оперативной памяти сервера.
-
Вирусы, спам, DDOS и другое.
-
Логико-содержащие ошибки при разработке сервера.
Основной способ проверки доступности и работоспособности сервера:
-
Открыть главную страницу сайта.
-
Зайти через удаленный доступ на сервер развертывания веб-приложения.
-
Зайти через удаленный доступ на сервер базы данных.
-
Просмотреть логи веб-приложения.
8.2.1 Часто задаваемые вопросы
В:
О:
8.2.2 Список ошибок
Весь список ошибок по API интерфейсу задекларирован в объекте ResponseBase в виде статичных методов, внутри которых указан возвращаемый код и описание ошибки.
8.3 Диагностика Cashback Shop
С помощью программы «Cashback Config» просмотреть записанные настройки, попытаться БЮ2