Назначение

Отправляет HTTP-запрос по адресу, вычисленному формулой. Используется для интеграции с внешними системами и для вызова REST API самого портала (например, копирования элементов).

Сведения о типе действия

ПараметрЗначение
Название в порталеВызов внешнего сервиса
Activity в Elsa (обработчик)Вызов внешнего сервиса (ExtServiceActivity)
ID типа элемента действия23b0d24a-dea5-42b0-ada3-7dc545f5bfac
Проверка условий правилаДа
Поддержка «Исходный элемент(ы) (формула)»Да

Атрибуты действия

АтрибутОбязательныйОписаниеПример
НазваниеДаТекст. Название действия.Скопировать папки внутри вложения процесса
Сервис обработкиДаФормула, возвращающая полный URL веб-сервиса. Вычисляется в контексте целевого элемента.Format('{0}/api/...', Cfg('Site.PortalUrl'))

Запрос

  • Метод — POST, тело — JSON:
Тело запроса
{
  "itemIdList": ["<GUID элемента, на котором выполняется действие>"],
  "actionId": "<GUID действия автоматизации>"
}
  • Запрос выполняется с токеном сессии системного пользователя портала.
  • Ответ с кодом, отличным от 2xx, считается ошибкой: текст ответа передаётся в сообщение об ошибке, цепочка прерывается.
  • Время ожидания ответа — до 30 минут.

Пример: копирование содержимого вложения процесса

Сервис обработки
Format('{0}/api/automation/post?baseUrl={0}/api/item/copy/{1}&param={2}', Cfg('Site.PortalUrl'), Id(This('destination')), '[{' + Replace(Join('},{', Select(GetList(Id(), false), 'Format(\"#id#:#{0}#,#isChildListCopy#:true,#isFileCopy#:true,#isMetadataCopy#:true,#isPermissionCopy#:false\", Id(Ref('Вложение процесса')))')), '#', '\"') + '}]')

Копирует все папки (включая подпапки) из папки — вложения процесса в папку/список, идентификатор (GUID) которой указан в поле destination текущего процесса.

Особенности

  • Внешний сервис должен быть доступен с сервера приложения Workflow.Manager.
  • Сервис получает только идентификаторы; данные элемента он должен запросить сам (например, через REST API портала).
  • Длительные операции задерживают всю цепочку и сохранение, породившее событие. Для долгих операций предпочтительна асинхронная обработка на стороне сервиса.

См. также

  • No labels