跳到主要内容

模板发起方案

一、适用场景

此方案适用于企业通过第三方应用平台系统集成电子签名功能,从而实现线上办理采购业务,签署采购合同。

二、接入准备

在开始接入腾讯电子签之前,需要进行一些准备工作。参考以下内容:

第三方应用平台企业注册腾讯电子签 接入准备

子客企业通过第三方平台的入口注册腾讯电子签 子客企业认证

将固定制式文件制作成应用模板下发给使用的子客企业 创建模板-应用模板 或子客企业自己制作模板 创建模板-自有模板

三、交互流程

  1. 调用【查询模板信息列表】得到模板信息, 然后调用【使用模板创建签署流程】完成流程的发起;
  2. 通过短信 或者 通过【获取跳转小程序查看或签署链接】得到的签署链接, 通知B端企业用户进入电子签进行签署;
  3. 签署完成后, 电子签系统会通过回调机制通知开发者系统; 此时再调用【根据签署流程信息批量获取资源下载链接】获取下载链接, 进行下载归档。

核心接口

1、 查询模板信息

DescribeTemplates 获取指定的模板信息,用于后续签署。注意在模板的 Recipients 中通过 RoleName 定位到具体参与方的 RecipientId,用于模板发起的参数。

示例代码

2、 使用模板创建签署流程

CreateFlowsByTemplates 创建一个签署流程,此时需要指定流程的名称、签署方的信息、模板内容。

示例代码

可参考参数如下:


// B2B签署
{
"FlowInfos": [ // 可以批量发起多份合同
{
"FlowName": "合同名", // 签署文件名
"TemplateId": "005c***********4f7f64e8c", // 模板编号
"Deadline": 1604910797, // 签署截止时间戳, 超过有效签署时间则该签署流程失败, 默认一年, 单位Unix时间戳(秒)
"FormFields": [ // 模板中的发起方填充内容控件, 将ComponentName对应的控件填充ComponentValue值
{
"ComponentName": "姓名",
"ComponentValue": "李四"
}
],
"FlowApprovers": [ // 模板中的签署方
{
"ApproverType": "ORGANIZATION", // 签署方类型, ORGANIZATION-企业
"OrganizationOpenId": "ProxyOrganizationOpenId", // 第三方平台子客企业的唯一标识
"OpenId": "OpenId" // 三方平台子客企业员的唯一标识
},
{
"NotChannelOrganization": true, // 签署企业非子客企业
"ApproverType": "ORGANIZATION", // 签署方类型, ORGANIZATION-企业
"OrganizationName": "企业名", // 签署方企业名
"Name": "王五", // 企业签署方姓名
"Mobile": "188********", // 企业签署方手机号
}
]
}
],
"Agent": {
"ProxyOrganizationOpenId": "ProxyOrganizationOpenId", // 第三方应用平台自定义, 对应第三方平台子客企业的唯一标识
"ProxyOperator": {
"OpenId": "OpenId" // 第三方应用平台自定义, 对应第三方平台子客企业员的唯一标识
},
"AppId": "AppId" // 应用的唯一标识。不同的业务系统可以采用不同的AppId, 不同AppId下的数据是隔离的。可以由控制台开发者中心-应用集成自主生成。
},
}

3、 获取跳转小程序查看或签署链接【可选】

除了短信通知,也可以使用CreateSignUrls接口,设置不同的 EndPoint,以获得跳转小程序签署的不同方式。

示例代码

其中小程序的原始 Id 如下,或者查看小程序信息自助获取。

小程序AppID原始 ID
腾讯电子签(正式版)wxa023b292fd19d41dgh_da88f6188665
腾讯电子签 Demowx371151823f6f3edfgh_39a5d3de69fa

4、 根据签署流程信息批量获取资源下载链接

DescribeResourceUrlsByFlows 查询签署文件的下载链接,建议使用接收回调的方式接收完成签署的信号,再调用此接口获取下载链接,未完成签署就获取链接会导致取到的是中间状态的文件,例如不包含签署印章。

注意:下载合同文件需要提前开通下载应用内全量合同文件及内容数据

示例代码

四、回调通知

1、回调通知功能说明

回调通知的说明文档请参考:回调通知功能说明

2、签署完成回调

当发起的流程完成签署后,将会触发此回调,全部字段说明链接


{
"MsgId": "yDwf******************nIf",
"MsgType": "FlowStatusChange",
"MsgData": {
"ApplicationId": "yDw*************ea",
"ProxyOrganizationOpenId": "ProxyOrganizationOpenId",
"CustomerData": "",
"FlowId": "yD*************oF",
"FlowName": "合同名",
"FlowType": "",
"FlowStatus": "ALL",
"FlowMessage": "",
"CreateOn": 1682407518,
"Deadline": 1713943518,
"FlowApproverInfo": [
{
"ProxyOperatorOpenId":"",
"ProxyOrganizationOpenId": "",
"ProxyOrganizationName": "子客企业名2",
"RecipientId": "yD**********v0w",
"PhoneNumber": "189********",
"SignOrder": 1,
"ApproveName": "张三",
"ApproveStatus": "ACCEPT",
"ApproveMessage": "",
"ApproveTime": 1682408194,
"CaSign": ""
},
{
"ProxyOperatorOpenId":"",
"ProxyOrganizationOpenId": "",
"ProxyOrganizationName": "子客企业名1",
"RecipientId": "yD**********v0w",
"PhoneNumber": "188********",
"SignOrder": 1,
"ApproveName": "王五",
"ApproveStatus": "ACCEPT",
"ApproveMessage": "",
"ApproveTime": 1682408194,
"CaSign": ""
}
],
"OccurTime": 1682408494,
"CcInfo": []
}
}

五、联调环境

在联调测试环境建议使用腾讯电子签测试环境,相关的域名如下:

测试环境接口请求域名(EndPoint)
essbasic.test.ess.tencent.cn

文件上传域名 - UploadFiles接口使用
file.test.ess.tencent.cn

平台企业控制台域名
https://beta.qian.tencent.cn

联调测试环境完成调试验证后,发布到生产环境需要修改相关的域名,如下:

生产环境接口请求域名(EndPoint)
essbasic.tencentcloudapi.com

文件上传域名 - UploadFiles接口使用
file.ess.tencent.cn

平台企业控制台域名
https://qian.tencent.com