通过调用 Business Automation Workflow REST API 来启动流程

Draft comment:
This topic is shared by BAW, CP4BA, CP4BASaaS. Last updated on 2025-01-20 10:38
Draft comment:
This topic was viewed 425 times since its publication
您可以通过调用 REST API 来启动流程和创建新流程实例。

准备工作

  • 您知道要启动的流程的模型名称和容器首字母缩略词。
  • 应用程序用户必须为已认证的用户,并且已获得授权才能启动流程实例。
注意: 返回对象列表的 REST API 调用,例如, GET /processesGET /user-tasks 可以包含查询参数,例如模型名称,容器名称或进程标识。 如果参数值指向不存在的对象(例如,由于流程标识包含拼写错误),那么不会抛出错误。 而是调用返回的 JSON 对象包含空列表。 有关 API 调用的信息,请参阅 工作流程 REST API

过程

  1. 调用 processes REST API ,并在调用中包含模型名称和容器首字母缩略词。
    例如,要启动属于首字母缩略词为 ORDMAN1 的 process app 的“订单管理”流程的实例,可以使用以下 REST API 调用:
    POST /bpm/processes?model=OrderManagement&container=ORDMAN1 
    
  2. 可选: 在调用的请求主体中,将流程启动所需的业务数据作为 JSON 对象中的输入参数传递。
    例如,如果“订单管理”流程需要订单号和客户名称才能启动,您可以传递以下 JSON 对象:
    ...
    {
       "input":[
          {
             "name":"orderNumber",
             "data":"5"
           },
           {
              "name":"customerName",
              "data":{
                 "firstName":"John",
                 "lastName":"Doe"
              }
           }
       ]
    }
  3. 如果希望调用返回有关新流程实例的其他信息,请在查询中包含 optional_parts 参数。
    可以返回新实例的数据和/或有效操作。
    例如,如果要返回“订单管理”流程的新实例的数据和有效操作,可以使用以下调用:
    POST /bpm/processes?model=OrderManagement&container=ORDMAN1&optional_parts=data,actions

结果

  • 启动流程的新实例。 根据在 REST 调用中包含的参数,将启动某个版本的实例:
    • 如果包含 version 和 branch_name 参数,或者仅包含 version 参数,那么将启动指定版本的实例。
    • 如果既不包含版本参数,也不包含 branch_name 参数,或者仅包含 branch_name 参数,那么将在回放服务器上启动指定或缺省分支的 TIP Snapshot 实例,或者在 Workflow Server 上启动缺省 Snapshot 实例。
  • 返回新流程实例对象。 如果在查询中包含 optional_parts 参数,那么此信息也会包含在返回的流程实例对象中。