Kickstart4process-App

Kickstart4process app

Introduction

This topic provides you with general information about the Kickstart4process app.

About the Kickstart4process API

In this documentation, you will learn how to use the programming interface of the Kickstart4process app for your own development work.
This documentation is designed for developers of applications that are to be run in the d.ecs architecture system environment.

The Kickstart4process app is an application that you can use to create processes.

JSON objects, URLs, and query parameters can be enhanced at any time without the API becoming invalid. Only the properties, objects, and parameters described in this documentation are approved for API programming.

Scope of functions in the Kickstart4process app

The Kickstart4process app is an application that you can use to create processes in a simple way. You can create processes by selecting activities and customize them using forms and various control elements.

The Kickstart4process app allows you to automate business processes. You can allow other users to participate in processes in the form of tasks or perform automated service activities. You can also start processes based on saved documents.

To make your work easier while creating a process, you can reuse values from one activity in a subsequent activity. The use of variable values such as these enables you to design your processes dynamically and, for instance, specify the processor of a task with flexibility.

Using the API functions

Below you will learn how to use the interface of the Kickstart4process API for your own development work.

Providing an external service

To add your own elements in Kickstart4process, an app on your root resource can provide the link relation processServices. This link relation should appear as follows:

{
    "_links": {
        "processServices": {
            "href": "/someapp/someurl/i/like/as/dev/"
        }
    }
}


The resource is called by kickstart4process with the header Accept-Language so that the external element can return localized descriptions.

Important

Processing and responding to this query is time-critical and should therefore be performed as quickly as possible. The query of the provided services by the processing apps is performed with a small timeout.

The element body returned in JSON format must be structured as follows:

{
	"services": {
		"ocr": {
			"name": "OCR recognition",
			"symbolUrl": "/inbound/img/ocr.png",
		    "endpoint": "/inbound/service/ocr",
            "asynchronous": true,
			"inputVariables": {
				"fileFormat": {
					"label": "file format",
					"type": "String!",
					"options": [
                		{"value": "pdf", "display": "PDF"},
                		{"value": "txt", "display": "text file"}
            		]
				},
				"pageSize": {
					"label": "number of pages",
					"type": "Number"
				},
				"inputFile": {
					"label": "file to be read",
					"type": "String"
				},
				"dmsObject": {
					"label": "DMS link to d.3 document",
					"type": "DmsObject"
				},
				"fast": {
					"label": "extra fast",
					"type": "String",
					"options": [
                		{"value": "true", "display": "yes"},
                		{"value": "false", "display": "no"}
            		]
				},
				"editor": {
					"label": "editor",
					"type": "Identity"
				},
			},
			"outputVariables": {
				"outputFile": {
					"label": "created file",
					"type": "String"
				},
				"fileSize": {
					"label": "file size",
					"type": "Number"
				}
			}
		}
	}
}

Description of the properties

  • Key for the elements: A unique identifier for the service. In this example, “ocr”. Maximum of 255 characters in length.
  • name: The user-defined element in the Kickstart4process app is displayed under this name. Maximum of 50 characters in length.
  • symbolUrl: You can use this URL to choose an icon to be displayed for this user-defined element in the process modeler. (Optional. If you do not enter a URL, the default icon for service activities is used.)
  • endpoint: URL with which the service accepts requests.
  • asynchronous: true if the service operates synchronously; otherwise, false.
  • inputVariables
    • key: Unique key for the variables in the following format: [A-Za-z][A-Za-z0-9_]*. Maximum of 255 characters in length.
    • label: Display name for the variables in the Kickstart4process app. Maximum of 30 characters in length.
    • type: Data type of the variables. Possible values: String, Number, Identity, DmsObject (in terms of the data types for the process app, each are only individual values).
    • options: Array of selectable elements, each with a value (value) and display name (display, max. 100 characters long). Only with the data types String, Number and Identity. The value (value) must not be empty and can be 500 characters at maximum. 
  • outputVariables
    • key: Unique key for the variables in the following format: [A-Za-z][A-Za-z0-9_]*. Maximum of 90 characters in length.
    • label: Display name for the variables in the Kickstart4process app. Maximum of 30 characters in length.
    • type: Data type of the variables. Possible values: String, Number, Identity (in terms of the data types for the process app, each are only individual values).

Note

To create processes easily for users in the Kickstart4process app, the number of input and output variables is limited to 6 variables each.

Specifying the key

The key for the elements must conform to a specific form. It must contain only the following characters: a-z, A-Z, 0-9, _ (example: “ocr_123”).

Important

If the key contains invalid characters, the service is ignored and is not displayed in the Kickstart4process app.

Changing the order of parameters

The service configuration in the Kickstart4process app lists the input parameters in the order returned in the body (JSON format). You can control the order of the import parameters on the Kickstart4process user interface by changing the order in the body.

Using caching

You can use the response header Cache-Control: max-age=<seconds> to control how long the service description can be cached.