Документация

Установка

Загрузите файл pricechecker.apk.
Запустите процесс установки.
В процессе установки подтвердите установку приложений из неизвестных источников.


Проверка

Запустите установленное приложение.
На экране появится предложение отсканировать штрихкод товара.
По умолчанию приложение находится в демонстрационном режиме. Вы можете отсканировать любой штрихкод и увидите на экране прайсчекера информацию о произвольном товаре.


Режимы работы

Приложение может может работать в одном из двух режимов.

Автономный режим

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

Онлайн режим

В этом режиме после сканирования товара прайсчекер делает запрос в учётную систему по HTTP протоколу. Если в учётной системе товар с таким штрихкодом найден, информация о нём выводится на экран.

Какой режим выбрать?

Ниже приводится сравнительная таблица с описанием преимуществ и недостатков обоих режимов и рекомендации по выбору.

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

Взаимодействие с прайсчекером

Приложение имеет внутренний FTP сервер для доступа к внутренней памяти прайсчекера.
Для получения доступа в адресной строке проводника введите:
ftp://ip_адрес_прайсчекера:2121
Далее в введите данные для доступа к FTP.
Логин: admin
Пароль: admin

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

Папка Назначение
data В эту папку загружаются данные для работы в Автономном режиме
logs В этой папке сохраняются логи работы приложения
templates В этой папке размещаются произвольные шаблоны интерфейса прайсчекера
video Здесь размещаются видеофайлы для демонстрации видеоматериалов во время бездействия прайсчекера

Примечание

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


Настройка

Для перехода в настройки нажмите один раз в любом месте экрана. В левом верхнем углу появится значок для перехода на экран настроек.


Далее необходимо ввести код для доступа к настройкам.
Код по умолчанию 000000.


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

Режим работы

Автономный режим

В этом режиме прайсчекер после сканирования товара обращается к заранее загруженным данным и ищет данные по товару.

Онлайн режим

В этом режиме после сканирования товара прайсчекер по HTTP протоколу обращается к учётной системе отправляет штрихкод товара и в ответ получает данные о товаре.

Демонстрация

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

Параметры сервера данных

Адрес приёма запросов

URL веб сервера учетной системы для получения данных от товаре. Должен начинаться с префикса http:// или https://.
Например, http://192.168.1.100:8080/api/get_product_info

Таймаут подключения (сек)

Время соединения с сервером данных. Допустимые значения 0-100 секунд. (0 - без таймаута, значение по умолчанию 10)

Таймаут отправки/получения данных (сек)

Время в течение которого ожидается отправка запроса и получение ответа от сервера данных. Допустимые значения 0-100 секунд. (0 - без таймаута, значение по умолчанию 10)

Базовая аутентификация (опционально)

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

Примечание

Блок Параметры сервера данных доступен только при выборе Онлайн режима.

Параметры FTP сервера

Использовать FTP сервер

Включает или отключает FTP сервер в прайсчекере.

Порт

Номер порта на котором работает FTP сервер. Допустимые значения 1024-65535. По умолчанию 2121.

Логин

Логин для входа на FTP сервер. По умолчанию admin.

Пароль

Пароль для входа на FTP сервер. По умолчанию admin.

Интерфейс

Тип шаблона

Задаёт тип шаблона для интерфейса. Предустановленный или Пользовательский

Шаблон

Задаёт шаблон интерфейса.

Текст предложения сканирования штрихкода

Задаёт текст, который выводится на первом экране.

Время отображения информации о товаре

Задаёт время в течение которого на экране отображается информация о товаре. Допустимые значения 0-180 секунд. (0 - информация о товаре отображается до сканирования следующего штрихкода. Значение по умолчанию 10 секунд)

Экран

Ориентация экрана

Задаёт ориентацию экрана. По умолчанию Горизонтальная.

Экран всегда включен

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

Полноэкранный режим

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

Размер шрифта

В зависимости от размеров и разрешения экрана на разных устройствах размер текста может варьироваться. При помощи этого параметра можно установить желаемый размер шрифтов.

Видео

Проигрывать видео

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

Проигрывать без звука

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

Звук

Звуковой сигнал при сканировании штрихкода

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

Весовые штрихкоды

Обрабатывать весовые штрихкоды

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

Префиксы

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

Длина кода товара

Параметр задает длину кода товара в штрихкоде.

Количество десятичных знаков веса

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

Подробности в разделе Весовые штрихкоды

Код доступа

Запрашивать код доступа при переходе в настройки

Если параметр включен, перед открытием экрана настроек будет запрошен код доступа.

Запрашивать код доступа при выходе из приложения

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

Изменить код доступа

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


Интерфейс

Экран отображения данных о товаре может быть сконфигурирован в зависимости от специфики торговой организации.

Приложение содержит два предустановленных шаблона интерфейса: Супермаркет и Оптово-розничный магазин

Интерфейс Супермаркет


Наименование товара, изображение, цена


Наименование товара, изображение, старая цена, новая цена по акции


Наименование товара, цена (изображение товара не задано)


Наименование товара, старая цена, новая цена по акции (изображение товара не задано)


Описание режимов работы

Автономный режим

Для работы в автономном режиме необходимо загрузить в прайсчекер данные о товаре. Данные представляют собой один или несколько файлов в формате XML. Ниже представлена структура файла данных.

<?xml version="1.0"?>
<products>
<!-- первая позиция -->
 <product>
  <barcode>0000000001</barcode>
  <name>Яблоки</name>
  <price>500₸</price>
  <oldPrice>600₸</oldPrice>
  <image>/9j/4AAQS ... AIQhAf/Z</image>
 </product>
<!-- вторая позиция -->
 <product>
  <barcode>0000000002</barcode>
  <name>Бананы</name>
  <price>700₸</price>
  <oldPrice></oldPrice>
  <image>/9j/4AAQS ... AIQhAf/Z</image>
 </product>
<!-- остальные позиции -->
<!-- ... -->
</products>

Файл должен быть в кодировке UTF-8, иметь элемент products внутри которого в элементах product должна находится информация о товаре

Элементы, описывающие товар зависят от шаблона интерфейса.

Описание для шаблона Супермаркет.

Элемент Описание Обязательный Примечание
barcode Штрихкод товара Этот элемент всегда должен быть первым, так как штрихкоды индексируются для ускорения поиска.
Для весового товара вместо штрихкода должен быть указан код товара. Подробности в разделе Весовые штрихкоды
name Наименование
price Текущая цена товара Для весового товара должна быть указана цена за единицу веса.
oldPrice Старая цена товара Используется для акционного товара. Содержит цену товара до акции. Для товара на который нет акции, этот элемент должен быть пустым.
image Изображение товара Изображение товара должно быть в виде строки в кодировке BASE64 без переносов. Если у товара нет изображения, этот элемент должен быть пустым.

Ниже показано соответствие элементов XML файла с элементами интерфейса.


1 - name, 2 - image, 3 - oldPrice, 4 - price

Описание для шаблона Оптово-розничный магазин.

Элемент Описание Обязательный Примечание
barcode Штрихкод товара Этот элемент всегда должен быть первым, так как штрихкоды индексируются для ускорения поиска.
Для весового товара вместо штрихкода должен быть указан код товара. Подробности в разделе Весовые штрихкоды
name Наименование
wholesalePrice Оптовая цена товара Для весового товара должна быть указана цена за единицу веса.
retailPrice Розничная цена товара Для весового товара должна быть указана цена за единицу веса.
image Изображение товара Изображение товара должно быть в виде строки в кодировке BASE64 без переносов. Если у товара нет изображения, этот элемент должен быть пустым.
info Дополнительная информация Дополнительная информация о товаре.

Вы можете проверить работу в автономном режиме загрузив демонстрационные XML файлы.

Онлайн режим

В онлайн режиме прайсчекер получает данные о товаре из учётной системы посредством запроса по HTTP протоколу.

Учётная система должна реализовывать веб сервер, обрабатывающий запросы от прайсчекера.

После сканирования штрихкода товара прайсчекер отправляет данные в виде POST запроса с типом application/json на адрес, указанный в поле Адрес приёма запросов (блок Параметры сервера данных).
Данные представляют собой объект в формате JSON.

Структура запроса представлена ниже.

Ключ Тип Значение Примечание
barcode Строка Отсканированный штрихкод товара. Для весового товара вместо штрихкода будет передан код товара. Подробности в разделе Весовые штрихкоды
template Строка Название шаблона интерфейса прайсчекера. Может быть использован для идентификации шаблона интерфейса учётной системой, если используется несколько прайсчекеров с разным интерфейсом

После обработки запроса учётная система должна передать ответ.

Структура ответа для шаблона Супермаркет представлена ниже.

Ключ Тип Обязательный Значение Примечание
result Число Результат. 0 - успешно, товар с переданных штрихкодом найден.
Не 0 - коды ошибок.
message Строка Текстовое описание ошибки. При успешном результате - пустая строка.
product Объект Объект, содержащий данные о товаре. Если ошибок нет, этот ключ должен присутствовать и содержать данные о товаре
см. Структура объекта product

Структура объекта product для шаблона Супермаркет

Ключ Тип Обязательный Значение Примечание
name Строка Наименование товара.
price Строка Текущая цена товара. Для весового товара учётная система должна передать цену товара за единицу веса. Подробности в разделе Весовые штрихкоды
oldPrice Строка Используется для акционного товара. Содержит цену товара до акции. Для товара на который нет акции, значение должно содержать пустую строку, null, либо данный ключ должен отсутствовать.
image Строка Изображение в виде строки в кодировке BASE64 без переносов. Если у товара нет изображения или изображения не используются, значение должно содержать пустую строку, null, либо данный ключ должен отсутствовать.
quantity Строка Количество товара на складе/витрине (остаток).
Будет показан в нижней части экрана.
Если необходимо показывать количество доступного товара, укажите значение в виде строки, иначе значение должно содержать пустую строку, null, либо данный ключ должен отсутствовать.

Структура объекта product для шаблона Оптово-розничный магазин

Ключ Тип Обязательный Значение Примечание
name Строка Наименование товара.
wholesalePrice Строка Оптовая цена товара. Для весового товара учётная система должна передать цену товара за единицу веса. Подробности в разделе Весовые штрихкоды
retailPrice Строка Розничная цена товара. Для весового товара учётная система должна передать цену товара за единицу веса. Подробности в разделе Весовые штрихкоды
image Строка Изображение в виде строки в кодировке BASE64 без переносов. Если у товара нет изображения или изображения не используются, значение должно содержать пустую строку, null, либо данный ключ должен отсутствовать.
info Строка Дополнительная информация о товаре. Если дополнительной информации нет, значение должно содержать пустую строку, null, либо данный ключ должен отсутствовать.
quantity Строка Количество товара на складе/витрине (остаток).
Будет показан в нижней части экрана.
Если необходимо показывать количество доступного товара, укажите значение в виде строки, иначе значение должно содержать пустую строку, null, либо данный ключ должен отсутствовать.

Пример запроса и успешного ответа.

// запрос
{
 "barcode": "0000000003", // отсканирован товар со штрихкодом 0000000003
 "template": "supermarket" // шаблон интерфейса прайсчекера Супермаркет
}

// ответ
{
 "result": 0, // код 0 - успешно
 "message": "", // для успешного ответа, никакого описания ошибки нет
 "product": {
  "name": "Чай пакетированный (25 пакетиков)", // наименование товара
  "price": "500₸", // текущая цена товара
  "oldPrice": "600₸", // цена товара без акции
  "image": "/9j/4AAQS ... AIQhAf/Z" // изображение товара
  "quantity": "35 шт" // количество в наличии
 }
}

Пример запроса и ошибочного ответа.

// запрос
{
 "barcode": "0000000004", // отсканирован товар со штрихкодом 0000000004
 "template": "supermarket" // шаблон интерфейса прайсчекера Супермаркет
}

// ответ
{
 "result": 1, // ненулевой код - ошибка
 "message": "Товар не найден!", // описание ошибки
 "product": null // нет данных, так как товар с таким штрихкодом не найден
}

Используя следующие адреса можно проверить работу Онлайн режима.

Адрес Примечание
https://price-checker.ru/test/get_product_info
https://price-checker.ru/test/get_product_info_auth Необходима базовая аутентификация. Логин: user. Пароль: 123

Укажите любой из адресов в параметре Адрес приёма запросов.
Отсканируйте любой штрихкод.
На экране будет показана информация о случайном товаре.


Весовые штрихкоды

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

Структура весового штрихкода.


Первые две цифры - это признак весового штрихкода (префикс). Этот признак задается параметром настроек Префиксы. Если используется несколько префиксов, укажите их через запятую. Штрихкоды, начинающиеся с указанных префиксов, будут интерпретироваться как весовые.

Следующий набор цифр - код товара. Количество цифр, которые хранят код товара, задается параметром Длина кода товара. Значение по умолчанию 5.

Далее идет вес товара. Значение веса кодируется в зависимости от параметра Количество десятичных знаков веса. Значение по умолчанию 3, т. е. вес может быть задан с точностью до грамма.

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

Указанный на изображении штрихкод 2100001003258, с заданными параметрами: префикс - 21, длина кода товара - 5, количество десятичных знаков веса - 3 будет интерпретирован как товар с кодом 00001 и весом 0,325 кг.


Воспроизведение видео

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

Подключитесь к прайсчекеру по FTP.
Скопируйте в папку video один или несколько видеофайлов.
Перейдите в настройки приложения и установите параметр Проигрывать видео в положение Включено.

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

При необходимости воспроизводить видео без звука установите параметр Проигрывать без звука.

Поддерживаются все распространённые форматы видео (mp4, ogv, webm).
Для того чтобы видео как можно лучше выписывалось в экран, соотношение сторон видео следует подбирать исходя из соотношения сторон экрана прайсчекера.