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

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

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

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

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

Привет всем !

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

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

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

esp.png
esp.png (13.96 КБ) 5202 просмотра
Вложения
Honest-2026-04-27.rar
Версия от 27.04.2026 г.
(48.66 КБ) 92 скачивания
Последний раз редактировалось Игорь Столяров 30 Апрель 2026, 10:26, всего редактировалось 105 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5984
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

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

Сообщение finsoftrz »

Техподдержка по какому адресу? Я отправлял на partners@crpt.ru 6 дней назад. В ЛК у них контактных адресов нет (или я не нахожу).
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8633
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 132 раза

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

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

finsoftrz писал(а): 31 Март 2026, 9:39 В ЛК у них контактных адресов нет (или я не нахожу)
support@crpt.ru
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8633
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 132 раза

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

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

Вышел вот такой рекламный буклет с разъяснением терминов ТС ПИоТ на примере ЭВОТОР.
Распространяется бесплатно и по открытой ссылке: https://disk.yandex.by/i/B-KXlJHb12ithw

1.jpg

P/S. Да ! Не кажется. На обложке нарисован АТОЛ-30Ф. :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 300
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 33 раза
Поблагодарили: 1 раз

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

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 03 Апрель 2026, 8:02 рекламный буклет с разъяснением терминов ТС ПИоТ на примере ЭВОТОР
Именно "рекламный", вроде как и о ТС ПИоТ, но с подтекстом, что у Эвотор это лучше всех
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8633
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 132 раза

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

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

Всем привет !

Обновление версии класса для API ТС ПИоТ ЕСМ от АО «ЕСП».

Версия от 27.04.2026 г.
-----------------------------------------------------------------------------------------
PIoT::GetLmInfo() - Получить данные для доступа к ПО ЛМ из ТС ПИоТ;
Хранение данных для подключения к ПО ЛМ из ТС ПИоТ в рабочей папке Windows;
Полное и корректное отображение ошибок инициализации ПО ЛМ;
Обработка и отображение ошибки 500 для методов ТС ПИоТ ЕСМ от АО "ЕСП";
Класс успешно протестирован для работы с ПО ЛМ версии 2.5.1-2;
Устранены проблемы по запросам и внесены изменения в примеры.

Версия от 25.04.2026 г.
Переобулись на лету ! :D Мы теперь класс API ТС ПИоТ ЕСМ ! 🦾
-----------------------------------------------------------------------------------------
Новые процедуры взаимодействия с ТС ПИоТ ЕСМ:
- Honest::ESM_Info() - информация о текущем состоянии;
- Honest::ESM_ExportLog() - выгрузить сервисные / бизнес логи работы;
- Honest::ESM_CheckUpdate() - проверка доступных обновлений.
Устранены проблемы по запросам и внесены изменения в примеры.

Версия от 21.04.2026 г.
-----------------------------------------------------------------------------------------
- Внимание ! C 01.06.2026 г. отключаем поддержку API версий 1.5X ПО Локальный Модуль;
- Внесены изменения в соответствии с МР ЦРПТ версии 16 от 15.04.2026 г.;
- Обработка ошибок 407 / 410 от ДККТ "Фискальный накопитель занят другой операцией";
- Распарс и корректный показ сообщений об ошибках ТС ПИоТ ЕСМ от АО "ЕСП";
- Добавили 10 новых методов для взаимодействия с ТС ПИоТ ЕСМ от АО "ЕСП";
- Добавили 17 экспериментальных товарных групп для КМ по которым уже есть выбытие в ЛК ГИС МТ;
- Протоколирование не JSON строк в файлах с расширением "txt" для удобства просмотра;
- Устранены проблемы по запросам и внесены изменения в примеры.

Версия от 18.04.2026 г.
-----------------------------------------------------------------------------------------
- Добавлено 9 новых методов для взаимодействия ПМСР с ТС ПИоТ ЕСМ от АО "ЕСП";
- Удалён флаг PIoT:UseLMCheckDubl - способ локального учёта выбытия КМ выбирает ПМСР;
- При проверке КМ в аварйном режиме ТС ПИоТ -> выбытие КМ через прямое обращение к ПО ЛМ;
- Если ТС ПИоТ работает локально в результат проверки добавляется префикс "OFF-LINE:";
- Если ТС ПИоТ в аварийном режиме в результат проверки добавляется префикс "ПО ЛМ:";
- Добавлена обработка статуса ответа сервиса 204 "В ответе на запрос нет данных (пустой ответ)";
- Устранены проблемы по запросам и внесены изменения в примеры.

Версия от 15.04.2026 г.
-----------------------------------------------------------------------------------------
- Реализованы методы для обслуживания БД проданных КМ в ПО ЛМ через ТС ПИоТ;
- При проверке КМ в ТС ПИоТ добавлена информация о режиме Off-Line (ПО ЛМ);
- Включен контроль товарных групп при проверке сроков годности;
- При запросе статуса ПО ЛМ выдаётся разовое сообщение об необходимости обновления;
- Внесены изменения в работу с API по документации ЦРПТ версии 1.08;
- Поддержка изменений ТС ПИоТ ЕСМ от АО "ЕСП" версии 1.6.1.2.
- И вот теперь переключились по умолчанию на версию API 3 для ТС ПИоТ !; :D
- Устранены проблемы по запросам и внесены изменения в примеры.

Версия от 08.04.2026 г.
-----------------------------------------------------------------------------------------
- Отключена поддержка версии API 1 ТС ПИоТ;
- Отключена поддержка эмуляции Off-Line режима ТС ПИоТ на стенде;
- Отключена проверка КМ для ГИС МТ только в режиме Off-Line (через ПО ЛМ);
- Показывается предупреждение о необходимости обновления ПО ЛМ версии 1.X;
- Добавлен костыль для косяка с датами ISO 8601 в API ТС ПИоТ версии 3;
- Honest::EditSoldList() - добавлена запись КМ в ПО ЛМ через ТС ПИоТ;
- Проверка выбытия КМ через ПО ЛМ в Off-Line режиме выполняется через ТС ПИоТ;
- В режиме работы ТС ПИоТ токен доступа из ЛК ГИС МТ классу больше не нужен;
- В режиме работы ТС ПИоТ список CDN площадок не сохраняется и не загружается;
- Устранены проблемы по запросам и внесены изменения в примеры.
Последний раз редактировалось Игорь Столяров 27 Апрель 2026, 12:00, всего редактировалось 10 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 300
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 33 раза
Поблагодарили: 1 раз

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

Сообщение SergioRaguzini »

Приветствую!
Игорь Столяров писал(а): 08 Апрель 2026, 16:18 Отключена поддержка эмуляции Off-Line режима ТС ПИоТ на стенде
теперь для сертификации такой режим не будет применяться?
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5984
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 30 Апрель 2026, 18:06 А где можно узнать идентификатор программы
Просто идёте далее по инструкции ЦРПТ там есть описание где брать ключ регистрации ПО:

1.jpg

P/S: Поздравляю ! :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5984
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 30 Апрель 2026, 18:38 Ага, увидел, не там смотрел. Спасибо.
Я забочусь обо всех, кто сюда попал ... (С) За разломом Орла
:D :D :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5984
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

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

Сообщение finsoftrz »

Я бы сказал, вляпался. :-)
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 300
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 33 раза
Поблагодарили: 1 раз

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

Сообщение SergioRaguzini »

Привет Всем!
При заполнении заявки "Продукты к интеграции" в поле "Совместимая модель ТС ПиоТ" удается сделать выбор только одного варианта.
Получается, что для случая, если ПМСР работает с двумя моделями ККТ, например, и с "Штрих" и с "Атол" необходимо заполняють две заявки "Продукты к интеграции"?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8633
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 132 раза

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

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

SergioRaguzini писал(а): 05 Май 2026, 11:47 с "Штрих" и с "Атол" необходимо заполняють две заявки "Продукты к интеграции"?
Нет. Включение в список совместимости с ККТ зависит только от прохождения функционального теста с ККТ.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8633
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 132 раза

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

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

Если позволите - я немного поясню свой ответ, что бы было понимание происходящего здесь.

Сама по себе разрешительная проверка кодов маркировки (КМ) выполняется ДО печати
кассового чека и никак не зависит от производителя или модели ККТ.

Другой вопрос - конкретная реализация ТС ПИоТ для выполнения разрешительной проверки.
ТС ПИоТ ЕСМ выполняет шифрование пакетов ключом ФН с обменом через сервер GRPC.
И вот здесь ключевым является поддержка драйвера и прошивки ККТ, т.к. создаётся некий
"виртуальный многокомпонентный аппаратно-программый комплекс", или попросту ТС ПИоТ. :D

Поэтому в сабже (и любой другой реализации взаимодейсвия с API ТС ПИоТ) вообще нет упоминаний
о поддерживаемых моделях ККТ. Но Ваша ПМСР должна уметь создать эту самую среду взаимодействия
с учётом конкретного поддерживаемого ТС ПИоТ драйвера и модели ККТ.

И именно это взаимодействие Вашей ПМСР с (ТС ПИоТ + драйвер ККТ) проверяется на функциональном тесте
и определяет совместимость предлагаемого в ПМСР решения для выполнения разрешительной проверки КМ
для конкретного ККТ.

Аналогия для понимания. Вся работа сабжа построена на работе с КМ в формате GS1.
Но абсолютно по барабану как и где Вы получите этот код маркировки в GS1.
Можете сформировать его вручную, считать USB сканером через HID интерфейс или получить через
драйвер COM порта (или уже скорее совместимого протокола обмена COM-порта). Как Вам удобно.

Тоже самое и с конкретной ККТ - требуется обеспечить любым способом взаимодействие ПМСР с ТС ПИоТ
через сервер GRPC ККТ для выполнения разрешительной проверки КМ. :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 300
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 33 раза
Поблагодарили: 1 раз

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

Сообщение SergioRaguzini »

Привет Всем!
В данном классе для проверки КМ имеется удобная процедура Honest::CheckReceipt(gContact,qCodes,gVerified), которая, по завершении, дает развернутый ответ результата проверки.
В ситуации, когда, например, в чек заносится несколько позиций, проверяю "на лету" каждую вносимую позицию чека (заполняя, при этом, для каждой позиции чека очередь одной записью) и сохраняю ответ в соответв.поля записи таблицы бд, что бы потом заполнить тег 1265

Вопрос - нужно ли при успешном закрытии чека в ККМ, в обязательном порядке, дополнительно использовать пр-ру Honest::EditSoldList или, если в учетной системе имеется собственный механизм исключения дубликатов, такое можное не применять, а будет достаточно того, что параметры выбытия марк.продукции будут переданы самим ФР в ОФД и ЧЗ?
Ответить