💦 外部访问
## [一] 单点登录
---
### 1、流程图:

### 2、实现步骤:
#### 2.1、Step1:第三方使用SHA加密生成Token:
|参数名|参数介绍|
|-|-|-|
|secret|约定的密钥(统一发放,系统间唯一),请找金蝶技术人员获取|
|loginid |登录账号(约定为员工工号或其他唯一信息)|
|timestamp|时间戳(Unix时间戳-毫秒,例:1655743406833)|
注:String token = shaEncode(secret+ loginid + timestamp);
#### 2.2、Step2:H5应用访问地址(参数配置):
|参数名|参数介绍|
|-|-|-|
|thirdsys|中转服务第三方应用编码(致远OA:ZYOA;泛微OA:FWOA)|
|tourl|业务系统转发地址,一般为金蝶应用的应用地址|
|loginid|登录账号(约定为员工工号或其他唯一信息)|
|stamp|时间戳(Unix时间戳-毫秒,例:1655743406833)|
|token|按照约定加密后生成的Token|
注:String tourl=appprefixurl+appurlsrc;
appprefixurl:业务系统(目标系统,一般为EAS或苍穹系统)域名或服务IP+端口号
appurlsrc:业务系统(目标系统,一般为EAS或苍穹系统)业务地址(不含域名、IP+端口号)
#### 2.3、URL示例
http://eas.jlgxjt.com:9060/kdmiddleserver/sigleLoginIndex4Cosmic?thirdsys=ZYOA&tourl=http://jinhuierp.com/main.jsp&loginid=jhj001&stamp=1655743406833&token=xxxxxxxxx
## [二] 消息推送
### 1、流程图

### 2、统一待办接口说明
#### 2.1、第三方接收流程接口【待办&已办】
|接口说明|接口地址|
|-|-|-|
|接收待办接口|需要第三方自己的地址|
|接收/更新已办接口|需要第三方自己的地址(注:需允许更新任务链接)|
##### 2.1.1 【待办/已办】流程推送参数说明-KDMS标准(JSON结构)-参考或固定
|参数名|说明|类型|
|-|-|-|
|syscode|异构系统标识|类型|
|flowid|流程实例id|String|
|requestname|标题|String|
|workflowname|流程类型名称|String|
|nodename|步骤名称(节点名称)|String|
|pcurl|PC地址|String|
|appurl|APP地址|String|
|isremark|流程处理状态0:待办2:已办4:办结8:抄送(待阅)|String|
|viewtype|流程查看状态0:未读 (注:isremark = 0 且 viewtype = 0 会给OA消息中心推送消息,对接钉钉、企业微信)1:已读;|String|
|creator|创建人(原值)|String|
|createdatetime|创建日期时间|String|
|receiver|接收人(原值)|String|
|receivedatetime|接收日期时间|String|
|receivets|时间戳字段,客户端使用线程调用接口的时候,根据此字段判断是否需要更新数据,防止后发的请求数据被之前的覆盖例如"1602817491990"(毫秒级时间戳)|String|
##### 2.1.2 【待办/已办】流程返回参数说明-KDMS标准(JSON结构)-参考或固定
|参数名|说明|
|-|-|-|
|参数名|说明|
|syscode|异构系统标识|
|dataType|数据类型IsUse:统一待办中心OtherSys:异构系统WfType:流程类型WfData:流程数据SetParam:参数设置|
|operType|操作类型AutoNew :自动创建New:新建AutoEdit:自动更新Edit:编辑Del:删除Check:检测Set:设置|
|operResult|操作结果1:成功0:失败|
|message|错误信息|
##### 2.1.3 参数实例
推送参数示例:
注意添加消息头:
accept:*/*
connection:Keep-Alive
Content-Type:application/json
{
"syscode":"NC",
"flowid":"001",
"requestname":"测试流程001",
"workflowname":"测试流程名称001",
"nodename":"测试节点001",
"pcurl":" /wui/index.html#/main/workflow/listDoing?menuIds=1",
"appurl":" /wui/index.html#/main/workflow/listDoing?menuIds=1 ",
"creator":"wld",
"createdatetime":"2018-12-04 17:56:00",
"receiver":"wld",
"receivedatetime":"2018-12-04 17:56:00",
"isremark":"0",
"viewtype":"0",
"receivets":"1602817491990"
}
##### 2.1.4 postman调用示例
`请求路径和请求头设置:`

`请求参数设置:`

#### 2.2、删除第三方系统指定人员相关流程【删除】
|接口说明|接口地址|
|-|-|-|
|删除待办/已办接口|需要第三方自己的地址|
##### 2.2.1 【删除流程】参数说明-KDMS标准(JSON结构)-参考或固定
|参数名|说明|类型|
|-|-|-|
|syscode|业务系统标识|String|
|flowid|流程实例id|String|
|userid|接收人(原值)|String|
##### 2.2.2 【删除流程】返回说明-KDMS标准(Map结构)-参考或固定
|参数名|说明|
|-|-|-|
|syscode|异构系统标识|
|dataType|数据类型 IsUse:统一待办中心 OtherSys:异构系统 WfType:流程类型 WfData:流程数据SetParam:参数设置|
|operType|操作类型 AutoNew:自动创建 New:新建 AutoEdit:自动更新 Edit:编辑 Del:删除 Check:检测Set:设置|
|operResult|操作结果 1:成功 0:失败|
|message|错误信息|
##### 2.2.3 参数示例
推送数据示例:
注意添加消息头:
accept:*/*
connection:Keep-Alive
Content-Type:application/json
{
"syscode":"NC",
"flowid":"001",
"userid":"111"
}