Сервер счетчиков может быть установлен как на кассовый сервер, так и как самостоятельный сервер. 

Установка сервиса счетчиков

Для установки сервиса необходимо:

  1. Добавить репозитории. Необходимы репозиторий КС (файл /etc/apt/sources.list.d/cashserver3.list) и postgresql (файл /etc/apt/sources.list.d/pgdg.list).
  2. Обновить список доступных пакетов:

    sudo apt-get update
  3. Установить пакет artixcs-counter

    sudo apt-get install artixcs-counter

После установки сервис счетчиков будет доступен по адресу <хост_сервера>:8090.

REST API сервиса счетчиков доступно по адресу <host>:8090/swagger-ui.html.

Команды сервиса

Сервис доступен по имени artixcs-counter. Управление доступно командами:

sudo service artixcs-counter start|stop|status

Запросы сервиса

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

Для изменения счетчика необходимо направить REST запрос с авторизацией basicAuth (логин и пароль указаны в настройках сервиса) типа POST на url:

Пример запроса
http://{хост сервиса}:{порт сервиса}/v1/operations?confirm=true
Тело запроса
{
  "amount": 12.9,
  "operationType": "SUB",
  "counterId": "sale1",
  "destination": "1230000000123",
  "dateChanger": "2020-12-16T18:14:29.038+07",
  "idChanger": "cash1",
  "operationId": "sale1_cash1_1230000000123_123456"
}
НаименованиеТип данныхОписаниеПримечания
amount

bigdecimal

Сумма, которую надо добавить или отнять по определенному счетчикуОбязательно для заполнения.
operationType

enum

Тип операции:

  • ADD – операция добавления;
  • SUB – операция вычитания.
Обязательно для заполнения.
counterId

string

Идентификатор счетчика, по которому выполняются накопления

Указывается название или идентификатор акции.

Обязательно для заполнения.

destination

string

Идентификатор, указывающий для кого выполняется учет счетчика

Может быть указан номер карты, номер телефона или любое другое поле, отправленное с кассы.

Обязательно для заполнения.

dateChanger

date

Время выполнения операцииУказывается текущее время того устройства, с которого выполняется запрос.
idChanger

string

Идентификатор того, кто выполнил операциюМожет быть указан номер кассы.
operationId

string

Уникальный идентификатор операции

Обязательно для заполнения.

Кассовое ПО заполняет operationId по правилу: <идентификатор_счетчика> + <номер_карты> + <текущее_время("yyyyMMddhhmmsszzz")>

fromTime

date

Время, с которого будет учитываться данная операцияЕсли время не указано, то операция учитывается с любого момента времени.
toTime

date

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

Логирование работы сервиса

Логирование работы сервиса ведется в файле /var/log/artixcs-counter.log. Ротация логов осуществляется 1 раз в сутки.

  • No labels