Почему в 1С перестал работать метод получения документов из Честного Знака и как это исправить?

Программист 1С v8.3 (Управляемые формы) Торговля и дистрибуция
← К списку

Столкнулись с ситуацией, когда привычный метод получения документов из системы "Честный Знак" перестал работать? Не волнуйтесь, мы вместе разберем эту проблему и найдем актуальное решение. Эта ситуация довольно типична, поскольку API государственных информационных систем постоянно развиваются и изменяются.

Почему старый метод был отключен?

Прежде всего, давайте выясним причину произошедшего. Система "Честный Знак" (ГИС МТ) регулярно обновляет свой программный интерфейс (API), выводя из эксплуатации устаревшие методы и заменяя их новыми, более функциональными и безопасными. Именно это и произошло с методом /api/v3/facade/doc/listV2, который использовался для получения списка документов. Он был снят с поддержки и больше не работает.

Важный момент: "Честный Знак" активно переходит на использование так называемого True API. Это означает, что большинство старых методов, включая те, что работали с документами и кодами маркировки, заменяются новыми, унифицированными подходами.

Мы проанализируем информацию из официальных источников и сообщений разработчиков. Например, устаревшие методы API, снятые с поддержки еще в сентябре 2023 года, планировалось поэтапно отключать. К ним относятся не только /api/v3/facade/doc/listV2, но и другие, такие как /api/v3/true-api/cises/listV2 (для кодов маркировки) и /api/v3/true-api/products/listV2 (для товаров).

Как найти актуальный метод для работы с документами?

Когда один метод отключается, всегда появляется альтернатива. Наша задача – найти ее и правильно реализовать. Как правило, информация о заменах публикуется в официальной документации "Честного Знака" для разработчиков.

Мы рассмотрим несколько подходов к решению этой проблемы, основанных на актуальной информации:

Решение 1: Переход на /api/v4/true-api/doc/list

Это наиболее прямой и часто используемый аналог для получения списка документов. Многие разработчики уже давно перешли на этот метод. Давайте разберем по шагам, что нужно изменить в вашем коде 1С.

  1. Изменение адреса API: Вместо старого префикса версии (например, v3/facade) нам потребуется использовать v4/true-api.
  2. Обновление URL-адреса запроса: Полный путь к методу изменится.
  3. Актуализация хоста (адреса сервера): Если вы использовали тестовые или устаревшие адреса, их также необходимо обновить.

Посмотрим на пример, как это может выглядеть в коде 1С. Предположим, у вас был код, формирующий URL-адрес запроса. Теперь его нужно модифицировать следующим образом:

Вместо:


АдресСервераМОТП = "https://<старый_адрес_сервера>";
ПрефиксВерсииСтар = "v3/facade";
Url = АдресСервераМОТП + "/" + ПрефиксВерсииСтар + "/doc/listV2?limit=10000&pg=" + ...;

Мы изменим его на:


АдресСервераМОТП = "https://markirovka.crpt.ru"; // Актуальный продуктивный адрес
ПрефиксВерсииНов = "v4/true-api";
Url = АдресСервераМОТП + "/" + ПрефиксВерсииНов + "/doc/list?limit=10000&pg=" + СокрЛП(?(ТГ.ТекущаяСтрока() = 0, ТГ.ПолучитьЗначение(1), ТГ.ПолучитьЗначение(ТГ.ТекущаяСтрока()))) + "&dateFrom=" + НачДата + "&dateTo=" + КонДата;

Обратите внимание на несколько ключевых изменений:

Решение 2: Использование других методов True API для специфических задач

В некоторых случаях, если вам требуется не просто список документов, а более специфичная работа (например, создание документов или поиск кодов маркировки), True API предлагает другие методы:

  1. Для создания документов: Вместо множества методов для создания разных типов документов, "Честный Знак" переходит на "единый метод создания документов", например, /lk/documents/create. Мы рекомендуем изучить документацию по нему, если ваша задача – отправка новых документов в систему.
  2. Для получения информации о кодах маркировки: Если вы искали информацию о КМ, методы типа /api/v3/true-api/cises/listV2 были заменены. Актуальные методы True API для этого могут включать POST /cises/search (из документации "Описание True API"). Для разрешительного режима также упоминается /api/v4/true-api/codes/check.

Мы настоятельно рекомендуем всегда сверяться с актуальной официальной документацией "Честного Знака" для разработчиков. Это лучший источник информации о текущих методах и их параметрах.

Важные общие рекомендации при работе с API "Честного Знака"

Чтобы избежать подобных проблем в будущем и обеспечить стабильную работу вашей интеграции 1С с "Честным Знаком", проанализируем несколько общих правил:

  1. Постоянно отслеживайте обновления API: "Честный Знак" – динамично развивающаяся система. Изменения в API могут происходить довольно часто, иногда с интервалом в несколько месяцев. Подпишитесь на рассылки или регулярно проверяйте раздел для разработчиков на их сайте.
  2. Используйте HTTPS-протокол: HTTP-протокол для взаимодействия с API "Честного Знака" был отключен. Все запросы должны выполняться только по HTTPS для обеспечения безопасности передачи данных.
  3. Авторизация и токены: Не забывайте, что для работы с API требуется авторизация с использованием токенов. Токен обычно действителен до 10 часов, после чего его необходимо получить заново. Убедитесь, что ваш механизм авторизации работает корректно и своевременно обновляет токены.
  4. Корректное экранирование параметров: В соответствии со стандартами RFC, необходимо правильно экранировать параметры запросов в URL и JSON-строках. Это поможет избежать ошибок при передаче данных.
  5. Обращайтесь в Центры поддержки: Если вы столкнулись с неразрешимой проблемой, Центры поддержки маркировки предоставляют консультации и техническую помощь.

Мы вместе рассмотрели причины отключения метода в "Честном Знаке" и выяснили, как перейти на актуальные методы API. Следуя этим рекомендациям, вы сможете обеспечить надежную и стабильную работу вашей интеграции 1С с системой маркировки.

← К списку