Working with Process Center through REST

The Process Center is a server which maintains artifacts on behalf of the BPM environment. It is intended to be interacted with through the Web based Process Designer. When we think about this for a moment, we will realize that the Process Designer browser will be making REST calls to the Process Center to get work done. Does this mean that we can write REST applications that make the same calls as those made by Process Designer in order to achieve similar tasks through our own applications or scripting? The short answer is possibly. IBM has not documented nor exposed these REST APIs. What that means is that if we do attempt to make similar REST APIs we are on our own. We can't ask IBM for support nor do we have a leg to stand on should something go wrong. With that said, let us look at the protocols through reverse engineering and see what we can learn.

At a high level, we can open up Process Designer in a chrome browser, perform a task and look at the browser's transmissions and make good assumptions as to what may have been going on. From there, we can test making similar calls through tools such as Postman and see if the results are as we expected. We can then write down what we have learned by experimentation and build on each other's discoveries.

To understand the details of the REST requests, it may help if you understand the content type known as multipart/form-data. See:

Managed Assets

A managed asset is a file added to a Process App or toolkit.

Creating a managed asset

We can create a managed asset within a container.

POST /rest/bpm/wle/pd/v1/managedAsset?containerRef=<BranchId>

A BranchId is an identifier for a branch. We can retrieve the branches of a project using the Get Project Branches API such as:

/rest/bpm/wle/v1/project/{projectId}/branches

and we can obtain the projectId using APIs to list process apps or toolkits.

The REST request Content-Type must be a multipart/form-data.

Form fields:

Name Description
asset A file to be uploaded
assetType WEB or SERVER
description The description to be associated with the asset
localLastMod Unknown

The response is:

{
   data: {
      assetId: "61.{UUID}",
      fileSize: {num},
      localLastMod: {num},
      tipRef: "2064.{UUID}"
   },
   status: "{num}"
}

Revision #1
Created 2 years ago by Admin
Updated 2 years ago by Admin