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

Установка

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

Видеоинструкция


Проверка

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

Видеоинструкция


Настройка сканера прайсчекера

В зависимости от модели прайсчекера сканер может работать в разных режимах.
Для работы приложения необходим режим эмуляции клавиатуры.
Этот режим может быть не включен по умолчанию и в этом случае его необходимо включить самостоятельно.
Для настройки прайсчекера обычно имеется специальное предустановленное производителем приложение или WEB интерфейс.
Необходимый режим обычно называется Эмуляция клавитуры/Симуляция нажатия клавиш/Simulate keystorke/Keystorke output и т.д.
Также необходимо чтобы сканирование штрихкода завершалось имитацией нажатия клавиши Enter или Tab.
Ниже приведены инструкции по настройке сканера прайсчекеров распространенных брендов.

Zebra

Если Вам требуется помощь в настройке Вашей модели прайсчекера, свяжитесь с нами.


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

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

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

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

Онлайн режим

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

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

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

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

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

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

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

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

Примечание

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


Настройка приложения

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


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


Откроется экран настроек.


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

Режим работы

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

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

Онлайн режим

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

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

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

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

Источник данных

Тип источника данных.
API - используется API.
URL - на экране будет отображено Web содержимое, полученное по адресу, заданному параметром URL
Подробности в разделе Интеграция с учетными системами

URL

URL интернет-магазина или веб сервера учетной системы для получения данных от товаре. Должен начинаться с префикса http:// или https://.

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

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

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

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

Разрешить навигацию по ссылкам

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

Игнорировать ошибки SSL

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

Авторизация

Задает тип авторизации для URL

Идентификатор

Строковое значение для идентификации прайсчекера, которое может использоваться для идентификации прайсчекера.
Подробности в разделе Онлайн режим

Примечание

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

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

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

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

Порт

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

Логин

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

Пароль

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

Интерфейс

Тип шаблона

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

Шаблон

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

Подсказка для сканирования штрихкода

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

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

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

Расположение валюты

Задаёт расположение валюты относительно цены

Разделять цену и валюту

При включении цена и валюта будут разделены пробелом

Показывать кнопку "Назад"

Разрешает отображение кнопки возврата на начальный экран

Экран

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

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

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

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

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

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

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

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

Запуск

Автозапуск при старте системы

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

Данная настройка может не работать на версиях Android 10 и выше.
Вместо этого для автоматического запуска приложения можно установить его в качестве домашнего экрана.
Подробности в разделе Установка приложения в качестве домашнего экрана

Видео

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

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

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

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

Звук

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

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

Озвучивание цены

Озвучивать цену

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

Голос

Этот параметр задаёт тип голоса озвучивания. Мужской или женский.

Обозначения российского рубля

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

Обозначения казахстанского тенге

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

QR-коды

Переходить по ссылкам из QR-кодов

Если параметр включен, сканирование QR-кода со ссылкой на сайт приведёт к автоматическому переходу на этот сайт

Разрешить навигацию после QR-ссылки

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

Игнорировать ошибки SSL

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

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

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

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

Префиксы

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

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

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

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

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

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

Доступ

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

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

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

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

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

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

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

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

Лицензия

Идентификатор устройства

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

Лицензионный ключ

Поле для ввода лицензионной ключа.

Активировать через интернет

Активация лицензии через интернет

Прочее

Системные настройки

Переход в системные настройки Android.


Интерфейс

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

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


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


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


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


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

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

Установка логотипа торговой организации

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



Подготовьте изображение в формате JPEG и назовите его logo.jpg

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

Подключитесь к прайсчекеру по FTP.

Скопируйте изображение в папку assets.

Перезапустите приложение.

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


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

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

Подключитесь к прайсчекеру по FTP.

Скопируйте в папку video один или несколько видеофайлов.

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

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

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

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


Установка приложения в качестве домашнего экрана

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

Для этого перейдите в системные настройки Android.

В зависимости от версии Android и системной оболочки доступ к настройкам домашнего экрана может различаться, ниже приведены некоторые варианты:

Настройки 🡒 Главный экран
Настройки 🡒 Домашний экран
Настройки 🡒 Приложения 🡒 По умолчанию 🡒 Главный экран
Настройки 🡒 Приложения и уведомления 🡒 Приложения по умолчанию 🡒 Главное приложение
Настройки 🡒 Приложения 🡒 Приложения по умолчанию 🡒 Главный экран



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

Выберите из списка PriceChecker.

После перезапуска устройства приложение PriceChecker будет запущено как домашний экран.

Чтобы вернуть прежний домашний экран перейдите в настройки приложения и нажмите кнопку Системные настройки.
Далее перейдите в настройки домашнего экрана и укажите системное приложение домашнего экрана.


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

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

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


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

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

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

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

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


Интеграция с учетными системами

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

Для учётной системы 1С:Предприятие имеется готовый пакет для интеграции с основными конфигурациями.

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

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

<?xml version="1.0"?>
<products>
    <!-- первая позиция -->
    <product>
        <barcode>0000000000001</barcode>
        <name>Чай пакетированный (25 пакетиков)</name>
        <price>500</price>
        <oldPrice></oldPrice>
        <currency></currency>
        <image>/9j/4AAQS ... AIQhAf/Z</image>
    </product>
    <!-- вторая позиция -->
    <product>
        <barcode>0000000000002</barcode>
        <name>Средство для мытья посуды</name>
        <price>700</price>
        <oldPrice></oldPrice>
        <currency></currency>
        <image>/9j/4AAQS ... AIQhAf/Z</image>
    </product>
    <!-- остальные позиции -->
    <!-- ... -->
</products>

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

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

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

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

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


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

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

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

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

Онлайн режим

В онлайн режиме прайсчекер запрашивает данные о товаре через HTTP-запрос.
Источником данных может быть ваш интернет-магазин или учётная система.

Получение данных из интернет-магазина

Чтобы получать данные о товаре из вашего интернет-магазина, необходимо в списке Источник данных выбрать URL.
Интернет-магазин должен предоставлять ссылку (или API), по которой можно получить информацию о товаре (страница товара) по штрихкоду.

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

Примеры URL
https://example.com/product-by-barcode/{barcode}
https://example.com/product-by-barcode?barcode={barcode}
https://example.com/search?s={barcode}

Описание принципа работы

Допустим, в поле URL указана ссылка
https://example.com/product-by-barcode?barcode={barcode}
и отсканирован штрихкод
2101600050001

Приложение отправит запрос на адресу https://example.com/product-by-barcode?barcode=2101600050001 и отобразит содержимое ответа на экране

Получение данных из учётной системы

Чтобы получать данные о товаре из вашей учётной системы, необходимо в списке Источник данных выбрать API.
Учётная система должна иметь веб-сервер (API), который принимает и обрабатывает запросы от прайсчекера в формате JSON, описанном ниже.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание принципа работы

Допустим, в поле URL указана ссылка
http://192.168.1.100:9090/get_product_info
и отсканирован штрихкод
2101600050001

Приложение отправит POST запрос на адресу http://192.168.1.100:9090/get_product_info с содержимым

{
    "barcode": "2101600050001",
    "template": "supermarket",
    "deviceIdentifier": ""
}

Сервер учётной системы должен вернуть ответ

{
    "result": 0,
    "message": "",
    "product": {
        "name": "Чай пакетированный (25 пакетиков)",
        "price": "500",
        "currency": "₸",
        "image": "/9j/4AAQS ... AIQhAf/Z"
    }
}

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

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

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