Маркировка и МРЦ ◾️ Офлайн-проверка в Интеграционном модуле "Честный знак"

Публичное пространство

Маркировка и МРЦ ◾️ Офлайн-проверка в Интеграционном модуле "Честный знак"

 

Глоссарий

  • КИ - код идентификации.

  • КМ - код маркировки.

  • УОТ - участник оборота товаров.

  • ТТ - торговая точка, конкретный магазин.

  • Репликация - процесс копирования данных из одного источника в другой.

  • ЭЦП - цифровой аналог рукописной подписи.

  • УКЭП - это вид электронной подписи (ЭП). В отличие от простой и неквалифицированной этот вид ЭП обеспечивает наивысший уровень защиты и является подписью прямого действия.

  • МЧД - машиночитаемая доверенность. Это электронная форма бумажной  доверенности, подписанная квалифицированной электронной подписью (КЭП) руководителя организации или индивидуального предпринимателя, создается и представляется в файле формата XML.

  • Открепленная подпись - это электронная подпись, которая хранится отдельно от подписанного документа. Для проверки такой подписи необходимы сам документ и соответствующий файл подписи.

  • Криптопровайдер - программное обеспечение или библиотека, выполняющая шифрование и создание электронной подписи.

Описание

С 1 марта 2025 года при невозможности проверить продукцию в режиме онлайн – нужно осуществить проверку в режиме офлайн. Проверка осуществляется по «чёрным спискам» (коды идентификации или коды товара, которые заблокированы по решению ОГВ, ППРФ 1944 п.10а) и контролирует только случай запрета «блокировка по решению ОГВ».

Интеграционный модуль Честный знак (ИМ ЧЗ) - это решение для крупных торговых сетей, осуществляющее репликацию данных по КМ из Честного Знака в БД-хранилище марок ритейлера. Роль ИМ ЧЗ - доставить сведения из ЧЗ в интегрированное решение. В качестве интегрируемого решения используется SetMark Centrum.

Взаимодействие с ИМ ЧЗ осуществляется по сервисам REST API. Списки запрещенных к продаже КМ забираются от ИМ ЧЗ в SetMark Centrum, а квитанции о событиях, наоборот, - передаются от SetMark Centrum в ИМ.

С версии SetMark 2.30.0 реализована поддержка протокола ЛМ ЧЗ 2.0. Это позволяет интегрировать ИМ ЧЗ напрямую с драйвером ТС ПИоТ, обеспечивая выполнение требований законодательства по обязательной проверке марок в офлайн-режиме.

Чем отличается ИМ ЧЗ от ЛМ ЧЗ?

ЛМ ЧЗ: работает на уровне одного магазина и подходит для небольших сетей с ограниченным количеством касс.

ИМ ЧЗ: рассчитан на сети с большим количеством магазинов и касс, где требуется централизованное управление данными для всех точек продаж. Вместо локальной обработки запроса на проверку ИМ устанавливается в центральном офисе и синхронизирует данные с ЧЗ, позволяя проверять марки в одном месте одновременно любому количеству магазинов.

Ценность

В случае недоступности онлайн-проверки в Честном знаке ИМ ЧЗ позволяет осуществлять проверку КМ офлайн в едином централизованном сервисе, чтобы соблюдать требования законодательства по продаже маркированных товаров.

Общая схема работы

Логика работы

Содержимое БД черных списков

  • БД запрещенных к обороту КИ;

  • БД запрещенных к обороту GTIN;

  • БД запрещенных к обороту серий лекарственных препаратов.

  • БД минимальных цен (min_price_db) — используется для проверки минимальной розничной цены (МРЦ) никотинсодержащей продукции (НСП).

Проверка КМ

  1. Проверка КМ в БД черных списков SMC осуществляется при выполнении следующих условий:

    • ИМ ЧЗ выполняет репликацию черных списков с Оператором ЦРПТ;

    • выполнена инициализация черных списков (версия каждого списка положительна);

    • со времени последней актуализации самой старой версии БД черных списков прошло не более 72 часов.

  2. Если по результатам проверки КМ найден в черном списке - возвращать ответ о запрете продажи независимо от других данных в базе SMC (Даже, если по основной БД SMC марка разрешена к продаже)

  3. Если по результатам проверки КМ отсутствует в черном списке - продолжать проверку по основной базе SMC для определения разрешения на продажу. Если КМ прошла проверку в онлайн сервисе ЧЗ - касса не проверяет в БД Черных списков SMC

  4. Если ответа от SMC нет при оффлайн проверке КМ, то в зависимости от настройки check.excise.ignoreTrueApiTimeout - продавать или запрещать продажу при отсутствии ответа от сервиса ЧЗ и при настройке “Разрешать операцию, при недоступности сервера” в SMC - касса разрешает или запрещает продажу марки.

  5. Сохранить квитанцию о проверке КМ в офлайн в БД SMC. Отправить квитанцию о проверке КМ по локальным БД SMC в ИМ ЧЗ.

  6. Если БД Черных списков SMC не синхронизировалась с ИМ ЧЗ более 72 часов ( или ИМ ЧЗ не выполнял задания на репликацию в течении 72 часов), то касса проверяет марку по загруженным Черным спискам SMC:

    1. если марка есть в Черном списке SMC - касса запрещает продажу;

    2. если марка не найдена в Черном списке SMC - в зависимости от настройки check.excise.ignoreTrueApiTimeout - касса разрешает или запрещает продажу марки.

  7. Результаты проверок и ответы от SMC, если марка была найдена в Черных списках БД SMC, сохраняются в Журнале нарушений SetMark и в экспорте чеков.

Синхронизация БД

  1. Реализовать автоматическую проверку необходимости синхронизации таблиц БД Черных списков в SMC, получаемых из ИМ ЧЗ с установленной в настройке SMC периодичностью (по умолчанию раз в 10 минут)

  2. Обеспечить одновременное выполнение синхронизации только разных черных списков для разных экземпляров сервиса Set Mark

  3. По итогам сравнения версий БД Черных списков SMC и ИМ ЧЗ:

    1. Версии равны - фиксация в БД SMC даты-время успешной актуализации. Завершение процесса синхронизации.

    2. При обнаружении расхождения версий БД Черных списков SMC и ИМ ЧЗ - в БД SMC фиксируется время обнаружения расхождения и выполнить паузу (настроенную в SetMark: setmark.trueapi.integration.module.wait.after.version.changed.minutes, например, один час) прежде чем начать отслеживать выполнение заданий на репликацию

  4. По истечению времени ожидания - выполняется проверка состояния выполнения заданий на репликацию в ИМЧЗ из БД ЦРПТ.

    1. Если ИМЧЗ всё ещё ожидает получение изменений от ЦРПТ (changes_pending > 0), то запрос изменений не происходит до следующей итерации.

    2. Если ИМЧЗ перестал ожидать получение изменений (changes_pending = 0), то выполняется запрос изменений документов пачками из ИМ ЧЗ в БД Черных списков SMC.

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

  6. По итогу обновления Черных списков (очередной запрос изменений документов вернул пустой список или значение, в котором указан размер списка = 0) - Необходимо реализовать обновление данных локальной БД в SMC:

    1. обновить номер версии черного списка, сбросить время ожидания, обновить дату актуальности обмена с ИМЧЗ

    2. сформировать и сохранить в БД квитанцию об успешной синхронизации для последующей подписи и отправки в ИМЧЗ

Подпись и формирование квитанций

  1. При успешной загрузке обновлений БД из ИМ ЧЗ на каждую БД черных списков формируется отдельная квитанция в формате base64.

  2. Сформированные квитанции отправляются в криптопровайдер для формирования ЭЦП.

  3. Полученная от КриптоПро ЭЦП добавляется в исходную квитанцию.

  4. Квитанции с ЭЦП отправляются в ИМ ЧЗ.

  5. В случае отсутствия связи/ответа от криптопровайдера - квитанция добавляется в очередь на отправку. При восстановлении связи SMC отправляет квитанции в порядке очереди криптопровайдеру для формирования ЭЦП

  6. Квитанции хранятся в БД согласно установленному сроку, по истечении срока хранения – удаляются.

Проверка МРЦ для никотинсодержащей продукции

С 1 марта 2026 года при продаже НСП через ИМ ЧЗ (по протоколу ЛМ ЧЗ 2.0) осуществляется автоматическая проверка минимальной цены:

  1. При проверке кода маркировки (КМ) система запрашивает минимальную цену по GTIN из базы min_price_db.

  2. Если цена продажи ниже минимальной, установленной в базе, продажа блокируется.

  3. Минимальная цена возвращается только при использовании протокола версии 2.0 и выше.