通过模板发起合同
流程图
创建模版
腾讯电子签支持子客企业通过两种途径完成模版的创建:
- 通过子客企业控制台创建模版。参见第三方应用子客企业自建模板。
- 第三方平台企业创建模版后下发给子客企业。参见:平台企业模版管理和子客企业领取模版。
接口调用
在调用接口前请确保您已清楚通用参数Agent中各字段的含义(可参见接口通用参数说明),以及TemplateId(模版ID)从哪获取。需要注意的是,第三方应用集成的合同发起方只能是子客企业。因此,涉及到的合同发起时的模板、印章等参数,都必须是子客企业下的。
1. 查询模版信息:
通过查询模版信息接口(DescribeFlowTemplates)可以获得模版中各签署方的RecipientId,用以在后一步发起合同时关联到接口给定的签署方。以下示例为DescribeFlowTemplates接口返回的Recipients数组:
"Recipients": [
{
"RecipientId": "yD****************************iC",
"RecipientType": "ENTERPRISE",
"RoleName": "企业签署方",
...
},
{
"RecipientId": "yD****************************D5",
"RecipientType": "PERSON",
"RoleName": "个人签署方",
...
}
]
其中,RoleName 可以在创建模板时自行指定:
2.创建签署流程:
注:由于模版变更时,RecipientId会发生变化。请确保创建签署流程时传入的RecipientId为最新模版中的。
创建签署流程(CreateFlowsByTemplates)接口主要构建了签署方信息,并且将其与指定的模版进行了关联。以下示例创建了一个最简单的B2C签署流程:
{
"Agent": {
"ProxyOperator": {
"OpenId": "employee_open_id"
},
"ProxyOrganizationOpenId": "org_open_id",
"AppId": "yD****************************YD"
},
"FlowInfos": [
{
"FlowName": "B2C合同",
"FlowApprovers": [{
"RecipientId": "yD****************************2e", // 模版中企业签署方的RecipientId,此示例可省略
"ApproverType": "ORGANIZATION",
"OrganizationName":"子客企业名称",
"OrganizationOpenId":"子客企业openId"
"OpenId": "子客企业员工openId",
},{
"RecipientId": "yD****************************57", // 模版中个人签署方的RecipientId,此示例可省略
"ApproverType": "PERSON",
"Name": "周三",
"Mobile": "13800000000"
}
],
"TemplateId": "yD****************************FH" // 模版ID
}
]
}
注:对于单B、单C、B2C 场景,可以不用传递模板信息中对应签署方的 RecipientId 信息,系统会自动推断签署人和模板中控件的绑定关系
签署方
虽然第三方应用集成的合同「发起方」只能是“子客企业”,但「签署方」可以是以下三类主体:(注:不同签署方需要传的必要参数不同,请见示例)
- 子客企业:与合同发起方在同一个应用内的子客企业
// 子客企业签署方, 发合同前已经认证激活(推荐)
"FlowApprovers": [{
"RecipientId": "xxxxx", // 模板中对应签署人的 RecipientId 信息
"ApproverType": "ORGANIZATION",
"OpenId": "employee_open_id", // 子客企业员工. 可以是发起方自己
"OrganizationOpenId":"org_open_id", // 子客企业, 可以是发起方所在子客企业, 或同应用下的其他子客企业
"OrganizationName": "测试企业" // 子客企业名称
}]
// 子客企业签署方, 发合同前企业还未激活
"FlowApprovers": [{
"RecipientId": "xxxxx", // 模板中对应签署人的 RecipientId 信息
"ApproverType": "ORGANIZATION",
"OpenId": "employee_open_id", // 自定义子客企业员工标识
"OrganizationOpenId":"org_open_id", // 自定义子客企业标识
"OrganizationName": "未激活测试企业", // 子客企业名称
"Name": "张三", // 经办人名字
"Mobile": "18600000000" // 经办人手机号
}]
- 个人
// 个人签署方, 不要求提前注册电子签, 通过签署链接会先实名再签署
"FlowApprovers": [{
"RecipientId": "xxxxx", // 模板中对应签署人的 RecipientId 信息
"ApproverType": "PERSON",
"Name": "张三",
"Mobile": "13000000000"
}]
- SaaS企业:渠道外在腾讯电子签实名认证的企业
// SaaS企业签署方, 不要求提前注册电子签, 通过签署链接会先实名再签署
"FlowApprovers": [{
"NotChannelOrganization": true, // 声明是第三方集成应用外的SaaS企业
"RecipientId": "xxxxx", // 模板中对应签署人的 RecipientId 信息
"ApproverType": "ORGANIZATION",
"OrganizationName": "测试企业",
"Name": "张三",
"Mobile": "13000000000"
}]
更多场景
填写控件
如果模板中存在分配给发起方的填写控件(即模板的"填写区"控件),那么可以在调用CreateFlowsByTemplates接口时通过FormFields
参数进行填充。例如:
"FormFields": [{
"ComponentId": "ComponentId_31", //填写控件ID
"ComponentName": "乙方姓名", //填写控件名称
"ComponentValue": "李四"
}]
其中,ComponentId
或ComponentName
二选一即可,这些信息可以在模板编辑页面获取(见下图),或通过查询模板信息接口获取。需要注意的是不同控件的值(ComponentValue)格式或有区别,详细说明请参见FormField参数说明。
签署顺序
签署顺序需要提前在模版中进行设置,接口调用时无需设置其他参数。
自动签署
若需要发起企业方自动签署的合同,操作步骤请参见自动签署使用说明。