Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

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

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

Привет всем !

Класс для разрешительной проверки КМ (кодов маркировки) через API ТС ПИоТ ЕСМ от АО «ЕСП».
Поддержка работы с API ЦРПТ: ПО Локальный модуль и Национальный каталог.
Полный боевой комплект с описанием интерфейса API и примерами.

Реализованный в классе функционал соответствует ПФС версии 1.18 от 26.06.2026 г. (27 сценариев),
для получения сертификата совместимости и допуска к работе в промышленной среде ТС ПИоТ ЦРПТ. 😎

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

Список изменений в версии от 21.09.2026 г.
----------------------------------------------------------------------------------------------------
- Изменения в "Протоколе взаимодействия с оркестратором ЕСМ" версия 1.4 от 18.09.2026 г.;
- Процедуры для открытия папок с протоколом ЕСМ и ПО ЛМ "Честный ЗНАК";
- Устранены проблемы по запросам и внесены изменения в примеры.
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов LibCURL, cJSON и PrintF.

esp.png
esp.png (13.96 КБ) 257872 просмотра
Вложения
Honest.rar
(71.11 КБ) 130 скачиваний
Последний раз редактировалось Игорь Столяров 21 Сентябрь 2026, 8:46, всего редактировалось 149 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8812
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 155 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

SergioRaguzini писал(а): 12 Август 2026, 21:09 необходимо присвоить параметру
Да. Нужно инициализировать все поля группы gClient_Info, как показано в упомянутом Вами примере.
Не совсем понял историю про "пользователя", поскольку на снимке показан ключ разработчика-интегратора ПМСР.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 323
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 49 раз
Поблагодарили: 1 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 12 Август 2026, 21:22 Да. Нужно инициализировать все поля группы gClient_Info...
Спасибо, просто смутила терминология - в ЛК называется "Ключ регистрации ПО", а в примере Honest.txt название "Идентификатора в реестре ГИС МТ"
...Не совсем понял историю про "пользователя", поскольку на снимке показан ключ разработчика-интегратора ПМСР
Для меня - это именно "пользователь", я не стал сертифицировать ПМСР, предложив регистрацию и оформление документов для заявки на сертификацию самому пользователю, подготовил для этого тестовую версию и базу с сценариями и провел обучение, а уже пользователь прошел сертификацию ПМСР как собственное ПО для внутренних целей (в заявке "видимость" = "нет").
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8812
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 155 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

SergioRaguzini писал(а): 13 Август 2026, 8:47 Спасибо, просто смутила терминология
Всегда приоритет имеет текущая версия документации - открываем и смотрим.
Вопросы по сайту ЦРПТ адресуем в тех. поддержку ЦРПТ. :D

11.jpg
SergioRaguzini писал(а): 13 Август 2026, 8:47 Для меня - это именно "пользователь"
Для избежания путаницы, предлагаю использователь общепринятую терминологию ЦРПТ,
а высокие отношения с клиентами реализовывать "под капотом". :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 323
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 49 раз
Поблагодарили: 1 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение SergioRaguzini »

Привет Всем!
Прочитал в интернетах, что "с 1 октября 2026 года будет отключен токен X-API-KEY, который применялся для прежнего способа проверки"
Обратил внимание, что в версии класса от 21.09.26, изменена процедура HonestClass.Init в которой, теперь имеется обработка параметра
bMode с созможностью присвоения ему значения = 2

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

HonestClass.Init  Procedure(*Honest:G_Contact gContact,Byte bMode = 0) !,Bool,Proc
  ! bMode = 0 -> Без дополнительных действий
  !       = 1 -> Режим работы ГИС МТ (завершение 01.10.2026 г. ?!)
  !       = 2 -> Выполнить запись токена для ПО ЛМ из ТС ПИоТ: Открытие РМК, Honest::EditSoldList(), ESML::Info()
...
Сейчас (до 1-го октября), перед инициализацией класса токен ранее полученный в ЛК ЧЗ (и сохраненный в таблице настройки ПМСР) передавался в параметре sToken, например:
gContact.sToken = <Токен доступа к API ГСЦМ «Честный ЗНАК»>

И как поступать с 1-го октября, инициализировать класса с параметром = 2 (LOC:Honest.Init(gContact, 2)?

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

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

SergioRaguzini писал(а): 30 Сентябрь 2026, 12:18 Прочитал в интернетах
Лучше напрямую читать сайт регулятора: https://xn--80ajghhoc2aj1c8b.xn--p1ai/i ... z-ts-piot/

Мне там нравится вот это место:
Отключение будет проходить поэтапно.

SergioRaguzini писал(а): 30 Сентябрь 2026, 12:18 И как поступать с 1-го октября
Для Вас (пользователей класса) здесь ничего изменять не требуется.
Указанные настройки применяются самим классом для актуализации аварийного токена ПО ЛМ, который генерит ТС ПИоТ.
Аварийный токен действует 5 дней и используется классом для проверки в ПО ЛМ, если ТС ПИоТ находится в 5XX ошибке.
Это внутренние механизмы класса для выполнения требований ЕСМ, Вам их настраивать или как-то активировать не нужно.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 323
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 49 раз
Поблагодарили: 1 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение SergioRaguzini »

Игорь, Спасибо за оперативный отклик!
Игорь Столяров писал(а): 30 Сентябрь 2026, 12:39 Для Вас (пользователей класса) здесь ничего изменять не требуется.
Хотел бы уточнить - при инициализации, ранее в процедуру, вторым параметром передавалось TRUE, например: LOC:Honest.Init(gContact, TRUE)

Но в свете грядущего, с 1-го октября, изменения, будет ли правильным теперь вызывать процедуру инициализации без явного указания значения bMode:
LOC:Honest.Init(gContact)

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

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

SergioRaguzini писал(а): 30 Сентябрь 2026, 12:52 LOC:Honest.Init(gContact)
Да, абсолютно верно. Никаких параметров не требуется - т.к. собственно остаётся только режим работы с ТС ПИоТ.

bMode = 2 - это сервисный режим.
Если хотите, например при первом запуске РМК, сами актуализировать аварийный токен -
можете его использовать, ничего страшного не произойдёт ... :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить