Страница 18 из 26
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 31 Август 2024, 7:30
Игорь Столяров
Привет всем !
Класс для выполнения разрешительной проверки КМ (кодов маркировки)
через API ГСЦМ "Честный ЗНАК" (ГИС МТ + ПО Локальный Модуль) и ТС ПИоТ.
Полный боевой комплект с описанием интерфейса API и примерами.
Реализованный в классе функционал полностью соответствует ПФС ЦРПТ (версия 1.13 / 26 сценариев)
для получения сертификата совместимости и допуска в промышленную среду работы с ТС ПИоТ.
Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
----------------------------------------------------------------------------------------------------
НАСТОЯТЕЛЬНО рекомендуем использовать актуальные версии классов
LibCURL,
cJSON и
PrintF.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 15 Февраль 2026, 18:06
zmi
Игорь Столяров писал(а): 15 Февраль 2026, 15:31
Если у Вас есть официальная информация об ограничении срока действия токена - поделитесь пожалуйста ссылкой.
Есть только официальный ответ службы поддержки ЧЗ от 04.02.2026 на наш запрос:
"...В соответствии с Постановлением Правительства РФ от 21.11.2023 № 1944 (в ред. ППРФ от 22.11.2024 № 1606) с 1 марта 2026 г. становится обязательным разрешительный режим онлайн и офлайн проверки на контрольно-кассовой технике (ККТ) для кормов для животных.
Следовательно с 1 марта 2026 года необходимо при проверке маркированного товара использовать ТС ПИоТ.
Кассовое программное обеспечение участника оборота сможет технически взаимодействовать с ГИС МТ и Локальным Модулем по действующим протоколам обмена до истечения срока действия токена X-API-KEY (до 1 марта 2026 года).
При взаимодействии ТС ПИоТ с разрешительным режимом используется API ТС ПИоТ. ТС ПИоТ возвращает ответ от онлайна или офлайна (Локального Модуля).
Для отправки запросов онлайн или офлайн проверки необходимо установить ТС ПИоТ и интегрировать с ним кассовое ПО.
Если у Вас самописное кассовое ПО, то необходимо пройти экспертизу у Оператора ЦРПТ и для уточнения программы прохождения экспертизы по интеграции ПО с ТС ПИоТ, рекомендуем обратиться на почтовый адрес:
ts_piot@crpt.ru"
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 15 Февраль 2026, 18:32
Игорь Столяров
zmi писал(а): 15 Февраль 2026, 18:06
Кассовое ПО сможет технически взаимодействовать до истечения срока действия токена X-API-KEY (до 1 марта 2026 года).
Полностью согласен с каждым словом из написанного.
Так а где написано, что ПО после 01.03.2026 г. НЕ СМОЖЕТ взаимодействовать ?
Открываем методические рекомендации и смотрим самый первый метод:
Т.е. берём текст "Свободу Анджеле Девис !", подписывает зарегистрованной в ЦРПТ УКЭП и делаем запрос.
В ответ получаем сессионый токен, с которым работаем также, как и с полученным в ЛК (тот, что валидный до 01.03.2026 г.)
А ТС ПИоТ - это уже совсем другая история про ЦРПТ и друга его ЕСП ...

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 15 Февраль 2026, 19:05
finsoftrz
Для получения сессионного токена укэп не нужна. Мы его уже давно используем вместо того, который в ЛК ЧЗ.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 15 Февраль 2026, 19:34
Игорь Столяров
finsoftrz писал(а): 15 Февраль 2026, 19:05
Для получения сессионного токена укэп не нужна.
Абсолютно верно ! Нужен произвольный текст подписанный УКЭП.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 15 Февраль 2026, 20:02
finsoftrz
Сорян, это я попутал. Для списания марок и постановки кег на кран на компьютере товароведа запрашиваем сессионный токен, там нужен укэп и крипто про. А на кассах пока просто сделали хранение токена (который из ЛК ЧЗ) в отдельном json файле, чтобы в дальнейшем можно было этот файл формировать с сессионным токеном на компьютере товароведа и передавать на кассы.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 15 Февраль 2026, 20:26
Игорь Столяров
Всем привет !
Обновление версия класса для API НСЦМ «Честный ЗНАК» / ТС ПИоТ.
-------------------------------------------------------------------------------
- Добавлена перекодировка наименования и версии ПМСР в UTF-8;
- Метод PIoT_CheckCodes() возвращает реальный HTTP статус без костылей;
- Добавлена проверка в ПО ЛМ ЧЗ при неработающем ТС ПИоТ (статус 514 - 520);
- Добавлена обработка HTTP статусов 5XX при отсутствии ответа ГИС МТ;
- В процедуру Honest::PulseOnLine() добавлены ссылки на ресурсы ТС ПИоТ;
- В окно диагностики Honest::PIoT_ViewInfo() добавлены данные о ПО ЛМ;
- Устранены проблемы с пустыми тегами в JSON-запросах;
- Скорректированы сообщения об ошибках разрешительной проверки;
- Отработаны мелкие помарки по запросам.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 13:06
zmi
Всем привет!
Сделал пример. В токене прописал абракадабру (с реальным токеном визуально ничего не меняется).
Почему же у меня не находятся КМ?
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 13:50
Игорь Столяров
zmi писал(а): 16 Февраль 2026, 13:06
Почему же у меня не находятся КМ?
Спасибо за пример. Видимо что-то случилось. Причём конкретно у Вас.
Просто собрал Ваш пример и выполнил. Результат правильный до безобразия:
Также прикрепляю файл с JSON ответом сервиса из папки DEBUG - в нём всё ожидаемо и правильно.
(нужно распаовать архив, т.к. форум не поддерживает вложения JSON)
У меня замечаний и вопросов к Вашему тесту нет.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 13:55
Игорь Столяров
zmi писал(а): 16 Февраль 2026, 13:06Сделал пример.
Кстати интересный момент.
Если Вы действительно показали картинку с приложенного исходника, то почему у Вас коды идут в обратном порядке ?
Они должны идти в том же порядке, что и добавляются в примере. Как на моей картинке в сообщении.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 14:16
zmi
Игорь Столяров писал(а): 16 Февраль 2026, 13:55
Если Вы действительно показали картинку с приложенного исходника
Коды как раз-таки идут в том же порядке, диагностика к ним неправильная. При этом в файле с ответом из папки DEBUG - корректная.
Есть вариант, что обновить среду надо, или совсем наряд ли? CW 11.0.0.13401 EE
А если не компилить, то какой результат?
Игорь, а можно мой откомпилированный у Вас пример вернуть (с ddl-ками), чтоб исключить этот вариант?
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 14:23
Игорь Столяров
1. Запустил Ваш EXE без пересборки - получил картинку как у Вас (коды в обратном порядке и непонятные ошибки).
2. Смотрим ответ сервиса. У Вас какая-то проблема с классом cJSON - неправильно формируются коды с символом "<29>"
Обновите класс JSON с сайта автора (ссылка есть в шапке) и попробуйте пересобрать.
Я сейчас сброшу Вам свою сборку.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 14:30
Игорь Столяров
Просто пересобрал. Даже исходник не открывал. И всё заработало. Проверьте у себя.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 14:51
Игорь Столяров
И библиотеку PrintF() тоже обновите до текущей.
Там давно была "особая" кодировка в BASE64, но недавно исправили до нормальной.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 15:14
zmi
Игорь Столяров писал(а): 16 Февраль 2026, 14:23
Обновите класс JSON с сайта автора
Черт побери! Оба класса LIBCURL и JSON обновлял где-то месяц назад, когда с предыдущей ошибкой ЛМ ЧЗ разбирался. Обновил JSON - не помогло. Но JSON использует PrintF, а он от 24-го года у меня был, оказывается.
Обновил PrintF, и заработало "ожидаемо и правильно"! СПАСИБО!!! И мои извинения за беспокойство!
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 15:18
Игорь Столяров
Пожалуйста ! Компоненты в наше время решают всё ...
Меня здесь иногда спрашивают почему я не использую доставшиеся от бабушки библиотеки ? Так вот потому !
