Публичное пространство
Маркировка и МРЦ ◾️ Офлайн-проверка в Интеграционном модуле "Честный знак"
Глоссарий
КИ - код идентификации.
КМ - код маркировки.
УОТ - участник оборота товаров.
ТТ - торговая точка, конкретный магазин.
Репликация - процесс копирования данных из одного источника в другой.
ЭЦП - цифровой аналог рукописной подписи.
УКЭП - это вид электронной подписи (ЭП). В отличие от простой и неквалифицированной этот вид ЭП обеспечивает наивысший уровень защиты и является подписью прямого действия.
МЧД - машиночитаемая доверенность. Это электронная форма бумажной доверенности, подписанная квалифицированной электронной подписью (КЭП) руководителя организации или индивидуального предпринимателя, создается и представляется в файле формата XML.
Открепленная подпись - это электронная подпись, которая хранится отдельно от подписанного документа. Для проверки такой подписи необходимы сам документ и соответствующий файл подписи.
Криптопровайдер - программное обеспечение или библиотека, выполняющая шифрование и создание электронной подписи.
Описание
С 1 марта 2025 года при невозможности проверить продукцию в режиме онлайн – нужно осуществить проверку в режиме офлайн. Проверка осуществляется по «чёрным спискам» (коды идентификации или коды товара, которые заблокированы по решению ОГВ, ППРФ 1944 п.10а) и контролирует только случай запрета «блокировка по решению ОГВ».
Интеграционный модуль Честный знак (ИМ ЧЗ) - это решение для крупных торговых сетей, осуществляющее репликацию данных по КМ из Честного Знака в БД-хранилище марок ритейлера. Роль ИМ ЧЗ - доставить сведения из ЧЗ в интегрированное решение. В качестве интегрируемого решения используется SetMark Centrum.
Взаимодействие с ИМ ЧЗ осуществляется по сервисам REST API. Списки запрещенных к продаже КМ забираются от ИМ ЧЗ в SetMark Centrum, а квитанции о событиях, наоборот, - передаются от SetMark Centrum в ИМ.
С версии SetMark 2.30.0 реализована поддержка протокола ЛМ ЧЗ 2.0. Это позволяет интегрировать ИМ ЧЗ напрямую с драйвером ТС ПИоТ, обеспечивая выполнение требований законодательства по обязательной проверке марок в офлайн-режиме.
Чем отличается ИМ ЧЗ от ЛМ ЧЗ?
ЛМ ЧЗ: работает на уровне одного магазина и подходит для небольших сетей с ограниченным количеством касс.
ИМ ЧЗ: рассчитан на сети с большим количеством магазинов и касс, где требуется централизованное управление данными для всех точек продаж. Вместо локальной обработки запроса на проверку ИМ устанавливается в центральном офисе и синхронизирует данные с ЧЗ, позволяя проверять марки в одном месте одновременно любому количеству магазинов.
Ценность
В случае недоступности онлайн-проверки в Честном знаке ИМ ЧЗ позволяет осуществлять проверку КМ офлайн в едином централизованном сервисе, чтобы соблюдать требования законодательства по продаже маркированных товаров.
Общая схема работы
Логика работы
Содержимое БД черных списков
БД запрещенных к обороту КИ;
БД запрещенных к обороту GTIN;
БД запрещенных к обороту серий лекарственных препаратов.
БД минимальных цен (min_price_db) — используется для проверки минимальной розничной цены (МРЦ) никотинсодержащей продукции (НСП).
Проверка КМ
Проверка КМ в БД черных списков SMC осуществляется при выполнении следующих условий:
ИМ ЧЗ выполняет репликацию черных списков с Оператором ЦРПТ;
выполнена инициализация черных списков (версия каждого списка положительна);
со времени последней актуализации самой старой версии БД черных списков прошло не более 72 часов.
Если по результатам проверки КМ найден в черном списке - возвращать ответ о запрете продажи независимо от других данных в базе SMC (Даже, если по основной БД SMC марка разрешена к продаже)
Если по результатам проверки КМ отсутствует в черном списке - продолжать проверку по основной базе SMC для определения разрешения на продажу. Если КМ прошла проверку в онлайн сервисе ЧЗ - касса не проверяет в БД Черных списков SMC
Если ответа от SMC нет при оффлайн проверке КМ, то в зависимости от настройки
check.excise.ignoreTrueApiTimeout- продавать или запрещать продажу при отсутствии ответа от сервиса ЧЗ и при настройке “Разрешать операцию, при недоступности сервера” в SMC - касса разрешает или запрещает продажу марки.Сохранить квитанцию о проверке КМ в офлайн в БД SMC. Отправить квитанцию о проверке КМ по локальным БД SMC в ИМ ЧЗ.
Если БД Черных списков SMC не синхронизировалась с ИМ ЧЗ более 72 часов ( или ИМ ЧЗ не выполнял задания на репликацию в течении 72 часов), то касса проверяет марку по загруженным Черным спискам SMC:
если марка есть в Черном списке SMC - касса запрещает продажу;
если марка не найдена в Черном списке SMC - в зависимости от настройки
check.excise.ignoreTrueApiTimeout- касса разрешает или запрещает продажу марки.
Результаты проверок и ответы от SMC, если марка была найдена в Черных списках БД SMC, сохраняются в Журнале нарушений SetMark и в экспорте чеков.
Синхронизация БД
Реализовать автоматическую проверку необходимости синхронизации таблиц БД Черных списков в SMC, получаемых из ИМ ЧЗ с установленной в настройке SMC периодичностью (по умолчанию раз в 10 минут)
Обеспечить одновременное выполнение синхронизации только разных черных списков для разных экземпляров сервиса Set Mark
По итогам сравнения версий БД Черных списков SMC и ИМ ЧЗ:
Версии равны - фиксация в БД SMC даты-время успешной актуализации. Завершение процесса синхронизации.
При обнаружении расхождения версий БД Черных списков SMC и ИМ ЧЗ - в БД SMC фиксируется время обнаружения расхождения и выполнить паузу (настроенную в SetMark:
setmark.trueapi.integration.module.wait.after.version.changed.minutes, например, один час) прежде чем начать отслеживать выполнение заданий на репликацию
По истечению времени ожидания - выполняется проверка состояния выполнения заданий на репликацию в ИМЧЗ из БД ЦРПТ.
Если ИМЧЗ всё ещё ожидает получение изменений от ЦРПТ (changes_pending > 0), то запрос изменений не происходит до следующей итерации.
Если ИМЧЗ перестал ожидать получение изменений (changes_pending = 0), то выполняется запрос изменений документов пачками из ИМ ЧЗ в БД Черных списков SMC.
При получении запрошенного ответа с изменениями в данных также содержится последнее значение из последовательности, которое необходимо сохранить в БД SMC, чтобы в случае ошибок, падения и пр. продолжить получать только следующие документы.
По итогу обновления Черных списков (очередной запрос изменений документов вернул пустой список или значение, в котором указан размер списка = 0) - Необходимо реализовать обновление данных локальной БД в SMC:
обновить номер версии черного списка, сбросить время ожидания, обновить дату актуальности обмена с ИМЧЗ
сформировать и сохранить в БД квитанцию об успешной синхронизации для последующей подписи и отправки в ИМЧЗ
Подпись и формирование квитанций
При успешной загрузке обновлений БД из ИМ ЧЗ на каждую БД черных списков формируется отдельная квитанция в формате base64.
Сформированные квитанции отправляются в криптопровайдер для формирования ЭЦП.
Полученная от КриптоПро ЭЦП добавляется в исходную квитанцию.
Квитанции с ЭЦП отправляются в ИМ ЧЗ.
В случае отсутствия связи/ответа от криптопровайдера - квитанция добавляется в очередь на отправку. При восстановлении связи SMC отправляет квитанции в порядке очереди криптопровайдеру для формирования ЭЦП
Квитанции хранятся в БД согласно установленному сроку, по истечении срока хранения – удаляются.
Проверка МРЦ для никотинсодержащей продукции
С 1 марта 2026 года при продаже НСП через ИМ ЧЗ (по протоколу ЛМ ЧЗ 2.0) осуществляется автоматическая проверка минимальной цены:
При проверке кода маркировки (КМ) система запрашивает минимальную цену по GTIN из базы
min_price_db.Если цена продажи ниже минимальной, установленной в базе, продажа блокируется.
Минимальная цена возвращается только при использовании протокола версии 2.0 и выше.