The activity_input_data member is optional and can be omitted from the REST API request, if the default settings for the options settable in the structure shall be used and no further Universal Object instructions shall be added to the process by the activity (e.g. if all the object instructions have been added to the process by previous activities).
If it is specified, it has to contain a JSON object, containing option settings and/or Universal Object instruction definitions in its members.
If the value of the option complete is true (default), the activity will be completed, if it is false, the activity will be interrupted after a successful submission.
If the value of the option ignore_missing_checks is true (default), the submission of the activity will not report an error if some of the object instruction definitions in the process have not been checked in the dialog. If the check feature is enabled for the activity (docu_enable_edit_save = 'Y' or docu_enable_check_column = 'Y' in the activity configuration) and the value of ignore_missing_checks is false, the submission of the activity will report an error if some of the object instruction definitions in the process have not been checked by a user in the ProcMan dialog. This option does not affect the internal checks performed on the REST API submission. These checks are performed anyway. It only gives the possibility to force that someone checks it also in the dialog.
The option ticket can contain new values for the ticket process parameters (defined in the process definition admin dialog). The value of this option must be a JSON object containing the parameter IDs as member names and the new values which shall be set for the parameters. For checking the values are applied the same rules like in the dialog.
The option memo can contain a memo text, which shall be added to the process memos. It is mandator only if it is required by the activity.
The option objects can contain an array of object manipulation instructions. It is not mandatory, so it can be omitted from the request. The instructions specified here do not replace the instructions already defined in the process (defined in previous or this activities), but they are applied incrementally on them (e.g. already defined new/change/delete instructions can be removed, or further new/change/delete instructions can be added to them).
Each item in the array in the objects option has to be a JSON object. It must contain a member instruction the value of which has to be one of remove, new, change, or delete. The instruction remove removes a previously defined new/change/delete object manipulation instruction from the process. The instructions new, change and delete add a new/change/delete object manipulation instruction to the process. Further each JSON object can contain the members key and/or object. The value of the member key has to be a JSON object, containing the members system and id. The member system can be omitted, if process type does not support it, otherwise it has to contain the system of the object. The member id has to contain the id of the object. The value of the member object has to be a JSON object, having the object key and data process parameters (specified in the process definition) as key and the requested values of these parameters as values. Not all object process parameters must be necessarily specified (e.g. for the instruction change only parameters which shall be changed, or for the instruction new only parameters which are mandatory must be specified). For the instructions remove and delete the member key is mandatory. Fort the instruction change the object key must be specified either in the member key or in the key object parameters in the member object. The data object parameters which shall be changed have to be specified in the member object in this case. For the instruction new the key and data object parameters have to be specified in the member object. The only meaningful case to use the member key for the instruction new is, when the key of the object previously added as a new object shall be changed. In this case the member key has to contain the current key of the object in the process and the key object parameters in the member object the new key.
Example of a request:
Automatic activities can also be triggered via the REST API. As such activities do not expect any input, any try to pass data to the activities in the activity_input_data member of the REST API request will be ignored. The activity_output_data member of the REST API response will always be empty for such activities as well.
A response on a successful REST API activity submission contains in its actvitiy_output_data member a JSON object with a member objects, containing a JSON array of objects in the process. The process objects in the array are represented by a JSON object containing the Universal Object Module instruction (new, change or delete) and the object key containing the sysem and id.
Example of a response:
Since ProcMan 5.0.4 there is a possibility to start Universal Object activities via REST API. For more information about ProcMan’s REST API start in your Browser https://<procman_dns>:<procman_port>/hwm_rest_api.php (replace <procman_dns> and <procman_port> so they match your ProcMan installation) and see the description of the partial REST API instructions.
Activities can be started using the submit_activity REST API instruction. The Universal Object submissions expect a specific structure of the data passed in the member activity_input_data of the parameter data in the REST API submit_activity request. The structure of a response on such a request contains a member activity_output_data, which is also Universal Object Module specific.