Executing a Workflow as a Job (REST API: POST)

This operation executes a workflow as a job. To execute a workflow as an API, see Executing a Workflow as an API.

For information on the Workflow Job mode, see Setting General Properties.

Request

Syntax

Send the request using either XML or JSON:

  • XML

    POST <webservice>/Workflow/{workflowName|uniqueGuid|workflowId}/Action/Execute?outputOnly={outputOnly} HTTP/1.1 Host: <host name> Accept: application/xml Authtoken: <authentication token> Content-type: application/xml <execute_workflow_template.xml>

  • JSON

    POST <webservice>/Workflow/{workflowName|uniqueGuid|workflowId}/Action/Execute?outputOnly={outputOnly} HTTP/1.1 Host: <host name> Accept: application/json Authtoken: <authentication token> Content-type: application/json <execute_workflow_template.json>

where <webservice> is the root path used to route the API requests to the Web Server.

For more information, see Available Web Services for REST API.

Request Parameters

Name

Description

Required

  • workflowName

  • uniqueGuid

  • workflowId

The name, globally unique ID (GUID), or ID of the workflow. If any of these values are not known, use the GET Workflow API to retrieve them.

Yes

outputOnly

The option to return the workflow output. In the CommCell console, this is the output in the Outputs tab in the Workflow Properties pane. The workflow output is returned in the response in either XML or JSON format. Use the outputFormat parameter in the request body to define the format of the workflow output.

Note: Before using the outputOnly parameter, go to the CommCell console and set the Start interactive session property to true. For instructions, see Setting General Properties.

Valid values are True/False.

No

Request Headers

Name

Description

Host

The host name of the web server.

Accept

The format of the response. Valid values are: application/xml or application/json.

Authtoken

The authentication token received after successfully logging on. For details on receiving an authentication token, see Authentication.

Content-type

The media type contained in the request body.

Request Body

Download the XML or JSON file required for this request: execute_workflow_template.xml or execute_workflow_template.json. The following table displays the parameters for the request body.

Parameter

Description

Element

Parent Element

outputFormat

The format of the workflow output if the outputOnly request parameter is true.

Valid values are:

  • 0, to format the workflow output as XML

  • 1, to format the workflow output as JSON

Workflow_StartWorkflow

workflow_level_input_variable

The value of the workflow level input needed to execute the workflow. Add an element for each input, for example:

<inputs>
<INPUT1>input_value</INPUT1>
<INPUT2>input_value</INPUT2>
<INPUT3>input_value</INPUT3>
<INPUTN>input_value</INPUTN>
</inputs>

where:

  • INPUT1 to INPUTN are the workflow level input variables

  • input_value is the value for the workflow level input variables defined as the element

inputs

options

clientName

The client name of the workflow engine. If the client name is not entered, the workflow executes using the default workflow engine.

To use the workflow engine with the latest deployed version of the workflow, use the clientId parameter.

client

Workflow_StartWorkflow

clientId

The option to use the workflow engine with the latest deployed version of the workflow.

Valid value is 0.

client

Workflow_StartWorkflow

Response

Response Parameters

Parameter

Description

Element

jobId

The system-generated ID assigned to the job.

Workflow_StartWorkflowResponse

processId

The system-generated ID assigned to the process.

Workflow_StartWorkflowResponse

output_str

The workflow output.

outputs

Examples

Sample Request
XML

This request executes a workflow named "Registration." The workflow uses four workflow level inputs.

POST <webservice>/Workflow/Registration/Action/Execute HTTP/1.1
 Host: client.mydomain.com
 Accept: application/xml
 Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
 0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
 8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
 40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
 68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
 3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
 Content-type: application/xml
 <Workflow_StartWorkflow>
   <options>
     <inputs>
       <F_NAME>J</F_NAME>
       <L_NAME>Doe</L_NAME>
       <COMPANY>My Company</COMPANY>
       <EMAIL_ADDR>jdoe@mycompany.com</EMAIL_ADDR> 
     </inputs>
   </options>
   <client>
     <clientName>client0001</clientName>
   </client>
 </Workflow_StartWorkflow>

This request executes a workflow named "Approval" and returns the workflow output in JSON format in the response. The workflow uses one workflow level input.

POST <webservice>/Workflow/Approval/Action/Execute?outputOnly=true HTTP/1.1
 Host: client.mydomain.com
 Accept: application/xml
 Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
 0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
 8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
 40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
 68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
 3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
 Content-type: application/xml
 <Workflow_StartWorkflow>
   <outputFormat>1</outputFormat>
   <options>
     <inputs>
       <EMAIL_ADDR>jdoe@mycompany.com</EMAIL_ADDR> 
     </inputs>
   </options>
   <client>
     <clientName>client0001</clientName>
   </client>
 </Workflow_StartWorkflow>
JSON

This request executes a workflow named "Registration." The workflow uses four workflow level inputs.

POST <webservice>/Workflow/Registration/Action/Execute HTTP/1.1
Host: client.mydomain.com
Accept: application/json
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/json
 {  "Workflow_StartWorkflow": {
   "options":{
       "inputs":{
         "F_NAME":"J",
         "L_NAME":"Doe",
         "COMPANY":"My Company",
         "EMAIL_ADDR":"jdoe@mycompany.com"
       }
     },
     "client":{
       "clientName":"client0001"
     }
   }
 }

This request executes a workflow named "Approval" and returns the workflow output in JSON format in the response. The workflow uses one workflow level input.

POST <webservice>/Workflow/Approval/Action/Execute?outputOnly=true HTTP/1.1
Host: client.mydomain.com
Accept: application/json
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/json
 {  "Workflow_StartWorkflow": {  "outputFormat":"1",  "options":{
       "inputs":{
         "EMAIL_ADDR":"jdoe@mycompany.com"
       }
     },
     "client":{
       "clientName":"client0001"
     }
   }
 }
Sample Response
XML

This is the response when the workflow is executed.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <Workflow_StartWorkflowResponse jobId="163017" processId="163017"/>

This is the response when the workflow is executed and the workflow output in XML format was requested.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <outputs><output_str class="java.lang.String">Your machine request was approved.</output_str></outputs>
JSON

This is the response when the workflow is executed.

{"jobId":"4548","processId":"4548"}

This is the response when the workflow is executed and the workflow output in JSON format was requested.

{"output_str":"Your machine request was approved."}

Loading...