Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Модератор: Дед Пахом

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8423
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение Игорь Столяров »

Привет всем !

Класс для разрешительной проверки КМ (кодов маркировки) API ГСЦМ "Честный знак" и ТС ПИоТ.
Поддержка целевой реализации в ПО ЛМ "Честный Знак" (обязательна с 01.09.2025 г.) и
проверки КМ с использованием ТС ПИоТ (обязательна с 07.01.2026 г.).
Полный боевой комплект с описанием интерфейса API и примерами.

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов LibCURL и cJSON.

2.jpg
Вложения
Honest-2026-01-20.rar
Версия от 20.01.2026 г.
(1.54 МБ) 18 скачиваний
Последний раз редактировалось Игорь Столяров 20 Январь 2026, 23:27, всего редактировалось 49 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Понял, спасибо.
Там вроде как 36 вариантов, не 21. Получается, что надо проверять в 2 режимах (онлайн и оффлайн) по 36 вариантов ответов.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8423
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение Игорь Столяров »

finsoftrz писал(а): 25 Январь 2026, 21:59 Там вроде как 36 вариантов, не 21
Я говорил о ПФР версии 1.9 (и выкладывал в этой теме).
На сервере несколько дополнительных кодов - это отработка ошибок REST запросов и дробной выписки.
finsoftrz писал(а): 25 Январь 2026, 21:59 Получается, что надо проверять в 2 режимах (онлайн и оффлайн)
Нет. В ТС ПИоТ нет никакого "оффлайн режима" в принцие.
При реальной работе Вы можете узнать в каком состоянии находился ТС ПИоТ когда формировал
ответ по флагу "isCheckedOffline" для разбора ошибок. Но Вы не можете программно заставить его
изменить режим проверки (в отличии от прямой проверки в ГИС МТ / ПО ЛМ).

REST запрос "/api/v1/codes/checkoffline" предназначен исключительно для эмуляции нескольких сценариев из ПФР.
Когда Вы работает со стендом на сервере https://esm-emu.ao-esp.ru, и хотите что бы стенд Вам вернул ответ,
как будто ТС ПИоТ по какой-то причине перешёл в режим Off-Line. Это запрос только для тестового стенда. Вот и всё. :D

1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Я имел ввиду проверку при сертификации. То есть, Вы хотите сказать, что при сертификации надо продемонстрировать результаты проверки только для режима онлайн? Мне кажется, что оффлайн тоже, иначе зачем они разместили отдельно тот же набор марок.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8423
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение Игорь Столяров »

finsoftrz писал(а): 26 Январь 2026, 8:47Мне кажется
Просто прочтите пожалуйста мой предыдущий пост и 20.01.2026 я публиковал ответ ЕСМ по поводу режима Off-Line. :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Игорь Столяров писал(а): 26 Январь 2026, 9:08
finsoftrz писал(а): 26 Январь 2026, 8:47Мне кажется
Просто прочтите пожалуйста мой предыдущий пост и 20.01.2026 я публиковал ответ ЕСМ по поводу режима Off-Line. :D
Сорри, Игорь, еще раз, вопрос был про сертификацию, а не про то, как работает локальная проверка. Я так понял, что Вы ее уже проходили.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8423
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение Игорь Столяров »

finsoftrz писал(а): 26 Январь 2026, 9:44 Игорь, еще раз, вопрос был про сертификацию
На сертификации Вы демонстрируете выполнение ПФС.
Я его публиковал здесь и он есть у Вас в разделе ДОКУМЕНТЫ ЛК ЦРПТ (если уже подажи заявку).

В ПФС есть описание сценариев, когда и как Вы демонстрируете на стенде работу ПМСР режиме Off-Line.
Например: продаём марку, переводим стенд в режим Off-Line и пытаемся продать её ещё раз. И т.д.
Выполнять проверку всех тестовых марок в Off-Line не нужно. Это бессмысленно и ничего не демонстрирует. 🤷‍♀️
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Ммм... У меня до оффлайн проверки не дойдет в этом сценарии... :idied:
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8423
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение Игорь Столяров »

finsoftrz писал(а): 26 Январь 2026, 11:16 У меня до оффлайн проверки не дойдет в этом сценарии
Я понимаю, что Вы самостоятельно реализовали ведение списка проданных марок для проверки.
И видимо всегда проверяете марку сначала в свой БД, а потому уже начинаете разрешительную проверку.

Ничего плохого в этом нет, но и к разрешительной проверке тоже отношения не имеет. Лишнее действие.
Проверять дублирование КМ в локальном списке проданных КМ нужно только если ТС ПИоТ вернул в ответе,
что он выполнил проверку Off-Line. В On-Line режиме ТС ПИоТ сам контролирует дубли. Такие вот требования.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Мы это обсуждали уже. Пиот сам по себе ничего не контролирует, контроль на уровне ЛМ. Но ЛМ хранит не всю историю продаж, а зачищает данные с определенной периодичностью. Плюс история продаж может потеряться при обновлении его внутренней базы данных. Поэтому рекомендация была регулярно архивировать базу данных ЛМ, а при надобности восстанавливать. А кто вот всем этим будет заниматься, большой вопрос. В своей базе данных хотя бы ничего не теряется.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8423
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение Игорь Столяров »

finsoftrz писал(а): 26 Январь 2026, 11:44 В своей базе данных хотя бы ничего не теряется.
Свой маленький свечной заводик - это всегда хорошо ! :D
Есть де-юре требования регламента обмена ЦРПТ и опыт де-факто того, как оно работает в реальности ...
Вот здесь мы занимаемся тем, что де-юре.

Кстати, ПО ЛМ ЧЗ никто не отменял.
Для работы работы ТС ПИоТ (по крайне мере ЕСМ точно) требуется его установка, настройка и конфигурация.
А для инициализации ПО ЛМ - требуется токен ЦРПТ, тот самый что будут отключать с 01.03.2026. ХЗ 🤷‍♀️
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Еще одну проверку средствами ккм тоже вроде как никто не отменял. Они идут постепенно, это можно понять.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5734
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 22 раза
Поблагодарили: 82 раза

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Сообщение finsoftrz »

Подумал еще немного, наверно, все таки токен не для проверки делается, а для управления блокировками. То есть, они видят статистику, где вылезают продажи марок, которых не должно быть. И могут по каким-то признакам заблокировать продажи. Чтобы не заблокировать лишнее, могут проверять по идентификатору и токену, блокировать или конкретную кассу, или все кассы, где данное ПО используется. Насколько такое может быть эффективно, хз.
C6/C12, ШВС, tps/btrieve.
Ответить