Case Tracker

The current methods implemented for the case tracker in the ProcessMaker API designer are listed below:

Case Tracker:

NameDescriptionType Value
map_typeMap typeString"NONE", "PROCESSMAP", "STAGES" (unique values)
routing_historyRouting historyInteger0,1 (unique values)
messages_historyMessage historyInteger0,1 (unique values)
cto_uidCase tracker object UIDString"9541049475298f190420f51086854718” (String of 32 characters)
cto_type_obj*Object typeString"DYNAFORM", "INPUT_DOCUMENT", "OUTPUT_DOCUMENT" (unique values)
cto_uid_obj*Object UIDString"9541049475298f190420f51086854718” (String of 32 characters)
cto_conditionCase tracker object condition, the object is only available if the condition evaluates to trueString"@@YEAR==2014"
cto_positionPosition that specifies the order of deployment. Starts at 1.Integer1,2...
obj_uidObject UIDString"9541049475298f190420f51086854718” (String of 32 characters)
obj_titleObject titleString"Title..."
obj_descriptionObject descriptionString"Description..."
obj_typeObject typeString"DYNAFORM", "INPUT_DOCUMENT","OUTPUT_DOCUMENT" (unique values)

Note: cto_type_obj and cto_uid_obj are dependent variables, thus, if one of them is sent the other must be sent.

Get Case Tracker Properties: GET project/{prj_uid}/case-tracker/property

Gets the properties of a Case Tracker.

GET /api/1.0/{workspace}/project/{prj_uid}/case-tracker/property

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Result:

TypeDescription
arrayReturns an array of objects contaning data about the Case Tracker

Example:

Response

 200 (OK)
 Content-Type: application/json
 {
    "map_type": "PROCESSMAP",
    "routing_history": 0,
    "message_history": 1
 }

Update Case Tracker: PUT project/{prj_uid}/case-tracker/property

Updates a Case Tracker.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

PUT /api/1.0/{workspace}/project/{prj_uid}/case-tracker/property

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Optional Fields:

NameTypeDescription
map_typeStringMap type
routing_historyIntegerRouting history
messages_historyIntegerMessages history

Result:

TypeDescription
emptyNo return

Example:

Request

 Content-Type: application/json
 {
    "map_type": "NONE",
    "routing_history": 0,
    "message_history": 0
 }

Response

 200 (OK)

Case Tracker Objects List: GET project/{prj_uid}/case-tracker/objects

Gets a list of Case Tracker objects in a project.

GET /api/1.0/{workspace}/project/{prj_uid}/case-tracker/objects

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Result:

TypeDescription
arrayReturns an object array containing data about each Case Tracker object in the project.

Example:

Response

 200 (OK)
 Content-Type: application/json
 [
    {
       "cto_uid": "78926541452d4115c49de46083431983",
       "cto_type_obj": "DYNAFORM",
       "cto_uid_obj": "480515388526013e03f5323091406324",
       "cto_condition": "",
       "cto_position": 1,
       "obj_title": "My DynaForm1",
       "obj_description": "My DynaForm1 DESCRIPTION"
    },
    {
       "cto_uid": "54092543952d41151604923013637615",
       "cto_type_obj": "INPUT_DOCUMENT",
       "cto_uid_obj": "17796063752b32090a0e950049957998",
       "cto_condition": "",
       "cto_position": 2,
       "obj_title": "My InputDocument1",
       "obj_description": "My InputDocument1 DESCRIPTION"
    }
 ]

Available Case Tracker Objects: GET project/{prj_uid}/case-tracker/available-objects

Gets a list of the available Case Tracker objects in a project.

GET /api/1.0/{workspace}/project/{prj_uid}/case-tracker/available-objects

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Result:

TypeDescription
arrayReturns an object array contaning data about each object available for the project.

Example:

Response

 200 (OK)
 Content-Type: application/json
 [
    {
       "obj_uid": "172506336526157835e72e6060691417",
       "obj_title": "My DynaForm2",
       "obj_description": "My DynaForm2 DESCRIPTION",
       "obj_type": "DYNAFORM"
    },
    {
       "obj_uid": "86369594352602caa32c5c3004407686",
       "obj_title": "My OutputDocument1",
       "obj_description": "My OutputDocument1 DESCRIPTION",
       "obj_type": "OUTPUT_DOCUMENT"
    }
 ]

Get Case Tracker Object: GET project/{prj_uid}/case-tracker/object/{cto_uid}

Gets a specified Case Tracker object.

GET /api/1.0/{workspace}/project/{prj_uid}/case-tracker/object/{cto_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
cto_uidStringCase tracker object UID

Result:

TypeDescription
objectReturns an object containing the Case Tracker object data

Example:

Response

 200 (OK)
 Content-Type: application/json
 {
     "cto_uid": "54092543952d41151604923013637615",
     "cto_type_obj": "INPUT_DOCUMENT",
     "cto_uid_obj": "17796063752b32090a0e950049957998",
     "cto_condition": "",
     "cto_position": 2,
     "obj_title": "My InputDocument1",
     "obj_description": "My InputDocument1 DESCRIPTION"
 }

Assign Case Tracker Object: POST project/{prj_uid}/case-tracker/object

Assigns an object (Dynaform, Input Document, Output Document) to a case tracker.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

POST /api/1.0/{workspace}/project/{prj_uid}/case-tracker/object

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Optional Fields:

NameTypeDescription
cto_type_objStringIf cto_type_obj was sent, it is necessary to send cto_uid_obj
cto_uid_objStringIf cto_uid_obj was sent, it is necessary to send cto_type_obj
cto_conditionStringCase tracker condition
cto_positionStringPosition that specifies the order of deployment. Starts on 1.
obj_uidStringObject UID
obj_titleStringObject title
obj_descriptionStringObject description
obj_typeStringObject type

Result:

TypeDescription
objectReturns an object containing the Case Tracker Object data, plus "cto_uid"

Example:

Request

 Content-Type: application/json
 {
     "cto_type_obj": "OUTPUT_DOCUMENT",
     "cto_uid_obj": "61792009652aa1529305888088498275",
     "cto_condition": "",
     "cto_position": 5
 }

Response

 201 (Created)
 {
     "cto_uid": "64188005052d59b470fd692026506249",
     "cto_type_obj": "OUTPUT_DOCUMENT",
     "cto_uid_obj": "61792009652aa1529305888088498275",
     "cto_condition": "",
     "cto_position": 5
 }

Update Case Tracker Object: PUT project/{prj_uid}/case-tracker/object/{cto_uid}

Updates an object in a case tracker.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

PUT /api/1.0/{workspace}/project/{prj_uid}/case-tracker/object/{cto_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
cto_uidStringCase tracker object UID

Optional Fields:

NameTypeDescription
cto_type_objStringIf cto_type_obj was sent, it is necessary to send cto_uid_obj
cto_uid_objStringIf cto_uid_obj was sent, it is necessary to send cto_type_obj
cto_conditionStringCase tracker condition
cto_positionStringPosition that specifies the order of deployment. Starts on 1.
obj_uidStringObject UID
obj_titleStringObject title
obj_descriptionStringObject description
obj_typeStringObject type

Result:

TypeDescription
emptyNo return

Example:

Request

 Content-Type: application/json
 {
     "cto_type_obj": "OUTPUT_DOCUMENT",
     "cto_uid_obj": "61792009652aa1529305888088498275",
     "cto_condition": "@@YEAR == 2014",
     "cto_position": 5
 }

Response

  200 (OK)

Delete Case Tracker Object: DELETE project/{prj_uid}/case-tracker/object/{cto_uid}

Deletes a Case Tracker object.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

DELETE /api/1.0/{workspace}/project/{prj_uid}/case-tracker/object/{cto_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
cto_uidStringCase tracker object UID

Result:

TypeDescription
emptyNo return

Example:

Response

 200 (OK)