# 三方系统流程模板同步至V8
# 背景&需求
同步三方模板基础信息到V8-系统,用户可在发起页统一进行发起,发起后跳转对应的url,进行发起。支持模板使用说明的展示。
# 整体流程:
整体流程说明:
用户调用open-api进行三方模板相关操作,创建模板,授权模板后,即可在前台流程发起页看到创建的三方模板。根据对需求可选择创建模板节点权责,和模板最近使用记录。
# 操作步骤&解决方案
# 前置准备:
序号 | 步骤名称 | 使用场景 |
---|---|---|
1 | API启用 | 必须,只有启用的API才可以正常进行授权访问 |
2 | 新建接入应用 | 必须,负责分配AppKey和APPSecret、配置访问授权、访问白名单等配置页 |
3 | 启用接入应用 | 必须,未启用的接入应用,访问时会提示接入应用未启用 |
4 | 分配APPKey和APPSecret | 必须,接口签名核心字段 |
5 | API授权 | 必须,只有添加权限的API接口才可以正常访问 |
OpenAPI使用详见:https://open.seeyoncloud.com/v8dev/2451/2462.html
# 接口文档
# 第一步:批量创建三方模板(必须)
# 请求地址
https://域名bpm/third/template/create/batch
# 参数说明(更新类似):
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
id | false | int64 | 三方模板在V8系统中的ID,新建时不传则自动生成 |
guid | false | int64 | 模板guid |
subject | true | string | 流程模板名称 |
code | true | string | 流程模板编号 |
pageUrl | true | string | PC端发起流程模板的页面地址 |
mobilePageUrl | true | string | 移动端发起流程模板的页面地址 |
state | false | enum | 流程状态,默认为启用状态。枚举项可选值列表:STATE_START(启用),STATE_STOP(停用), |
sourceType | false | enum | 三方模板来源类型。枚举项可选值列表:默认值NONE,TENANT_SYNC(多租户同步(内部流程模板)) |
authorized | false | string | 流程模板的使用授权,直接传人员名称或部门机构名称,只用作流程说明书展示 |
formPicStorageKey | false | string | 上传单据图片生成的storageKey,流程说明书展示 |
diagramPicStorageKey | false | string | 流程图图片地址storageKey,可传多个,用英文逗号隔开 |
categoryId | false | int64 | 流程模板的所属分类,V8系统的分类ID,可注册生成或直接获取,默认为其它分类 |
tags | false | string | 流程模板的所属标签 |
description | false | string | 使用说明 |
createAccountId | false | int64 | 所属机构,默认为发起请求的机构 |
docStorageKey | false | string | 上传使用说明附件生成的storageKey: 可传多个,用英文逗号隔开 |
desStorageKey | false | string | 上传流程梳理文档生成storageKey: 可传多个,用英文逗号隔开 |
interfaceInfo | false | string | 接口信息(是否接口流程,接口名称)JSON格式 |
isEnable | false | boolean | 是否有效: 默认为true |
# 请求示例:
{
"data": [
{
"code": "ceshimuban1119",
"subject": "测试模板1119",
"createAccountId": "1958919590712968571",
"authorized": "张三,李四",
"pageUrl": "http://10.3.4.157:82/seeyon/collaboration/collaboration.do?method=newColl&templateId=-7938661322256726922&from=templateNewColl&projectId=-1",
"mobilePageUrl": "http://10.3.4.157:82/seeyon/collaboration/collaboration.do?method=newColl&templateId=-7938661322256726922&from=templateNewColl&projectId=-1"
}
],
"requestId": {{timestamp}},
"timestamp": {{timestamp}}
}
# 第二步:三方模板授权(必须)
# API接口
业务数据批量注册成资源并授权
# 请求地址
https://域名/ctp-user/resource/register-permission-batch
# 参数说明:
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
resourceList | true | array[] | 业务数据(资源)集合 |
code | true | string | 资源编码,模板授权时必须传模板id |
name | false | string | 资源名称,模板授权时传模板名称即可 |
appId | true | string | 应用Id,模板授权时必须传bpm |
dataType | false | string | 数据类型,模板授权时必须传template |
permissionType | false | string | 权限类型,模板授权时必须传use |
resourcePermissionList | true | array[] | 授权对象集合 |
authObjectType | true | enum | 授权对象类型。枚举项可选值列表:NONE(空),INSTITUTION(机构),DEPARTMENT(部门),POST(岗位),JOB(职务),LEVEL(职级),TEAM(系统组),ROLE(角色),MEMBER(人员),OUTSIDE_INSTITUTION(外部(编外)单位),OUTSIDE_DEPARTMENT(外部(编外)部门) |
authObjectCode | true | string | 授权对象编码,注意不是id |
authObjectOrgCode | false | string | 授权对象所属机构编码 ,注意不是id |
includeChild | false | boolean | 是否包含下级机构 |
orgCode | false | string | 授权生效机构编码(缺省不区分机构) |
# 请求示例:
{
"data": {
"resourcePermissionList": [
{
"authObjectOrgCode": "group",
"authObjectCode": "1557587001015575870039",
"authObjectType": "MEMBER",
"includeChild": "false"
}
],
"orgCode": "group",
"resourceList": [
{
"permissionType": "USE",
"code": "807814699534524822",
"appId": "bpm",
"dataType": "template",
"name": "测试模板1119"
}
]
},
"requestId": {{timestamp}},
"timestamp": {{timestamp}}
}
# 用户中心授权查询sql事例
//模板id ‘807814699534524822’
select * from CTP_USER_DEV.ctp_entity_resource where resource_code ='807814699534524822'
# 第三步:批量创建节点权责(非必须)
# 请求地址
https://域名/bpm/third/template/activity/responsibility/create/batch
# 参数说明:
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
templateId | false | string | 流程模板ID |
activityName | false | string | 节点名称 |
activityPermissionName | false | string | 节点权限名称 |
activityPermissionType | false | string | 节点权限类型。枚举项可选值列表:SEND(SEND),APPROVE(APPROVE),COLLABORATION(COLLABORATION),NOTICE(NOTICE),AFFAIR_CONSULT(AFFAIR_CONSULT),JOINTLY(JOINTLY) |
dealTime | false | string | 节点期限 |
activityDesc | false | string | 节点处理说明 |
sortNum | false | int32 | 排序号-节点权责列表根据此值进行排序展示 |
# 请求示例:
{
"data": [
{
"dealTime": "",
"activityPermissionName": "发送",
"activityName": "开始",
"activityPermissionType": "SEND",
"sortNum": 0,
"templateId": "1557587001015575870039",
"activityDesc": ""
}
],
"requestId": {{timestamp}},
"timestamp": {{timestamp}}
}
# 第四步:创建模板最近使用记录(非必须)
# 请求地址
https://域名/bpm/third/template/create/recent
# 参数说明:
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
memberId | true | int64 | 使用人ID |
templateId | true | int64 | 模板guid |
# 请求示例:
{
"data": {
"templateId": "1557587001015575870039",
"memberId": "1958919590712968571"
},
"requestId": {{timestamp}},
"timestamp": {{timestamp}}
}
编撰人:hehang
快速跳转
