aiM18 Developer Center aiM18 Developer Center
DOC Home
  • Platform

    • Overview
    • Frontend Framework
    • Backend Framework
    • EBI Development
    • JSF Components
    • BPM Extension Interface
    • Telescope Extension Interface
    • Mobile App Setup
  • ERP

    • ERP EJB Interfaces
    • ERP XML Config Files
    • ERP Decorators (Frontend Interfaces)
  • Tutorial

    • Setup Development Environment
    • Sample App
  • Platform

    • Authentication
    • Common JSON Objects
    • Core Services
    • EBI Services
  • Enterprise Resource Planning
  • Human Capital Management
  • Business Process Management
  • Schedule Management
  • Document Management
  • Tutorial

    • Interacting with aiM18 via webservices
Tutorial
GitHub (opens new window)
DOC Home
  • Platform

    • Overview
    • Frontend Framework
    • Backend Framework
    • EBI Development
    • JSF Components
    • BPM Extension Interface
    • Telescope Extension Interface
    • Mobile App Setup
  • ERP

    • ERP EJB Interfaces
    • ERP XML Config Files
    • ERP Decorators (Frontend Interfaces)
  • Tutorial

    • Setup Development Environment
    • Sample App
  • Platform

    • Authentication
    • Common JSON Objects
    • Core Services
    • EBI Services
  • Enterprise Resource Planning
  • Human Capital Management
  • Business Process Management
  • Schedule Management
  • Document Management
  • Tutorial

    • Interacting with aiM18 via webservices
Tutorial
GitHub (opens new window)
  • base

    • Authentication
    • Common JSON Objects
    • Core Services
    • Enduser-driven Business Intelligence
    • Error Code Description
  • Business Process Management

    • Business Process Management
      • Historical Workflow
        • HTTP Request
        • Parameters
        • Available Filters in
        • Result
      • Create Workflow
        • HTTP Request
        • Parameters
        • Result
      • My Tasks
        • HTTP Request
        • Parameters
        • Available Filters in
        • Result
      • Workflow Graph
        • HTTP Request
        • Parameters
        • Result
      • Select next node
        • HTTP Request
        • Parameters
        • Result
      • Terminate Workflow
        • HTTP Request
        • Parameters
        • Result
      • Repair Workflow
        • HTTP Request
        • Parameters
        • Result
      • Recalculate Workflow
        • HTTP Request
        • Parameters
        • Result
      • Pass Action
        • HTTP Request
        • Parameters
        • Result
      • Pass Action(Select next)
        • HTTP Request
        • Parameters
        • Result
      • Reject Action
        • HTTP Request
        • Parameters
        • Result
      • Workflow Timeline
        • HTTP Request
        • Parameters
        • Result
      • Workflow Snapshot
        • HTTP Request
        • Parameters
        • Result
      • Workflow Participant
        • HTTP Request
        • Parameters
        • Result
      • Add Comment
        • HTTP Request
        • Parameters
        • Result
      • Reverse to Creator Action
        • HTTP Request
        • Parameters
        • Result
      • Reverse to Action
        • HTTP Request
        • Parameters
        • Result
      • Redo Action
        • HTTP Request
        • Parameters
        • Result
      • Add Approver Action
        • HTTP Request
        • Parameters
        • Result
      • Change Approver Action
        • HTTP Request
        • Parameters
        • Result
  • Schedule Management

    • Schedule Management
  • Document Management System

    • Document Management System
  • Enterprise Resource Planning

    • README for ERP
    • Master Data
    • Sales
    • Purchase
    • Stock
    • Consignment
    • Subcontract
    • Production
    • Retail
    • Retail Stored Value
    • Warehouse Management Solution
    • Retail and Third-Party Logistics
    • Trading and Finance
    • Accounting
    • Accounting EBI
  • Human Capital Management

    • README for HCM
    • Attendance Management
    • Hong Kong Labour Law Compliance
    • Leave Management
    • Organization And Personnel Management
    • Payroll Management
    • PRC Labour Law Compliance
    • Appraisal Management
    • Attendance
    • Casual Labour
    • Personnel
    • Leave
    • Medical Claim Management
    • Payroll
    • Recruitment
    • Training & Sponsorship
  • Web Services
  • Business Process Management
Multiable
2024-02-23
目录

Business Process Management

Version: 1.2 | Release Date: 30/6/2023

# Historical Workflow

Query the user's Historical Workflows based on the incoming filtering options.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/tracking?sortBy=id%20DESC&startRow=5&fetchSize=5")
  .get()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("options", "{\"module\":\"employee\",\"keyWord\":\"ha\"}")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

The API returns JSON structured like this:

{
    "totalSize": 442,
    "size": 2,
    "values": [
        {
            "apvModule": "employee", //Workflow associated Module
            "code": "I-143543699", //Workflow Instance Code
            "wfTpltId": 161,      //Workflow Template Id
            "apvRecordCode": "HavidAA", //Workflow associated Document Code
            "apvRecordId": 1130, //Workflow associated Document Id
            "startTime": "1900-01-01 00:00:00", //Workflow start time
            "endTime": "1900-01-01 00:00:00", //Workflow end time
            "wfId": 997   //Workflow instance id
        },
        {
            "summary": "Created by :B Code: JA39 Description:Havid",
            "apvModule": "employee",
            "code": "I-153113818",
            "wfTpltId": 162,
            "apvRecordCode": "JA39",
            "apvRecordId": 1129,
            "startTime": "1900-01-01 00:00:00",
            "endTime": "1900-01-01 00:00:00",
            "wfId": 996
        }
    ]
}

# HTTP Request

GET http://[server]/jsf/rfws/bpm/wfs/tracking?sortBy=[sortBy]&startRow=[startRow]&fetchSize=[fetchSize]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
options string(Header) JSON String. Contains all possible filter parameters
sortBy string(Query) Order By Field. Can be one of wfinstance(table) columns
startRow int(Query) Start index for this fetch
fetchSize int(Query) Fetch size

# Available Filters in options

Name Type Description
module string Document Module
keyWord string Keyword Searching Coverage:
  • Workflow Description
  • Workflow Summary
insState string Available Workflow Status:
  • starting
  • ended
  • terminate
  • rejected
wfType int Workflow Type Id
wfTpltId int Workflow Template Id
recodeCode string Document Code
startFrom string Workflow Start Date range from
startTo string Workflow Start Date range to
endFrom string Workflow End Date range from
endTo string Workflow End Date range to

# Result

Type Location(error_id) Description
success Body Workflows List as JSON format

# Create Workflow

Submit a document and system will create a new workflow for this document.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/submit/employee?id=1124")
  .post()
  .addHeader("authorization", "Bearer MjZhZGNjMDctODVhZS00MmE0LWI3ZmEtNzRhMTQwZGZiNTY0")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

POST http://[server]/jsf/rfws/bpm/submit/[module]?id=[id]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
module string(Path) Document module, such as 'employee'
id int(Query) Document id, such as 1124

# Result

Type Location(error_id) Description
success Body New created workflow id
fail Header(304) Exists other opening workflow
fail Header(303) Flag named "needapv" is disabled in [Approval Setup]
fail Header(313) Cannot found available workflow template in [Approval Setup]
fail Header(314) Founded workflow template in [Approval Setup] cannot be used now (expired or change Module)

# My Tasks

Query the user's todo tasks.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/task/filter?sortBy=id%20DESC&startRow=5&fetchSize=5")
  .get()
  .addHeader("authorization", "Bearer OTUwODcyNWYtNWJkMy00NGIwLWI4ZTUtZjRhYTkzNjg2NTM3")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("options", "{\"module\":\"employee\"}")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

The API returns JSON structured like this:

{
    "totalSize": 283,
    "size": 2,
    "values": [
        {
	    "atvtyId": "2", //Workflow node Id
            "apvModule": "employee", //Workflow associated Module
            "wfTpltId": 161, //Workflow Template Id
            "apvRecordCode": "HavidCC", //Workflow associated Document Code
            "atvtyName": "User Task", //Workflow node name
            "wfInstanceId": 999, //Workflow instance id
            "apvViewCode": "employee", //Restricted View
            "apvRecordId": 1132, //Workflow associated Document Id
            "isAfterDue": true, //time out or not
            "atvtyKey": "UserTask_1q2ixpn", //Workflow node key
            "insState": "starting", //Workflow status
            "createDate": "2017-06-14 14:47:09" //Workflow create time,
	    "createUid": "11", //Workflow Creator Id
	    "createUdesc": "Jacky", //Workflow Creator Description
	    "beId": "1122", //Workflow associated Business Entity
	    "recordLink": "http://[serverip]/jsf/app.faces#employee/view/module/employee/c2bc204b?id=1" //Workflow associated Document URL,
	    "apvViewCodeLimited": "" // Restricted View Code,
	    "moduleName": "Employee" // Workflow associated Module Description
        },
        {
	    "atvtyId": "3", //Workflow node Id
            "apvModule": "employee",
            "wfTpltId": 161,
            "apvRecordCode": "HavidCC",
            "atvtyName": "User Task",
            "wfInstanceId": 999,
            "apvViewCode": "employee",
            "apvRecordId": 1132,
            "atvtyKey": "UserTask_0p9w708",
            "insState": "starting",
            "createDate": "2017-06-14 14:47:09",
	    "createUid": "11", 
	    "createUdesc": "Jacky", 
	    "beId": "1122",
	    "recordLink": "http://[serverip]/jsf/app.faces#employee/view/module/employee/c2bc204b?id=1"
	    "apvViewCodeLimited": "",
	    "moduleName": "Employee"
        }
    ]
}

# HTTP Request

GET http://[server]/jsf/rfws/bpm/task/filter??sortBy=[sortBy]&startRow=[startRow]&fetchSize=[fetchSize]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
options string(Header) JSON String. Contains all possible filter parameters
sortBy string(Query) Order By Field. Can be one of wfinstance(table) columns.
startRow int(Query) Start index for this fetch
fetchSize int(Query) Fetch size

# Available Filters in options

Name Type Description
module string Document Module
wfType int Workflow Type Id
wfTpltId int Workflow Template Id
wfInstanceId int Workflow Id
recodeCode string Document Code
keyWord string Keyword Searching Coverage:
  • Workflow Description
  • Workflow Summary
days int From the task was created, the number of days
dueType string The task time out or not. One of 'afterDue', 'beforeDue'. Empty means 'All'.

# Result

Type Location(error_id) Description
success Body Task List as JSON format

# Workflow Graph

Get the workflow graph link.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/graph/999")
  .get()
  .addHeader("authorization", "Bearer NjQ3ZjMyNjYtYWYwYy00ZmE0LWI1ZDAtNGU1MDg3YTAxMzYz")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

GET http://[server]/jsf/rfws/bpm/wfs/graph/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id

# Result

Type Location(error_id) Description
success Body redirect to graph link

# Select next node

Query the workflow template node which supports selecting next node directly.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/tplt/userEoxGateway/162")
  .get()
  .addHeader("authorization", "Bearer NjQ3ZjMyNjYtYWYwYy00ZmE0LWI1ZDAtNGU1MDg3YTAxMzYz")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

The API returns JSON structured like this:

{
    "UserTask_1txbhvu": "{\"UserTask_1igpmls\":\"To Node A\",\"EndEvent_0w1fhfw\":\"to End\",\"UserTask_17a00dk\":\"To Node B\"}"
}

# HTTP Request

GET http://[server]/jsf/rfws/bpm/tplt/userEoxGateway/[wfTpltId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfTpltId int(Path) Workflow Template Id

# Result

Type Location(error_id) Description
success Body All the node keys which support directly go to next

# Terminate Workflow

Terminate a specific workflow.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/terminate/999")
  .put(null)
  .addHeader("authorization", "Bearer NjQ3ZjMyNjYtYWYwYy00ZmE0LWI1ZDAtNGU1MDg3YTAxMzYz")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://[server]/jsf/rfws/bpm/wfs/terminate/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id

# Result

Type Location(error_id) Description
success Body HTTP 200

# Repair Workflow

Resynchronize workflow status to abnormal record.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/repair/999")
  .put(null)
  .addHeader("authorization", "Bearer NjQ3ZjMyNjYtYWYwYy00ZmE0LWI1ZDAtNGU1MDg3YTAxMzYz")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://[server]/jsf/rfws/bpm/wfs/repair/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id

# Result

Type Location(error_id) Description
success Body HTTP 200

# Recalculate Workflow

Recalculate all outstanding workflow participants according to Global Setup

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/recalcpator")
  .put(null)
  .addHeader("authorization", "Bearer NjQ3ZjMyNjYtYWYwYy00ZmE0LWI1ZDAtNGU1MDg3YTAxMzYz")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://[server]/jsf/rfws/bpm/wfs/recalcpator

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18

# Result

Type Location(error_id) Description
success Body HTTP 200

# Pass Action

User perform pass action to one node.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/passAtvty/1009")
  .put(null)
  .addHeader("authorization", "Bearer MGRhY2NhMzItNDkxOC00NmU0LTkyZGItMWNjOWRjZmM2ZTQ1")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("atvtyid", "2")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/passAtvty/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Header) Workflow Node Id

# Result

Type Location(error_id) Description
success Body HTTP 200

# Pass Action(Select next)

User perform pass action and choose next.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/passAtvtyWithTarget/1010")
  .put(null)
  .addHeader("authorization", "Bearer NDgwYWMxZGItYjBjYS00ZmQwLTk3NzQtODY4MjMzNDFmNGI4")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("atvtyid", "4")
  .addHeader("targetatvtykey", "UserTask_17a00dk")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/passAtvtyWithTarget/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Header) Workflow Node Id
targetatvtykey string(Header) the Next Node to go

# Result

Type Location(error_id) Description
success Body HTTP 200

# Reject Action

User perform reject action to one node.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/rejectAtvty/1009")
  .put(null)
  .addHeader("authorization", "Bearer MGRhY2NhMzItNDkxOC00NmU0LTkyZGItMWNjOWRjZmM2ZTQ1")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("atvtyid", "2")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/rejectAtvty/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Header) Workflow Node Id

# Result

Type Location(error_id) Description
success Body HTTP 200

# Workflow Timeline

Query workflow timeline.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/loadWfLog/1009")
  .get()
  .addHeader("authorization", "Bearer MGRhY2NhMzItNDkxOC00NmU0LTkyZGItMWNjOWRjZmM2ZTQ1")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

The API returns JSON structured like this:

[
    {
        "atvtyKey": "UserTask_1txbhvu",
        "atvtyName": "Node A",
        "caseCode": "I-121142627",
        "caseDesc": "",
        "info": "wf.Starting",
        "infoType": "event",
        "link": "",
        "time": 1498104928000,
        "user": {
            "id": 2,
            "code": "B",
            "desc": "Englishtest3"
        }
    },
    {
        "atvtyKey": "UserTask_016hspg",
        "atvtyName": "Node B",
        "caseCode": "I-121142627",
        "caseDesc": "",
        "info": "wf.pass",
        "infoType": "action",
        "link": "",
        "time": 1498104928000,
        "user": {
            "id": 2,
            "code": "B",
            "desc": "Englishtest3"
        }
    }
]

# HTTP Request

GET http://127.0.0.1:8080/jsf/rfws/bpm/loadWfLog/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id

# Result

Type Location(error_id) Description
success Body HTTP 200

# Workflow Snapshot

Query workflow node status.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/snapshot/1009")
  .get()
  .addHeader("authorization", "Bearer MGRhY2NhMzItNDkxOC00NmU0LTkyZGItMWNjOWRjZmM2ZTQ1")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

The API returns JSON structured like this:

{
    "size": 3,
    "values": [
        {
            "atvtyId": "1",
            "atvtyName": "Node A",
            "atvtyKey": "StartEvent_1cf0uyy",
            "isEnd": true
        },
        {
            "atvtyId": "2",
            "atvtyName": "Node B",
            "atvtyKey": "UserTask_016hspg",
            "isEnd": true
        }
    ]
}

# HTTP Request

GET http://127.0.0.1:8080/jsf/rfws/bpm/wfs/snapshot/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id

# Result

Type Location(error_id) Description
success Body Workflow Node status info as JSON array

# Workflow Participant

Query workflow node participant (include history & todo).

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/wfs/handlerInfo/1009")
  .get()
  .addHeader("authorization", "Bearer MGRhY2NhMzItNDkxOC00NmU0LTkyZGItMWNjOWRjZmM2ZTQ1")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

The API returns JSON structured like this:

{
    "size": 2,
    "values": [
        {
            "code": "B",  //user code 
            "atvtyKey": "UserTask_15hry6g",
            "type": "done", //'done' means the user have perform some action the node(reference to info)
            "userId": 2,
            "desc": "Englishtest3",
            "info": "wf.pass",
            "logTime": "2017-06-22 14:41:16"
        },
        {
            "code": "B",
            "atvtyKey": "UserTask_1txbhvu",
            "type": "todo",//'todo' means the user is the next participant
            "userId": 2,
            "desc": "Englishtest3",
            "logTime": "2017-06-22 14:41:29"
        }
    ]
}

# HTTP Request

GET http://127.0.0.1:8080/jsf/rfws/bpm/wfs/handlerInfo/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id

# Result

Type Location(error_id) Description
success Body Workflow Node participant info as JSON array

# Add Comment

Add comment to whole workflow or specical node.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/addWfComment/1011")
  .post(null)
  .addHeader("authorization", "Bearer ODQxYzRiZjMtOGE5YS00OGJhLWEzM2ItZTYxNGRlZTA5ZGIw")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("comment", "this is a comment")
  .addHeader("inviteusers", "40,50,51,")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

POST http://127.0.0.1:8080/jsf/rfws/bpm/addWfComment/[wfInstanceId]?atvtyKey=[atvtyKey]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyKey string(Query) Workflow Node Key
comment string(Header) Comment content
inviteusers string(Header) Users Id list which involved in this comment

# Result

Type Location(error_id) Description
success Body HTTP 200

# Reverse to Creator Action

User perform reverseToStart action.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/reverseToStart/1011")
  .put(null)
  .addHeader("authorization", "Bearer NTE4NTIwMDItZGJlZC00MzE5LTgwMjEtOGYxMGEzYTc1ODBi")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("atvtyid", "2")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/reverseToStart/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Header) Workflow Node Id

# Result

Type Location(error_id) Description
success Body HTTP 200

# Reverse to Action

User perform reverseTo action

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/reverseAtvty/1012")
  .put(null)
  .addHeader("authorization", "Bearer NzMyYjUxZTMtOTRiYi00ODk2LThkYjMtYzM2N2EwNjRjZWMx")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("atvtyid", "4")
  .addHeader("targetatvtykey", "UserTask_016hspg")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/reverseToStart/[wfInstanceId]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Header) Workflow Node Id
targetatvtykey string(Header) Workflow Node which reversed to

# Result

Type Location(error_id) Description
success Body HTTP 200

# Redo Action

User perform redo action.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/redoAtvty/1012/UserTask_016hspg")
  .put(null)
  .addHeader("authorization", "Bearer NzMyYjUxZTMtOTRiYi00ODk2LThkYjMtYzM2N2EwNjRjZWMx")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .addHeader("postman-token", "7b6603bd-d6a0-9970-e273-3ec38c1ac374")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/redoAtvty/[wfInstanceId]/[atvtyKey]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyKey string(Path) Workflow Node which want to redo

# Result

Type Location(error_id) Description
success Body HTTP 200

# Add Approver Action

User perform addapprover action

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/addApprover/1013/4?user=50&user=51")
  .put(null)
  .addHeader("authorization", "Bearer OGFiZmU2ZTktMzYzMS00NjIwLWJhNGYtYWU2OGQyNTZhMmNi")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/addApprover/[wfInstanceId]/[atvtyId]?user=[target]&user=[target]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Path) Workflow Node Id
user string(Query) Target User

# Result

Type Location(error_id) Description
success Body HTTP 200

# Change Approver Action

User perform addapprover action.

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://127.0.0.1:8080/jsf/rfws/bpm/assignApprover/1013/4?user=77")
  .put(null)
  .addHeader("authorization", "Bearer OGFiZmU2ZTktMzYzMS00NjIwLWJhNGYtYWU2OGQyNTZhMmNi")
  .addHeader("client_id", "C-SGF2aWQncyBhcHBsaWNhdGlvbjIwMTctMDItMTAxNjc=")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

# HTTP Request

PUT http://127.0.0.1:8080/jsf/rfws/bpm/assignApprover/[wfInstanceId]/[atvtyId]?user=[target]

# Parameters

Name Type Description
authorization string(Header) Required. Access Token obtained via Oauth2
client_id string(Header) Required. When registered in [OAuth Applications], generated by the aiM18
wfInstanceId int(Path) Workflow Instance Id
atvtyId string(Path) Workflow Node Id
user string(Query) Target User

# Result

Type Location(error_id) Description
success Body HTTP 200
Last Updated: 2025/05/13, 07:58:58
Error Code Description
Schedule Management

← Error Code Description Schedule Management→

Theme by Vdoing | Copyright © 1990-2025 Multiable | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式