Инструкция по обработке ответов от КОМТЕТ Сканер маркировки

КОМТЕТ Сканер марикровки возвращает ответ в формате Base64. Перед дальнейшей обработкой полученную строку необходимо декодировать — так получится JSON-структура, из которой можно извлечь данные для заполнения тегов кассового чека (1265).

Для преобразования закодированной строки в читаемый JSON-формат можно использовать любой доступный инструмент:

  • Онлайн-сервисы: https://base64.ru/, https://www.base64decode.org/
  • Средства разработки: встроенные функции языков программирования (base64.b64decode() в Python, atob() в JavaScript)

Декодирование ответов для разных режимов работы сканера

В зависимости от настроек и режима проверки, декодированный ответ может иметь три варианта структуры.

Вариант 1. Онлайн-проверка КМ

Возвращается при проверке кода маркировки:

  • с помощью токена ГИС МТ;
  • через ТС ПИоТ в онлайн-режиме.

Пример закодированного ответа:

eyJjb2RlIjoiTURFd05EWXdOekF4TURNMU1ESTBOakl4Tld0U1pFY3RNU1ZYS0ZWdGJoMDVNMlJIVm5vPSIsInJlcUlkIjoiZjJlOWE3NzctNmNmMi04YmEzLTg2NGEtYjg3MDFkMDE4NzliIiwicmVxVGltZXN0YW1wIjoxNzgwOTI2MTAxNzc3fQ==

Декодированный JSON:

{
    "code":"MDEwNDYwNzAxMDM1MDI0NjIxNWtSZEctMSVXKFVtbh05M2RHVno=",
    "reqId":"f2e9a777-6cf2-8ba3-864a-b8701d01879b",
    "reqTimestamp":1780926101777
}

Вариант 2. Офлайн-проверка КМ через локальный модуль ЧЗ

Возвращается при проверке кода маркировки через ТС ПИоТ с использованием локального модуля ЧЗ.

Пример закодированного ответа:

eyJjb2RlIjoiTURFd05EWXdOekF4TURNMU1ESTBOakl4Tld0U1pFY3RNU1ZYS0ZWdGJoMDVNMlJIVm5vPSIsInJlcUlkIjoiZjJlOWE3NzctNmNmMi04YmEzLTg2NGEtYjg3MDFkMDE4NzliIiwicmVxVGltZXN0YW1wIjoxNzgwOTI2MTAxNzc3LCJ2ZXJzaW9uIjoiMDE5ZTcyZjUtZDFmMC03OTdiLTkxZjUtNjM2NGNhYTRjOWMwIiwiaW5zdCI6IjAxOWU2ZWE5LTJlNjQtNzQ0Mi05OTkyLWRiNzEzZWQ4NzY4MCJ9

Декодированный JSON:

{
"code":"MDEwNDYwNzAxMDM1MDI0NjIxNWtSZEctMSVXKFVtbh05M2RHVno=",
"reqId":"f2e9a777-6cf2-8ba3-864a-b8701d01879b",
"reqTimestamp":1780926101777,
"version":"019e72f5-d1f0-797b-91f5-6364caa4c9c0",
"inst":"019e6ea9-2e64-7442-9992-db713ed87680"
}

Вариант 3. Без проверки КМ или аварийный режим

Возвращается в двух случаях:

  • в настройках сканера указан способ проверки Не проверять;
  • ТС ПИоТ на момент проверки находится в состоянии Аварийный режим.

Пример закодированного ответа:

eyJjb2RlIjoiTURFd05EWXdOekF4TURNMU1ESTBOakl4Tld0U1pFY3RNU1ZYS0ZWdGJoMDVNMlJIVm5vPSJ9

Декодированный JSON:

{"code":"MDEwNDYwNzAxMDM1MDI0NjIxNWtSZEctMSVXKFVtbh05M2RHVno="}

Формирование чека (заполнение тега 1265)

При формировании чека в списке позиций необходимо заполнить параметр sectoral_item_props декодированными данными, полученными от сканера. Реквизит value «значение отраслевого реквизита» (тег 1265) должен состоять из элементов данных и снабжаться уникальными префиксами-идентификаторами. Параметр value формируется как строка, состоящая из пар Ключ=Значение, объединённых символом &.

Сформированный тег 1265 передается в составе блока sectoral_item_props в данные товарной позиции при регистрации чека. В API КОМТЕТ Касса v2 данный тег служит для заполнения отраслевых реквизитов предмета расчета, а именно в указании информации о результатах проверки кода маркировки. Указанный тег может использоваться как при интеграции с API КОМТЕТ Касса, так и с любыми иными сервисами формирования фискальных чеков, поддерживающими передачу отраслевых реквизитов.

Правила формирования значений для тега 1265:

Ключ Источник Обязательность Описание
UUID reqId
из ответа сканера
Всегда Уникальный идентификатор запроса
Time reqTimestamp
из ответа сканера
Всегда Дата и время формирования запроса
Inst inst
из ответа сканера
Только при офлайн-проверке

Идентификатор экземпляра ПО «Локальный модуль «Честный ЗНАК»

Ver version
из ответа сканера
Только при офлайн-проверке Версия базы «черного списка», на которой выполнялась проверка КИ

value: UUID=reqId&Time=reqTimestamp&Inst=inst&Ver=version 

Пример структуры тега при онлайн-проверке.

В ответе сканера присутствуют только reqId и reqTimestamp. Параметры inst и version отсутствуют.

{
"federal_id":"030"
"date":"21.11.2023"
"number":"1944"
"value":"UUID=f2e9a777-6cf2-8ba3-864a-b8701d01879b&Time=1780926101777" 
}

Соответствие полей:

  • UUID = reqID (f2e9a777-6cf2-8ba3-864a-b8701d01879b)
  • Time = reqTimestamp (1780926101777)

Пример структуры тега при офлайн-проверке через локальный модуль ЧЗ.

В ответе сканера присутствуют все параметры: reqId, reqTimestamp, inst, version.

{
"federal_id": "030"
"date": "21.11.2023"
"number": "1944"
"value":"UUID=f2e9a777-6cf2-8ba3-864a-b8701d01879b&Time=1780926101777&Inst=019e6ea9-2e64-7442-9992-db713ed87680&Ver=019e72f5-d1f0-797b-91f5-6364caa4c9c0"
}

Соответствие полей:

  • UUID = reqID (f2e9a777-6cf2-8ba3-864a-b8701d01879b)
  • Time = reqTimestamp (1780926101777)
  • Inst = inst (019e6ea9-2e64-7442-9992-db713ed87680)
  • Ver = version (019e72f5-d1f0-797b-91f5-6364caa4c9c0)
Другие статьи на тему:
11.06.2026

Инструкция по настройке программы КОМТЕТ Сканер маркировки и модуля ТС ПИоТ ЕСМ (АО «ЕСП») для локальной проверки КМ по разрешительному режиму

Читать полностью
19.06.2026

Инструкция по работе с программой в режиме «Проверка КМ через локальный ТС ПИоТ»

Читать полностью