# 三方系统流程模板同步至V8

# 背景&需求

同步三方模板基础信息到V8-系统,用户可在发起页统一进行发起,发起后跳转对应的url,进行发起。支持模板使用说明的展示。

1744941727267.png

# 整体流程:

1744940732992.png 整体流程说明: 用户调用open-api进行三方模板相关操作,创建模板授权模板后,即可在前台流程发起页看到创建的三方模板。根据对需求可选择创建模板节点权责,和模板最近使用记录。

# 操作步骤&解决方案

# 前置准备:

序号 步骤名称 使用场景
1 API启用 必须,只有启用的API才可以正常进行授权访问
2 新建接入应用 必须,负责分配AppKey和APPSecret、配置访问授权、访问白名单等配置页
3 启用接入应用 必须,未启用的接入应用,访问时会提示接入应用未启用
4 分配APPKey和APPSecret 必须,接口签名核心字段
5 API授权 必须,只有添加权限的API接口才可以正常访问

OpenAPI使用详见:https://open.seeyoncloud.com/v8dev/2451/2462.html

1744942468045.png

# 接口文档

# 第一步:批量创建三方模板(必须)

# 请求地址

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