Веб-сервис ProcessEngineService.svc
Glossary Item Box
Содержание:
Общая информация
Одной из задач интеграции внешнего приложения с Creatio является запуск бизнес-процессов. С этой целью в сервисной модели Creatio реализован web-сервис ProcessEngineService.svc, позволяющий запускать бизнес-процессы извне.
К СВЕДЕНИЮ
Пример использования сервиса ProcessEngineService.svc описан в статье "Как запускать процессы Creatio через веб-сервис". Полный перечень методов веб-сервиса доступен в документации по классам серверной части ядра платформы.
Запрос к сервису ProcessEngineService.svc
GET /7.15.1.1295_SalesEnterprise/0/ServiceModel/ProcessEngineService.svc/CustomProcess/Execute?ResultParameterName=CustomProcessResult&processParam=15 HTTP/1.1 Host: localhost BPMCSRF: bmJcGKDsMKnGmK0yKPUfR. Cookie: BPMSESSIONID=mdbspc3lpbvldg4qwrotnoe1; BPMLOADER=2cqd4ean14rmlkyl1o35qfnt; .ASPXAUTH=90A57901E17893AF50528FB608B52A1FFCA8359E525D72B95A2C36835171F33B4E6B6421920F5F73EC7B6C707402E2243C142738E6DC1B0CB6B9C8DF1921B53BDBADF3D076F0CB671FBC33EECEC1AD587D119ECA63FE49C8C4CC0DB4AD6A9C720778E249754C8BE34AD082AFD0A027A4CC7B6783003DD659FA077ED0C968602BF8841291B6380D3BC53C62C88D9EAA8D2096DB44B0EFD1428637F3D9554A58AE59E07D8777D0C8DC41290156F176F596014D1E5D6648A038FBBA557048EF0DE9FF8AABA9AB3D34EC157F6C839BA24F8C5D2D11FE72664D7791559D37A5C29AEDAF2F55A87E68B2250864B1C082A679267D25135F780370635DBFCBFAC3F96EA32001E5AC80DBDB2C5C401C576875F875549872EED2794623D2E0AF6E89B14230BC6847D19AF1951863035B43BB6C04105AA063EC9BDFC2EE5C8FC4D13B0B30009443A6BC42F0E2434C2F924D13433D8392A051308CF98209428E6A70AB10F4BBA46E7C328299EBCA6743C94D90BDC6C18F0AA6F8CCF52F014C29A17E38EFD7B061F60853DB063977C9601385D4D648EB63D8B487; UserName=83|117|112|101|114|118|105|115|111|114; BPMCSRF=bmJcGKDsMKnGmK0yKPUfR.
Чтобы запустить в системе определенный бизнес-процесс, необходимо вызвать метод Execute() сервиса.
Структура запроса к веб-сервису:
- строка запроса;
- заголовки запроса.
Строка запроса
Структура строки запроса
http(s)://[Адрес приложения Creatio]/0/ServiceModel/ProcessEngineService.svc/ProcessSchemaName/Execute?ResultParameterName=resultParameterName&inputParameter=inputParameterValue
Пример строки запроса
https://mycreatio.com/0/ServiceModel/ProcessEngineService.svc/CustomProcess/Execute?ResultParameterName=CustomProcessResult&processParam=15
Параметры строки запроса
- ProcessSchemaName
-
К СВЕДЕНИЮ
Название схемы бизнес-процесса можно узнать в разделе [Конфигурация].
- resultParameterName (необязательный параметр)
- Код параметра процесса, который хранит результат выполнения процесса. Если этот параметр не задан, то web-сервис запустит указанный бизнес-процесс без ожидания результата его выполнения.
-
ВАЖНО
Если в вызываемом процессе отсутствует данный код параметра, web-сервис вернет значение null.
- inputParameter (необязательный параметр)
-
Коды входящих параметров бизнес-процесса. Если передается несколько входящих параметров, они должны быть объеденены символом &
- inputParameterValue
-
Значения входящих параметров бизнес-процесса.
Заголовки запроса
- BPMCSRF
- BPMCSRF: authentication_cookie_value
- Аутентификационный cookie.
-
ВАЖНО
Прежде чем обращаться к веб-сервису с помощью сторонних инструментов, необходимо выполнить аутентификацию пользователя, от имени которого будут выполняться запросы. Для этого следует использовать сервис AuthService.svc (см. "Аутентификация внешних запросов").
- ForceUseSession
- ForceUseSession: true
-
Заголовок ForceUseSession отвечает за принудительное использование уже существующей сессии.
Ответ сервиса ProcessEngineService.svc
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> "[ {\"Id\":\"c38d46fd-e405-491a-a508-01bb9760eecc\",\"Name\":\"Valerie E. Murphy\",\"Phone\":\"3090\"}, {\"Id\":\"516bc5b4-a79a-4e1d-9894-0566617012d1\",\"Name\":\"Sharyn Mccraney\",\"Phone\":\"+1 33867 411 85 76\"}, {\"Id\":\"41b67c9e-7c14-487c-a217-057fd3735ba1\",\"Name\":\"Shela Andry\",\"Phone\":\"+1 33985 177 50 37\"}, {\"Id\":\"f79fe861-88af-4e23-9bb7-0625a6cee703\",\"Name\":\"Kate Roberts\",\"Phone\":\"+1 212 775 9012\"}, ]" </string>
Результат выполнения метода Execute() возвращается в виде строки, содержащей JSON-объект (допустимо получение значения null).
Десериализация JSON-объекта и приведение полученного результата к определенному типу данных должны выполняться в коде, вызывающем web-сервис.
Запуск на выполнение отдельного элемента бизнес-процесса
Чтобы запустить на выполнение отдельный элемент бизнес-процесса, необходимо вызывать метод ExecProcElByUId web-сервиса. В качестве параметра данный метод принимает идентификатор запускаемого элемента процесса.
Строка запроса:
http[s]://[Адрес приложения Creatio]/0/ServiceModel/ProcessEngineService.svc/ExecProcElByUId/ProcessElementUID
- ProcessElementUID
-
Идентификатор запускаемого элемента процесса.
ВАЖНО
Запускать на выполнение можно только элемент выполняющегося процесса.
Если запускаемый методом ExecProcElByUId элемент процесса уже выполнен на момент вызова метода, то повторно такой элемент выполняться не будет.