Инструкция по взаимодействию с программой КОМТЕТ Сканер маркировки по API
Программа КОМТЕТ Сканер маркировки предоставляет возможность проверки кодов маркировки через встроенный HTTP-сервер. Данный сервер работает локально на компьютере пользователя. HTTP-сервер возвращает данные проверки кода маркировки в следующих режимах работы программы:
- Локальный ТС ПИоТ;
- Облачный ТС ПИоТ;
- Проверка по токену ГИС МТ.
В режиме работы Без проверки HTTP-сервер вернет тело ответа без данных о проверке кода маркировки.
Включение и настройка HTTP-сервера
-
Откройте Настройки программы.
-
Активируйте опцию Включить HTTP-сервер проверки кодов маркировки.
-
После активации станут доступны два поля:
- Порт – доступен для редактирования. По умолчанию задано значение 5001. Диапазон допустимых значений: от 1 до 65535.
- URL для отправки запросов – поле только для чтения. Значение обновляется автоматически при изменении порта.
4. При необходимости можно скопировать сформированный URL, нажав на кнопку Скопировать рядом с полем.
Запуск сервера
После сохранения настроек и закрытия формы HTTP-сервер запускается автоматически. Сервер прослушивает указанный порт на адресах localhost или 127.0.0.1. Доступ к HTTP-серверу по сети невозможен. Это ограничение заложено в логике работы самого сервера (только локальные подключения). Если при старте сервера возникнет ошибка, программа выведет соответствующее предупреждение и продолжит работу без активации HTTP-сервера.
Примеры запросов и ответов
Формат запроса
Проверка кода маркировки выполняется отправкой POST-запроса на ресурс:
POST /check/code
Host: http://localhost:5001
Content-Type: application/json; charset=utf-8
{
"code": "MDEwNDYwNzAxMDM1MDI0NjIxNWtSZEctMyU0KE1tTh05M2RHVno="
}
Пример запроса через curl (Windows):
curl -X POST http://localhost:5001/check/code ^
-H "Content-Type: application/json" ^
-d "{\"code\":\"MDEwNDYwNzAxMDM1MDI0NjIxNWtSZEctMyU0KE1tTh05M2RHVno=\"}"
Успешный ответ (HTTP 200)
Режим Без проверки:
{
"base64":"eyJjb2RlIjogIk1ERXdORFl4TURBNU16Y3lPVEkyTnpJeE5Tb29VVDFuSFRrek0xVjNLdz09In0="
}
Режимы с проверкой (Локальный ТС ПИоТ, Облачный ТС ПИоТ, Проверка по токену ГИС МТ):
{ "base64":"eyJjb2RlIjoiTURFd05EWXdOekF4TURNMU1ESTBOakl4Tld0U1pFY3RNeVUwS0UxdFRoMDVNMlJIVm5vPSIsInJlcUlkIjoiNWQwOGY5N2UtYjU1ZS04NjBjLTk3NDktYzYyMTUyMDJkYTM1IiwicmVxVGltZXN0YW1wIjoxNzg3MTQxOTMyOTk4LCJ2ZXJzaW9uIjoiMDFhMDE4Y2QtMDNkMC03NTk3LWEyODgtNjU3ZjBmZjBlNmEwIiwiaW5zdCI6IjAxOWVmNDViLTYwZjYtN2VhMi1iMzAyLWJmYWJkNjdiNDBmMSJ9"
}
В поле base64 содержится закодированная в Base64 строка с JSON-структурой результата проверки.
Ответы с ошибками
Любая ошибка проверки кода маркировки имеет следующую структуру:
{
"title": "Заголовок типа ошибки",
"description": "Детальное описание ошибки"
}
Критическая ошибка сервера (HTTP 500)
{
"title": "Неизвестная ошибка",
"description": "Обратитесь в службу поддержки. Описание: 'описание критической ошибки'"
}
Ресурс занят (HTTP 503). Возвращается на второй одновременный запрос, пока выполняется первый.
{
"title": "Доступ к ресурсу ограничен",
"description": "Ресурс занят. Пожалуйста, повторите попытку позже"
}
Тайм-аут (HTTP 504). Если проверка кода маркировки заняла более 15 секунд.
{
"title": "Тайм-аут шлюза",
"description": "Сервер, обрабатывающий ваш запрос, не ответил вовремя"
}
Код не прошел проверку (HTTP 400)
{
"title": "Ошибка ресурса",
"description": "Товар заблокирован: Товар с истекшим сроком годности"
}
Неверная структура запроса (HTTP 400)
{
"title": "Ошибка ресурса",
"description": "Ошибка в формате запроса, проверьте правильность передаваемой информации"
}
{
"title": "Ошибка ресурса",
"description": "Тело запроса пустое, для этой операции данные обязательны"
}
Ресурс не найден (HTTP 404)
{
"title": "Ресурс не найден",
"description": "Возможно передан некорректный идентификатор запрашиваемого ресурса или ресурс был удален"
}
Некорректное тело запроса (HTTP 422)
Тело запроса не является корректным JSON:
{
"title": "Ошибка валидации",
"description": "Тело запроса не является корректным JSON"
}
Поле code отсутствует или пустое:
{
"title": "Ошибка валидации",
"description": "Поле 'code' отсутствует или пустое"
}
Код маркировки не в формате Base64:
{
"title": "Ошибка валидации",
"description": "Код маркировки не в формате Base64"
}
Программа КОМТЕТ Сканер маркировки
При работе с маркированными товарами требуется обязательно выводить маркировку из оборота. В этом может помочь наша программа Сканер маркировки.Инструкция по настройке программы КОМТЕТ Сканер маркировки и модуля ТС ПИоТ ЕСМ (АО «ЕСП») для локальной проверки КМ по разрешительному режиму
- 1 Включение и настройка HTTP-сервера
- 2 Запуск сервера
-
3
Примеры запросов и ответов
- 3.1 Формат запроса
- 3.2 Успешный ответ (HTTP 200)
-
3.3
Ответы с ошибками
- 3.3.1 Критическая ошибка сервера (HTTP 500)
- 3.3.2 Ресурс занят (HTTP 503). Возвращается на второй одновременный запрос, пока выполняется первый.
- 3.3.3 Тайм-аут (HTTP 504). Если проверка кода маркировки заняла более 15 секунд.
- 3.3.4 Код не прошел проверку (HTTP 400)
- 3.3.5 Неверная структура запроса (HTTP 400)
- 3.3.6 Ресурс не найден (HTTP 404)
- 3.3.7 Некорректное тело запроса (HTTP 422)