模板发起方案
一、适用场景
此方案适用于企业通过第三方应用平台系统集成电子签名功能,从而实现线上办理采购业务,签署采购合同。
二、接入准备
在开始接入腾讯电子签之前,需要进行一些准备工作。参考以下内容:
第三方应用平台企业注册腾讯电子签 接入准备
子客企业通过第三方平台的入口注册腾讯电子签 子客企业认证
将固定制式文件制作成应用模板下发给使用的子客企业 创建模板-应用模板 或子客企业自己制作模板 创建模板-自有模板
三、交互流程
- 调用【查询模板信息列表】得到模板信息, 然后调用【使用模板创建签署流程】完成流程的发起;
- 通过短信 或者 通过【获取跳转小程序查看或签署链接】得到的签署链接, 通知B端企业用户进入电子签进行签署;
- 签署完成后, 电子签系统会通过回调机制通知开发者系统; 此时再调用【根据签署流程信息批量获取资源下载链接】获取下载链接, 进行下载归档。
核心接口
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 |
|---|---|---|
| 腾讯电子签(正式版) | wxa023b292fd19d41d | gh_da88f6188665 |
| 腾讯电子签 Demo | wx371151823f6f3edf | gh_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