Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Веб-сервис ProcessEngineService.svc

Glossary Item Box

Общая информация

Одной из задач интеграции внешнего приложения с Creatio является запуск бизнес-процессов. С этой целью в сервисной модели Creatio реализован web-сервис ProcessEngineService.svc, позволяющий запускать бизнес-процессы извне.

Пример использования сервиса ProcessEngineService.svc описан в статье "Как запускать процессы Creatio через веб-сервис". Полный перечень методов веб-сервиса доступен в документации по классам серверной части ядра платформы.

Запрос к сервису ProcessEngineService.svc

Пример запроса к сервису 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 (optional)
Код параметра процесса, который хранит результат выполнения процесса. Если этот параметр не задан, то web-сервис запустит указанный бизнес-процесс без ожидания результата его выполнения.

Если в вызываемом процессе отсутствует данный код параметра, web-сервис вернет значение null.


inputParameter (optional)
Коды входящих параметров бизнес-процесса. Если передается несколько входящих параметров, они должны быть объеденены символом &
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 элемент процесса уже выполнен на момент вызова метода, то повторно такой элемент выполняться не будет.

© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?