Triggering a process by using HTTP or HTTPS calls

Processes can be triggered using HTTP or HTTPS calls.

Note: 

Actors must be assigned at least the InbasketUser_ST role to use HTTP or HTTPS calls to trigger work units. Triggering of work units is only allowed if the security class is assigned to a role for users who must perform this.

To use HTTP or HTTPS to trigger a process flow on IPA, specify a URL in this format:

http(s)://host:port/bpm/trigger?queryString

The queryString portion of the URL is a set of name/value pairs. Name and values are paired with an equals sign (=). Name and value pairs are separated with an ampersand (&).

name1=value1&name2=value2&name3=value3&...&nameN=valueN

These examples show how HTTP or HTTPS calls are used to trigger processes:

Example 1: This an example of a simple HTTP call URL which shows only required parameters:

http://ipa.example.com:8080/bpm/trigger?triggerType=ServiceAsync&triggerName=Test%20Service&dataArea=ipa1&workTitle=Trigger%20Test

Example 2: This an example of a more detailed HTTP call URL which shows some work unit values:

http://ipa.example.com:8080/bpm/trigger?triggerType=ServiceAsync&triggerName=Test%20Service&dataArea=ipa1&workTitle=Trigger%20Test&varName\[0\]=FirstName&varValue\[0\]=John&varName\[1\]=LastName&varValue\[1\]=Doe

This table shows the parameter names and values used in a queryString:

Name Value
triggerType

Specify ServiceAsync, ServiceSync, ProcessAsync, or ProcessSync.

Note: When triggering a ServiceSync or ProcessSync HTTP call, the process flow must not have a User Action node or a Wait node, and the process must not take longer than 30 seconds to run. Otherwise, a Proxy Timeout error will occur. This behavior is only applicable to a Service Definition that has no more than one process flow.
triggerName

Specify the name for the service trigger if the triggerType is ServiceAsync or ServiceSync.

Specify the name for the process trigger if the triggerType is ProcessAsync or ProcessSync.

dataArea Specify the data area. Gen is not supported.
subSystem Specify the sub-system, or source, for the workunit.
workTitle Specify the work title for the workunit.
categoryKey Specify the category, or filter, key for the workunit.
categoryValue Specify the category, or filter, value for the workunit.
bizCriteria[#] (Where # is a number from 0 to 2) Specify the business criteria.
inputData Specify the input data needed for the workunit.
product Specify the product, or source type, for the workunit.
varName[#] (where # is any number and # must start at 0) Specify the name of a workunit variable.
varValue[#] (where # is any number and # must start at 0) Specify the value of a workunit variable.
folderName[#] (where # is any number and # must start at 0) Specify the name of a folder, or related link.
folderKeyStr[#] (where # is any number and # must start at 0) Specify the value of a folder, or related link.

The result of a trigger call is in XML and is in this format:

<bpm-trigger-result workUnitNumber="" name="" eventType="">
     <return-code="[int value]" />
     <i18n-status-str="[string value]" />
     <message="[string value]" />
     <detail-message="[string value]" />
     <errorCode="[int value]" />
     <informationCode="[int value]" />
     <returnData="[string value]" />
     <returnMessage="[string value]" />
     <errorActivityName="[string value]" />
     <errorLog="[string value]" />
     <debugLog="[string value]" />
 </bpm-trigger-result>

In the return XML, only the workUnitNumber attribute and the return-code element are required. The return-code will be 0 and the workUnitNumber will be a positive value if the trigger was successful.

This is an example of the XML that can be returned:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
 <bpm-trigger-result workUnitNumber="1750">
     <return-code>0</return-code>
     <detail-message>Workunit 1750 released for processing</detail-message>
     <errorCode>0</errorCode>
 </bpm-trigger-result>