Перейти к основному содержимому

HTTP интерфейс для запросов

HTTP-сервис УИ_ПубликуемыеФункции

УИ_ПубликуемыеФункции — встроенный HTTP-сервис конфигурации УниверсальныеИнструменты, обеспечивающий REST-подобный доступ к функциям подсистемы. Позволяет внешним системам выполнять алгоритмы, загружать данные и проверять доступность сервиса через HTTP-запросы.

  • Корневой URL: tools-ui-1c
  • Полный путь: http://<сервер>/<ИмяПубликации>/hs/tools-ui-1c/<эндпоинт>
  • Аутентификация: средствами платформы 1С (Basic Auth / Bearer Token)
  • Rights: права на методы HTTP-сервиса настраиваются через роли (см. роль УИ_ПолныеПрава)

Примеры запросов

Ping — проверка доступности

Результат = УИ_КоннекторHTTP.Get("http://localhost/tools-ui/hs/tools-ui-1c/ping");
Если Результат.КодСостояния = 200 Тогда
Сообщить("Сервис доступен: " + УИ_КоннекторHTTP.КакТекст(Результат));
КонецЕсли;
curl -u "Пользователь:Пароль" http://localhost/tools-ui/hs/tools-ui-1c/ping
# → OK

Выполнение алгоритма по WebID

WebID = "расчет-итогов";
Параметры = Новый Структура("Период,Организация", "202401", "НашаОрганизация");

Результат = УИ_КоннекторHTTP.GetJson(
"http://localhost/tools-ui/hs/tools-ui-1c/execute/" + WebID,
Параметры,
УИ_КоннекторHTTP.НоваяАутентификацияBasic("Пользователь", "Пароль")
);
curl -u "Пользователь:Пароль" \
"http://localhost/tools-ui/hs/tools-ui-1c/execute/расчет-итогов?Период=202401&Организация=НашаОрганизация"

Загрузка данных XML-обмена

ДвоичныеДанныеАрхива = Новый ДвоичныеДанные("C:\exchange\data.zip");

Параметры = УИ_КоннекторHTTP.НовыеПараметры();
Параметры.Заголовки.Вставить("Content-Type", "application/octet-stream");
Параметры.Аутентификация = УИ_КоннекторHTTP.НоваяАутентификацияBasic("Пользователь", "Пароль");

Результат = УИ_КоннекторHTTP.Post(
"http://localhost/tools-ui/hs/tools-ui-1c/exchange",
ДвоичныеДанныеАрхива,
Параметры
);

Если Результат.КодСостояния = 200 Тогда
Ответ = УИ_КоннекторHTTP.КакJson(Результат);
Сообщить("Ошибка загрузки: " + Ответ.ОшибкаЗагрузки);
Сообщить("Лог: " + Ответ.ЛогЗагрузки);
КонецЕсли;
curl -u "Пользователь:Пароль" \
-X POST \
-H "Content-Type: application/octet-stream" \
--data-binary "@data.zip" \
http://localhost/tools-ui/hs/tools-ui-1c/exchange

Интеграция с universal-xml-exchange

HTTP-сервис используется для прямого обмена данными с модулем Универсальный XML-обмен:

  • Загрузка XML-пакетов удалённо через эндпоинт /exchange
  • Получение данных справочников и документов
  • Отправка изменений из внешних систем

Спецификация OpenAPI 3.0

подсказка

Для интерактивного тестирования эндпоинтов используйте Консоль HTTP.