跳到主要内容

合同预览使用说明

合同预览

  • 在某些情况下,企业发起合同需要先预览下合同生成的效果,业务方进行校对,确认无误之后,再进行发起。
  • 含有动态表格的预览文件需要通过文档合成完成后回调通知获得。

时序图如下: 预览流程.png

预览类型

1.文件流预览

文件流预览指的是在生成预览文档的时候,会以文件流的方式返回,进行保存展示,注意文件流的链接有效期只有 5 分钟,业务方需要将文件下载下来,之后在业务内部进行展示。 链接类似如下:

https://file.test.ess.tencent.cn/bresource/resource/resource/0/0.PDF?hkey=8e3f7c22a526357a1f4afcb50ef3daf2e1152f012ea8829dc88e5ecfde560a7bd472ea36c0a39f589dfc655ecde12c37b8b7861b39b2f0c24cc78abf4618bc5892783273c90216b426bbe54e0d79523b2cd8d8cb4e96b10d3a6ef6ab379cdcebc23a91e321802cb38da9e7eb87fb314e 注意此链接有效期为 5 分钟,如果失效需要重新生成 第一步: 将得到的链接放到浏览器里面 第二步: 下载预览文件

2.H5链接预览

H5链接预览指的是在生成预览文档的时候,会以H5链接的形式进行返回,用户只需要将这个链接嵌入到自己的页面即可。 链接类似如下:

https://ess.tencent.cn/document-url-preview?channel=PROXYCHANNEL&scene=SINGLEPAGE&code=yDCVtUUckpwpk64qUylTfrA1nPObIsrs&codeType=QUICK&businessType=RESOURCE&businessId=yDCV3UUckpw0ozicUuVGlQZx1uHLIdQv

注意这个链接只能使用一次, 下一次打开需要重新生成 预览合同H5页面展示.png

使用文件发起

电子签为您提供了 通过文件发起签署流程 以及 通过模板发起签署流程 两种发起方式,如果您选择文件发起请阅读本节内容,如果您选择模板发起请阅读下一节内容。

请先阅读 通过文件发起签署流程 了解流程,并按照步骤 1 和 2 的指引获取到印章 ID 以及 PDF 文件编号 ID。此处将引导您完成一份具有发起控件的PDF预览合同。

完成上述步骤后,我们直接使用 用 PDF 文件创建签署流程(CreateFlowByFiles)接口发起合同,为方便描述我们将接口入参以 json 格式进行展示:

{
"Operator": {
"UserId": "yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ"
},
"FlowName": "文件发起预览示例",
"Components": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "TEXT",
"ComponentValue": "填上他",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
},
{
"ComponentPosY": 360,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "TEXT",
"ComponentValue": "填上他2",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
],
"Approvers": [
{
"ApproverType": 0,
"OrganizationName": "典子谦示例企业",
"Required": true,
"ApproverName": "典子谦",
"ApproverMobile": "13200000000",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM",
"IsFullText": true,
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SIGNATURE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
},
{
"ComponentPosY": 360,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_DATE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
]
},
{
"ApproverType": 1,
"Required": true,
"ApproverName": "张三",
"ApproverMobile": "18888888888",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM",
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SIGNATURE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
]
},
{
"ApproverType": 0,
"OrganizationName": "李四示例企业",
"Required": true,
"ApproverName": "李四",
"ApproverMobile": "15100000000",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM",
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SIGNATURE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
]
}
],
"NeedPreview": true,
"FileIds": [
"yDCWiUUckpv6iggyUyuqIrwyppQVS7TR"
],
"Action": "CreateFlowByFiles"
}

参数填入规范见文档 用 PDF 文件创建签署流程,请参照文档阅读下面的内容,此处传值仅为参照,实际使用时请替换为真实数据!

  • UserId 为发起方经办人的用户 ID,访问 腾讯电子签控制台 获取。
  • FlowName 为合同名称。
  • Approvers 指定签署方信息,此处样例场景为三方。
  • ApproverType 填 0,即企业方签署,ApproverType 填 1,即为个人签署人。
  • SignComponents 指定签署控件的位置和内容,此处样例场景为单个印章。
  • ComponentType 填入 SIGN_SEAL,即印章类型,
  • Components 为发起方填写控件的位置和内容,此处样例场景为两个单行文本填写控件
  • ComponentType 填入 Text,即文本类型,
  • ComponentPosX、ComponentPosY、ComponentHeight、ComponentWidth 为印章控件的坐标和大小,定位方式请参见 签署方信息说明。
  • FileIndex 目前均为单文件发起,填 0 即可。
  • ComponentPage 为控件所在页面编号,此处设置为 1。
  • FileIds 目前均为单文件发起,此处填入前面上传文件获取的 PDF 文件编号 ID。
  • NeedPreview 需要设置为 true,代表预览模式
  • PreviewType 指的是会以文件流的方式返回链接

在使用 CreateFlowByFiles 接口发起合同后,会根据上传的 PDF 文件和填写控件内容生成一个已经合成的 PDF。 文件发起的预览合同.png

用户重新发起

用户根据返回的预览链接查看文档是否是预期的,如果是预期的合成效果,可以使用相同的参数再次发起, 此时将 NeedPreview 设置为 false 即可

{
"Operator": {
"UserId": "yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ"
},
"FlowName": "文件发起预览示例",
"Components": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "TEXT",
"ComponentValue": "填上他",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
},
{
"ComponentPosY": 360,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "TEXT",
"ComponentValue": "填上他2",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
],
"Approvers": [
{
"ApproverType": 0,
"OrganizationName": "典子谦示例企业",
"Required": true,
"ApproverName": "典子谦",
"ApproverMobile": "13200000000",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM",
"IsFullText": true,
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SIGNATURE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
},
{
"ComponentPosY": 360,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_DATE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
]
},
{
"ApproverType": 1,
"Required": true,
"ApproverName": "张三",
"ApproverMobile": "18888888888",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM",
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SIGNATURE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
]
},
{
"ApproverType": 0,
"OrganizationName": "李四示例企业",
"Required": true,
"ApproverName": "李四",
"ApproverMobile": "15100000000",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM",
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SIGNATURE",
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentHeight": 100
}
]
}
],
"NeedPreview": false,
"FileIds": [
"yDCWiUUckpv6iggyUyuqIrwyppQVS7TR"
],
"Action": "CreateFlowByFiles"
}

使用模板发起

电子签为您提供了 通过文件发起签署流程 以及 通过模板发起签署流程 两种发起方式,如果您选择模板发起请阅读本节内容,如果您选择文件发起请阅读上一节内容。

请先阅读 通过模板发起签署流程 了解流程,按照引导熟悉模板、印章的创建和管理方式。此处将引导您完成一份具有发起控件预览合同,您可以根据自己的场景需求进行扩展。

控制台操作

  1. 访问 腾讯电子签控制台,在模板管理中选择创建模板,上传合同文件,进入下一步。

  1. 在"添加签署区"步骤,拖拽一个印章控件,完成后进入下一步。
  • 添加填写控件

添加填写控件区域.png

  • 添加签署控件

添加签署控件区域.png

  1. 在"设置签署流程"步骤,设置仅己方企业参与签署,单击确认
  • 设置填写控件为发起方控件

设置填写控件为发起方控件.png

  • 添加两个签署方

添加两个签署方.png 4. 保存模板完成编辑,并返回"模板管理"页面查询获取刚才创建好的模板 ID。

保存模板.png

接口调用

在完成控制台操作后,我们使用编辑好的模板进行接口调用,请先阅读 通过模板发起签署流程 了解调用流程。

  1. 使用 创建签署流程(CreateFlow)接口创建流程,为方便描述我们将接口入参以 json 格式进行展示:
{
"Action": "CreateFlow",
"Operator": {
"UserId": "yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ"
},
"FlowName": "有发起方控件的测试预览合同",
"Approvers": [
{
"ApproverType": 0,
"OrganizationName": "典子谦示例企业",
"Required": true,
"ApproverName": "典子谦",
"ApproverMobile": "13200000000",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM"
},
{
"ApproverType": 0,
"OrganizationName": "李四示例企业",
"Required": true,
"ApproverName": "李四",
"ApproverMobile": "18888888888",
"NotifyType": "NONE",
"RecipientId": "yDR4yUUgyg1q0y4tUuoJSJ78uOg0ZjBM"
}
]
}

参数填入规范见文档 创建签署流程,请参照文档阅读下面的内容,此处传值仅为参照,实际使用时请替换为真实数据!

  • UserId 为发起方经办人的用户 ID,访问 腾讯电子签控制台 获取。
  • FlowName 为合同名称。
  • Unordered 指定无序签署。若不指定或指定为false是有序签署,签署顺序同Approvers数组中各签署方的顺序。(注意:通过API集成腾讯电子签,签署顺序不依赖于模版【签署流程】中的配置)
  • Approvers 指定签署方信息,此处样例场景为单方企业自动签署。
  • ApproverType 填 0,即企业方签署,指定后签署人默认为经办人。
  • 接口调用后返回一个 FlowId,请进行记录,在后续步骤会用到。
  1. 使用 创建电子文档(CreateDocument)接口创建电子文档,为方便描述我们将接口入参以 json 格式进行展示:
{
"Operator": {
"UserId": "yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ"
},
"FileNames": [
"合同空白模版.pdf"
],
"FlowId": "yDCVtUUckpwpk643UylTfrAyhDN8g1Fs",
"TemplateId": "yDCWoUUckpvwclk4Uy8lsS71pdCpVPcc",
"FormFields": [
{
"ComponentName": "甲方",
"ComponentValue": "甲方公司"
},
{
"ComponentName": "地址",
"ComponentValue":"休闲山庄"
},{
"ComponentName": "项目的名字",
"ComponentValue": "休闲山庄"
},{
"ComponentName": "联系方式",
"ComponentValue": "13200000000"
}
],
"NeedPreview":true,
"PreviewType":0
}

参数填入规范见文档 创建电子文档,请参照文档阅读下面的内容,此处传值仅为参照,实际使用时请替换为真实数据!

  • UserId 为发起方经办人的用户 ID,访问 腾讯电子签控制台 获取,和上一步接口传入保持一致。
  • FileNames 为文档名,目前影响使用,传入任意值即可。
  • FlowId 指定合同编号,由上一步返回。
  • TemplateId 指定模板 ID,由控制台操作步骤获取。
  • NeedPreview 需要设置为 true,代表预览模式
  • PreviewType 指的是会以文件流的方式返回链接
  1. 查看文档链接是否符合预期 用户根据返回的预览链接查看文档是否是预期的,如果是预期的合成效果,可以使用相同的参数再次发起, 此时将 NeedPreview 设置为 false 即可
{
"Operator": {
"UserId": "yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ"
},
"FileNames": [
"合同空白模版.pdf"
],
"FlowId": "yDCVtUUckpwpk643UylTfrAyhDN8g1Fs",
"TemplateId": "yDCWoUUckpvwclk4Uy8lsS71pdCpVPcc",
"FormFields": [
{
"ComponentName": "甲方",
"ComponentValue": "甲方公司"
},
{
"ComponentName": "地址",
"ComponentValue":"休闲山庄"
},{
"ComponentName": "项目的名字",
"ComponentValue": "休闲山庄"
},{
"ComponentName": "联系方式",
"ComponentValue": "13200000000"
}
],
"NeedPreview":false
}
  1. 使用 发起流程(StartFlow)接口发起流程,为方便描述我们将接口入参以 json 格式进行展示: 再确认成功之后,重新生成文档,此时可以再次
{
"Operator": {
"UserId": "yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ"
},
"FlowId": "yDCVtUUckpwpk643UylTfrAyhDN8g1Fs"
}

参数填入规范见文档 发起流程,请参照文档阅读下面的内容,此处传值仅为参照,实际使用时请替换为真实数据!

  • UserId 为 发起方经办人的用户 ID,访问 腾讯电子签控制台 获取,和上一步接口传入保持一致。
  • FlowId 指定合同编号,和上一步接口传入保持一致。
  • 请注意如果此接口返回报错,可能是因为上一步异步合成文档需要等待,请在接口返回后等待一段时间(数秒)后重试,此接口可以反复调用。

完成上述步骤后,会根据创建的模板生成一份跟预览合同一样的合同。

文档合成回调

如果这个合同有填写控件或者动态表格, 文档预览链接合成成功之后会通过DocumentFill这个回调进行返回。

购买咨询
微信客服
4006-808-062
4006-808-062