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

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

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

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

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

Привет всем !

Класс для выполнения разрешительной проверки КМ (кодов маркировки)
через API ГСЦМ "Честный ЗНАК" (ГИС МТ + ПО Локальный Модуль) и ТС ПИоТ.

Полный боевой комплект с описанием интерфейса API и примерами.

Реализованный в классе функционал полностью соответствует ПФС ЦРПТ (версия 1.11 / 26 сценариев)
для получения сертификата совместимости и допуска в промышленную среду работы с ТС ПИоТ. 😎

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
----------------------------------------------------------------------------------------------------
НАСТОЯТЕЛЬНО рекомендуем использовать актуальные версии классов LibCURL, cJSON и PrintF.

2.jpg
Вложения
Honest-2026-03-14.rar
Версия от 14.03.2026 г.
(40.76 КБ) 27 скачиваний
Последний раз редактировалось Игорь Столяров 14 Март 2026, 21:12, всего редактировалось 71 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8584
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 127 раз

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

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

finsoftrz писал(а): 26 Февраль 2026, 16:35 продажи не в диапазоне цен сами не блокируют
Этому есть объяснение. МРЦ устанавливает производитель (импортёр), а ЕМЦ / МЦ - Минсельхоз раз в год.
Поэтому товар тупо может заваляться на складе и при продаже произойти конфликт с текущими ограничителями цен.
Регламент предписывает переустановить розничную цену реализации или вернуть товар производителю (импортёру). 🤷‍♀️

Вы (ПМСР) при проверке не сообщаете в ГИС МТ розничную цену реализации. Поэтому принятие решения на стороне ПМСР.
Последний раз редактировалось Игорь Столяров 26 Февраль 2026, 23:25, всего редактировалось 1 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8584
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 127 раз

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

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

finsoftrz писал(а): 26 Февраль 2026, 16:35 Скоро, действительно, все, кроме федералов, закроются.
1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8584
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 127 раз

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

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

Всем привет !

Обновление версии класса для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ.
-----------------------------------------------------------------------------------------
Версия от 27.02.2026 г.
- Обработка ошибки 3002 с пустым списком проверки;
- Поддержка новых версий API: ПО ЛМ 2.1 / ТС ПИоТ 2 и 3 (см. примеры);
- Передача на проверку в TC ПИоТ / ПО ЛМ - ID товарной группы КМ;
- Контроль МЦ для НСП при Off-Line проверке в ПО ЛМ версии 2.1;
- Для метода PIoT_CheckOneCode() изменён способ передачи КМ на проверку (см. примеры);
- Устранены проблемы по запросам.

Версия от 28.02.2026 г.
- Внесены изменения в соответствии с Методическими рекомендациями ЦРПТ № 15 от 27.02.2026 г.
- Добавлены новые товарные группы для маркируемых товаров;
- В методе LM_ViewStatus() показано кол-во МЦ на НСП в БД ПО ЛМ (только версия 2.1);
- Добавлена процедура Honest::GetIntoExpired() - попадание КМ в товарные группы c проверкой срока годности;
- Унифицирована проверка в ПО ЛМ из методов ТС ПИоТ (подготовка к переходу на API версии 3);
- При HTTP статусе запроса ТС ПИоТ: 514 -> выполняется проверка в ПО ЛМ ЧЗ;
- Устранены проблемы по запросам.

Версия от 06.03.2026 г.
- Опция демо API: Self.bTypeApi заменена на флаг Self.gContact.bSandBox;
- В методе LM_ViewStatus() показан используемый контур ГИС МТ;
- Методы CheckResponse() и PIoT_CheckResponse() возвращают HTTP статус ответа на запрос;
- Обработка ошибок с кодом 500, 504, 5000;
- Отдельное сообщение для ошибки 400 "Неверный формат или параметры запроса";
- Блокировка повторного сообщения об ошибке 203 "Переход ТС ПИоТ в аварийный режим";
- Проверка КМ в ПО ЛМ при ошибке 203 для получения значений тега 1260 в чеке;
- Добавлена дополнительная информация в сообщениях об ошибках;
- Устранена проблема с кодировкой при копировании сообщений в ClipBoard Windows.
- Устранены проблемы по запросам.

Версия от 14.03.2026 г.
- Внесены изменения в соответсвии с документацией API ТС ПИоТ 1.07 от 03.03.2026 г.;
- Изменения в запросах ТС ПИоТ API версии 3 по результатам тестирования на стенде;
- Раздельная обработка ошибочных статусов HTTP и ошибок внутри ответа на запрос для статуса HTTP = 200;
- Ошибки ТС ПИоТ разбираются внутри методов PIoT_CheckCodes / PIoT_CheckResponse;
- Блокировка сообщения для внутренней ошибки 500 ПО ЛМ версии 2;
- Из сообщения о состоянии ПО ЛМ удалены параметры не поддерживаемые в версии 2;
- В сообщение о состоянии ПО ЛМ добавлена ссылка на сервис (EndPoint) ПО ЛМ;
- В запросах ТС ПИоТ токен ПМСР передаётся как GUID (36 символов);
- Работа класса протестирована на тестовом конуре ГИС МТ и ПО ЛМ (версия 2.1);
- Устранены проблемы по запросам.


Переделываем ПМСР под новые методические рекомендации ЦРПТ ! :)
Переделываем ПМСР под новые методические рекомендации ЦРПТ ! :)
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8584
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 127 раз

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

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

Галя, у нас отмена ! :D

Начались непонятки на сертификации с протоколами ТС ПИоТ (ошибка 403).
На сайте ЦРПТ / АО "ЕСП" представлены 2 несовместимых варианта формата запроса API версии 3:

1.png

Сейчас реализован вариант для отладочного стенда (на рисунке слева).
Запросил информацию в тех. поддержке, но это не быстро будет ...
До выяснения рекомендую переключить класс на версию API 1 или 2 для ТС ПИоТ - с ними всё OK ! :(

Код: Выделить всё

PIoT:VerAPI          Equate('1')    ! Версия API: 1, 2, 3
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить