# API接口说明 {docsify-ignore-all}
>该文档主要是对工作流引擎提供的API接口进行简要说明

## 缩略语和术语定义
### 缩略语
本文档所涉及的缩略语解释请参见下表

| 缩略语   | 英文全称                          | 中文      |
|-------|-------------------------------|---------|
| WFMC  | Workflow Management Coalition | 工作流管理联盟 |
| BPM   | Business Process Management   | 业务流程管理  |

### 术语
本文档所涉及的术语解释请参见下表

| 名词  | 解释                                                                                                                                                        |
|-----|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| 工作流 | 工作流（Work Flow）就是工作流程的计算模型，<br>即将工作流程中的工作如何前后组织在一起的逻辑<br>和规则在计算机中以恰当的模型进行表示并对其实<br>施计算。简单地说，工作流就是一系列相互衔接<br>自动进行的业务活动或任务。我们可以将整个业务<br>过程看作是一条河，其中流过的就是工作流。 |

### 核心入口类
源代码位置：horizon-workflow-pub开头的jar包内<br>
实例操作和管理操作工厂类: com.horizon.wf.WorkflowFactory<br>
实例操作接口类：com.horizon.wf.IWorkflowOperator<br>
实例管理接口类: com.horizon.wf.IWorkflowManager<br>
实例操作传入参数类：com.horizon.wf.bean.WorkParaBean<br>
实例操作返回接口类：com.horizon.wf.IWorkResult<br>
实例操作实现类：com.horizon.wf.api.WorkflowOperator<br>
实例管理实现类: com.horizon.wf.api.WorkflowManager<br>
实例操作返回实现类：com.horizon.wf.bean.WorkResultBean

![流程操作类图](../assets/img/api/operator.png)

### 实例操作调用说明
创建实例，打开实例，关闭实例，获取实例流转历史记录；
流转操作：启动流程，提交，增加协办、协办提交，内部提交，自由提交，会签提交，退回提交，会签，前加签，加签，减签，退回，任意退回，内部退回，补发，分支补发，拿回，暂存，跳转，转办，撤办，暂停，替换办理人，终止，阅知，已阅，催办，启动子流程。
以上所有操作都是通过WorkflowOperator类实现。总体调用代码结构如下：
```
    IWorkflowOperator opr = WorkflowFactory.getWorkflowOperator();
    //操作传入参数对象
    WorkParaBean inparam = new WorkParaBean();
    //根据执行操作不同进行赋值
    //创建实例方法
    IWorkResult result = opr.create(inparam);
    //打开实例方法
	IWorkResult result = opr.open(inparam);
    //关闭实例方法
	IWorkResult result=opr.close(“workid”,”trackid”,”userid”);
    //流程实例操作的接口方法
    IWorkResult result = opr.operator(inparam);	
```
至于具体传入参数通过WorkParaBean类进行封装，下面提到的参数说明指的都是WorkParaBean类需要设置的参数。
注：批量操作可以调用operatorsTransactionalConsistency方法和operators方法，前者可以保证批量数据一致性，后者不保证数据一致性。

### 实例管理操作调用说明
管理操作包含:工作移交,接收工作移交,激活实例路径,恢复实例到指定版本,暂停/恢复实例,结束实例,替换办理人,删除实例,更新实例定义数据,查询待办/已办/待阅/已阅等
以上所有操作都是通过WorkflowManager类实现。总体调用代码结构如下：
```
    //获取操作实现类
    IWorkflowManager mgr = WorkflowFactory.getWorkflowManager();
```

