Кэшбэк

1. Введение

RBSoft Cashback – бонусная система управления и учета. Предназначена для начисления и списания бонусных баллов по необходимым критериям. Также предоставляет возможность хранения истории транзакций, отправки SMS / Email, отображения графиков.

Основной функционал:

  1. Управление бонусными картами, купонами и подарочными картами.

  2. Управление системой начисления баллов.

  3. Управление ограничений максимальной скидки и максимального начисления на товар с помощью групп товаров.

  4. Хранение полного состава чека, который включает в себя:

  5. данные оплаты;

  6. используемую бонусную карту, купон или подарочную карту;

  7. список позиций товара.

  8. Управление торговыми точками и местами продаж.

  9. Управление рекламными блоками в чеках, привязанный к торговой точке.

  10. Интеграционный модуль для внешних систем 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 Управление маркетинговыми акциями

Маркетинговая акция должна быть легкой и гибкой в настройке её исполнения, для чего необходимы следующие параметры:

  1. Наименование для идентификации акции, например «День газировки».

  2. Дата начала и завершения действия акции, например «с 23 апреля 2020 по 25 апреля 2020».

  3. Время начала и завершения действия акции; указывается вплоть до минут, например «с 06:00 до 18:00».

  4. Приоритет применения акции, например: 1, 2, 3 (наименьший считается наивысшим приоритетом).

  5. Основные объекты применения акции – торговые точки, на которых будет применена данная маркетинговая акция, например «Продуктовый на Ленина».

  6. Дни недели действия акции, например,«ПН», «ВТ» и т. д.

  7. Дни месяца действия акции, например «1», «2» и т. д.

  8. Выбор конкретных продуктов для применения акции.

  9. Выбор конкретных групп товаров для применения акции.

  10. Выбор конкретных каталогов для применения акции.

  11. Использование ограниченных временем транзакций по начислению и использованию баллов.

  12. Режим использования: всегда, оплачено баллами, без оплаты баллами, приоритет.

Например, входные данные для работы маркетинговой акции в честь «Дня Святого Валентина»: 14 февраля 2020 года, с 00:00 до 23:59, приоритет равный 1, применяется на все торговые точки, все дни недели и 14 число месяца.

Данная маркетинговая акция будет применятся только 14 февраля 2020 года, на всех торговых точках.

Выше были описаны параметры применения акции, также необходимы правила начисления бонусных баллов.

Для правил маркетинговых акций необходимы следующие параметры:

  1. Операнд сравнения: количество товара в чеке, количество товара группы в чеке, параметр.

  2. Вид условия сравнения. Например, выбор из вариантов: «входит в диапазоне», «больше», «меньше» или «равно».

  3. Второй операнд условия.

Пример.

Первый операнд выбран «Количество товаров в чеке».

Вид условия сравнения выбран «Больше».

Второй операнд условия выбран «10».

Правило будет срабатывать для строки чека, у которого количество товара больше десяти.

  1. Параметр вычисления. Например, «Сумма чека, оплаченная реальными деньгами».

  2. Функция вычисления, начисление фиксированного значения или умножение для получения %.

  3. Второй операнд или значение вычисления. Используется как второй операнд или как фиксированное значение.

Например, входные данные для начисления на совпадение наименования товара «Роза» начислять 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 Процесс «Регистрация продажи»

  1. Создание чека;

  2. Заполнение чека позициями;

  3. Добавление бонусной карты, если имеется;

  4. Добавление купона, если имеется;

  5. Добавление подарочной карты, если имеется;

  6. Проверка данных;

  7. Проверка допустимого начисления и списания на позиции;

  8. Указание суммы оплаты;

  9. Равномерное распределение суммы оплаты по позициям;

  10. Проверка чека;

  11. Регистрация чека;

  12. Печать на чеке его номера в бонусной системе, текущего баланса, количества списанных и начисленных бонусов.

2.4.10 Процесс «Регистрация возврата»

  1. Создание чека;

  2. Заполнение чека позициями;

  3. Добавление бонусной карты, если имеется;

  4. Добавление подарочной карты, если имеется;

  5. Проверка данных;

  6. Проверка чека;

  7. Регистрация чека возврата.;

  8. Печать на чеке его номера в бонусной системе, текущего баланса, количества списанных и начисленных бонусов по состоянию возврата чека.

2.4.11 Процесс взаимодействия с программой «Топаз-АЗС»

В процессе взаимодействия с ПК «Топаз-АЗС» можно выделить следующие шаги:

  1. Установление соединения с Системой Баз Данных, которую использует «Топаз-АЗС».

  2. Получение зарегистрированных в системе чеков.

  3. Первичная обработка полученных данных и сохранения в собственную БД чеков.

  4. Отправка данных по чекам.

  5. Регистрация результатов отправки чеков.

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 Когда выход в сеть Интернет есть только у одного конкретного компьютера на одну торговую точку.

1

В данном случае на одну торговую точку устанавливается один экземпляр Cashback Shop. Топаз-Азс и учетные системы имеют по одному экземпляру Cashback Gas и Cashback COM соответственно. Взаимодействие с сервером производится через сеть интернет только одного компьютера.

3.3.2 Вариант использования Cashback Shop на локальную сеть

Вариант с одним экземпляром Cashback Shop подходит для случаев, когда магазины используют одну общую локальную сеть, например VPN или обычную ЛВС.

2

3.3.3 Вариант использования Cashback Shop на учетную систему

Вариант использования применим, если каждое место продажи является отдельной торговой точкой и местом выхода в сеть интернет.

3

3.4 Описание моделей взаимодействия

Модель «Ответ» содержит поле «Код ошибки» и «Описание ошибки».

Модель «Ответ с результирующим объектом» необходим для передачи результирующих данных; помимо кода и описания ошибки содержит поле «Результат».

Модель «Ответ с результирующими объектами» вместо одного объекта результата содержит коллекцию из этих объектов.

3.5 Описание интерфейса программ

4

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 Дата рождения
Email 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), а также дополнительным функционалом, необходимым для упрощения работы с системой.

5

4.4 Описание Onion архитектуры сервера

Разделение на заменяемые части, используя один контракт описания и интерфейс, даёт четкое описание цели и задачи, выполняемой каждым уровнем абстракции.

6

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
RegisterClient Регистрация программы для места продажи, запись данных компьютера в базу данных и выдача идентификационного ключа RegisterEquipment ResponseObject
ActivateCard Активация карты CardApiModel ResponseBase
ActivateCardsWithSharedAccount Активация нескольких карт с общим лицевым счетом CardIdentity[] ResponseBase
Balance Получение актуального баланса счета, по бонусной карте CardIdentity ResponseObject
ActivateCards Активация нескольких карт с общим лицевым счетом и клиентом CardApiModel[] ResponseBase
SendCheck Проверка чека перед регистрацией.Проверка бонусной карты, купона и подарочной карты.Проверка ограничений по оплате баллами. SendCheckApiModel ResponseObject
PayCheck Регистрация чека в базе данных CheckApiModel ResponseObject
CancelCheck Регистрация чека возврата ранее купленных позиций товара CancelCheckApiModel ReponseObject
BulkChecks Массовая регистрация чеков List List>
SendSms Отправка СМС клиенту для получения кода, который укажет бонусную карту клиента TelephoneApiModel ResponseObject<SendResult[]
GetCardBySms Получение данных о бонусной карте с помощью подтверждения номера телефона TelephoneApiModel ResponseObject
GetAdvBlock Получение рекламного блока - ResponseObject
Configuration Получение текущей конфигурации - ResponseObject

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 Позиции чека
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 Параметры

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 Список групп товаров
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 Список подарочных карт и применяемых оплат

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
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
SendCheck Отправка чека на проверку Check obj, string identity ResponseObject
PayCheck Регистрация чека Check obj, string identity ResponseObject
CancelCheck Отмена чека Check obj, string identity ResponseObject
PayCheckBulk Регистрация массива чеков Check[] obj, string identity List>
SendSms Отправка СМС кода TelephoneApiModel, string identity ResponseBase
GetCardBySms Получение данных о карте с помощью СМС кода и номера телефона TelephoneApiModel, string identity ResponseObject
GetAdvBlock Получение рекламного блока для текущей торговой точки String identity ResponseObject
Echo Тест запрос, для идентификации - -

4.11 Общий алгоритм работы с COM объектом

7

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 Не является пустой или пробелом Версия API
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 использует следующие таблицы из базы данных системы «Топаз-АЗС»:

  1. flOrders – Таблица чеков.

  2. sysLocalSessions – Таблица сессий пользователя.

  3. sysUsers – Таблица Пользователей системы.

  4. sysWorkbenchs – Таблица рабочих мест системы.

  5. 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 для мобильного личного кабинета.

8

Описание классов 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 Дата рождения
Email 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 телефон
Email 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 Дата рождения
Email 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»

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 Чеки
Transactions ICollection Транзакции

Модель класса «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 Позиции чека
Transactions ICollection Транзакции

Модель класса «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 Результат выполнения операции или ошибки
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 Результат выполнения операции или ошибки
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 Результат выполнения операции или ошибки

Описание метода «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 Результат выполнения операции

Описание метода «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 Результат выполнения операции

Описание метода «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 Результат выполнения операции или ошибки

Описание метода «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 Результат выполнения операции или ошибки

Описание метода «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 Результат выполнения операции или ошибки

Описание метода «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 Результат выполнения операции или ошибки

Описание метода «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 Результат выполнения операции или ошибки

5. Интеграция

5.1 Термины, определения и обозначения

«Windows Server» - линейка серверных операционных систем от компании Microsoft.

5.2 Интеграция Cashback Server

Необходим Windows Server 2012 и выше.

Далее необходимо установить необходимые роли и компоненты.

9

Рисунок – Добавление роли сервера

10

Рисунок – Добавление компонентов

11

Рисунок – Добавление службы ролей

12

Рисунок – Список компонентов

Для сервера необходим .Net Framework 4.6 и выше.

13

Рисунок – Версия Net Framework

MySQL версии 5.7 и выше

14

Рисунок – Версия MySQL

Установка MySQL

15

Рисунок – Выбор типа сервера

16

Рисунок – Проверка необходимых библиотек или программ

17

Рисунок – Установка

18

Рисунок – Выбор поставки

19

Рисунок – Выбор типа сервера и сетевые настройки

20

Рисунок – Установка ROOT пароля и пользователей

21

Рисунок – Конфигурация Windows службы

22

Рисунок – Установка

Создание папки для сервера

23

Рисунок – Свойства безопасности папки

Создание сайта в диспетчере служб IIS

24

Рисунок –Добавление веб-сайта

25

Рисунок – Диспетчер служб IIS

5.3 Интеграция Cashback Shop

Cashback Shop - промежуточный сервер между учетными системами и сервером RBSoft Cashback Server.

5.3.1 Установка и настройка

  1. Скачать дистрибутив «RB-Soft - Cashback Shop.exe».

  2. Запустить и следовать инструкциям установщика.

Настройка данного программного обеспечения производится с помощью программы Cashback Config.

В окне программы Cashback Config необходимо:

  1. Ввести адрес RBSoft Cashback Server.

  2. Нажать кнопку «Установить связь с сервером».

  3. Выбрать торговую точку.

  4. Нажать кнопку «Установить настройки Shop».

ВАЖНО!!! При переустановке либо обновлении данного программного обеспечения необходимо сохранить файл «server_s.json», который хранится в корне RBSoft Cashback Shop, по умолчанию путь «C:\Program Files (x86)\RB-Soft\Cashback\Shop\server_s.json».

5.3.2 Просмотр версии

  1. Открыть папку по указанному пути установки, по умолчанию «C:\Program Files (x86)\RB-Soft\Cashback\Shop».

  2. Открыть свойства файла «Cashback.WCF.dll».

  3. Зайти во вкладку «Подробно».

  4. Версии указаны как «Версия продукта» и «Версия файла».

26

Пример версии файла Shop

5.4 Интеграция Cashback Pos

Cashback Pos – программный компонент для взаимодействия учетных систем, таких как 1C или Frontol. Выполнен в виде COM-объекта Windows.

5.4.1 Установка и настройка

  1. Скачать дистрибутив RB-Soft - Cashback Point of sell.exe.

  2. Запустить и следовать инструкциям установщика.

При переустановке либо обновлении данного программного обеспечения дополнительных настроек не требуется. Параметры для подключения к бонусной системе хранятся в учетной системе.

5.4.2 Просмотр версии

  1. Открыть папку по указанному пути установки, по умолчанию «C:\Program Files (x86)\RB-Soft\Cashback\Pos».

  2. Открыть свойства файла «Cashback.Com.dll».

  3. Зайти во вкладку «Подробно».

  4. Версии указаны как «Версия продукта» и «Версия файла».

27

Пример версии файла POS

5.5 Интеграция Cashback Gas Station Service

5.6 Использование конфигуратора Shop

Cashback Config – программа для конфигурирования Cashback Shop.

5.6.1 Установка и настройка

  1. Скачать дистрибутив «RB-Soft - Cashback Config.exe».

  2. Запустить и следовать инструкциям установщика.

Работа конфигуратора разрешена только при включенном параметре на Cashback Server. Имя параметра - «Config», его значение должно быть равно «true».

5.7 Использование конфигуратора Gas Station Service

6. Руководство пользователя 1С

6.1 Подключение к серверу

Настойка подключения к бонусному серверу производится в рабочем месте текущего сеанса 1С.

28

В форме рабочего места во вкладке «Cashback» указываются параметры подключения:

  • Признак участия данного рабочего места в бонусной системе

  • IP-адрес локального сервера бонусной системы

  • Ключ доступа к серверу данной торговой точки

29

IP-адрес сервера вводится без лидирующих нулей

6.2 Первичная выгрузка каталогов

Для первичной выгрузки каталогов в бонусную систему можно воспользоваться внешней обработкой «Cashback_ВыгрузкаКаталогаТоваров».

Алгоритм работы обработки заключается в оформлении чека продажи по одному товару из каждого каталога информационной базы количеством 1 шт и по цене 1 рубль. Таким образом в бонусную систему попадают все существующие каталоги информационной базы.

30

В качестве номера карты указывается номер зарегистрированной и активной в бонусной системе карты.

После выполнения экспорта в бонусной системе будет зарегистрирован фиктивный чек продажи. Если политикой предусмотрено начисление бонусных баллов при покупке, то на указанную карту будет выполнено начисление.

6.3 Оформление продажи

Использование бонусной системы Cashback не затрагивает встроенную в 1С:Розница бонусную систему, а применяется в виде скидки.

Взаимодействие с бонусной системой Cashback осуществляется из режима «Регистрация продаж» обработки «РМК: Управляемый режим».

31

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

32

Авторизация может быть произведена с помощью считывания магнитной карты или штрихкода, а также по номеру карты или телефона.

По умолчанию поиск по номеру карты запрещен во избежание мошеннических действий со стороны персонала. Для того чтобы разрешить такой вид поиска, необходимо запустить 1С с параметром запуска «Cashback_РазрешитьПоискКартыПоНомеру».

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

33

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

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

Проблемы могут возникнуть при работе сервера в следующих участках работы сервера:

  1. База данных.

  2. Подключение к базе данных.

  3. Корректность схемы данных.

  4. Логика MVC.

  5. Логика выполнения операций CRUD.

  6. Загрузка файлов.

  7. Логика API.

  8. Логика выполнения операций API.

  9. Вычислительная мощность.

  10. Ограничения по ядрам процессора и оперативной памяти сервера.

  11. Вирусы, спам, DDOS и другое.

  12. Логико-содержащие ошибки при разработке сервера.

Основной способ проверки доступности и работоспособности сервера:

  1. Открыть главную страницу сайта.

  2. Зайти через удаленный доступ на сервер развертывания веб-приложения.

  3. Зайти через удаленный доступ на сервер базы данных.

  4. Просмотреть логи веб-приложения.

8.2.1 Часто задаваемые вопросы

В:

О:

8.2.2 Список ошибок

Весь список ошибок по API интерфейсу задекларирован в объекте ResponseBase в виде статичных методов, внутри которых указан возвращаемый код и описание ошибки.

8.3 Диагностика Cashback Shop

С помощью программы «Cashback Config» просмотреть записанные настройки, попытаться БЮ2

8.3.1 Часто задаваемые вопросы

8.3.2 Список ошибок

8.4 Диагностика Cashback Pos

8.4.1 Часто задаваемые вопросы

8.4.2 Список ошибок

8.5 Диагностика Cashback Gas Station Service

8.5.1 Часто задаваемые вопросы

8.5.2 Список ошибок

8.6 Диагностика Топаз-АЗС

8.6.1 Часто задаваемые вопросы

8.6.2 Список ошибок

9. FAQ

9.1 Термины, определения и обозначения

Совпадений по запросу " "

    Совпадений по запросу "" не найдено