创建一码多签签署码
1. 接口描述
接口请求域名: ess.tencentcloudapi.com 。
此接口(CreateMultiFlowSignQRCode)用于创建一码多签签署码。
适用场景: 签署人可通过扫描二维码补充签署信息进行实名签署。常用于提前不知道签署人的身份信息场景,例如:劳务工招工、大批量员工入职等场景。
注意:
- 本接口适用于发起方没有填写控件的 B2C或者单C模板, 若是B2C模板,还要满足以下任意一个条件
- 模板中配置的签署顺序是无序
- B端企业的签署方式是静默签署
- B端企业是非首位签署
- 通过一码多签签署码发起的合同,合同涉及到的回调消息可参考文档合同发起及签署相关回调
- 用户通过一码多签签署码发起合同时,因企业额度不足导致失败 会触发签署二维码相关回调,具体参考文档签署二维码相关回调
签署码的样式如下图:
默认接口请求频率限制:300次/秒。
推荐使用 API Explorer
点击调试API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateMultiFlowSignQRCode。 |
Version | 是 | String | 公共参数,本接口取值:2020-11-11。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
Operator | 是 | UserInfo | 执行本接口操作的员工信息。 注: 在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 |
TemplateId | 是 | String | 合同模板ID,为32位字符串。 可登录腾讯电子签控制台,在 "模板"->"模板中心"->"列表展示设置"选中模板 ID 中查看某个模板的TemplateId(在页面中展示为模板ID)。 示例值:yDRS***P35Swc |
FlowName | 是 | String | 合同流程的名称(可自定义此名称),长度不能超过200,只能由中文、字母、数字和下划线组成。 该名称还将用于合同签署完成后的下载文件名。 |
MaxFlowNum | 否 | Integer | 通过此二维码可发起的流程最大限额,如未明确指定,默认为5份。 一旦发起流程数超越该限制,该二维码将自动失效。 示例值:5 |
QrEffectiveDay | 否 | Integer | 二维码的有效期限,默认为7天,最高设定不得超过90天。 一旦超过二维码的有效期限,该二维码将自动失效。 示例值:7 |
FlowEffectiveDay | 否 | Integer | 合同流程的签署有效期限,若未设定签署截止日期,则默认为自合同流程创建起的7天内截止。 若在签署截止日期前未完成签署,合同状态将变更为已过期,从而导致合同无效。 最长设定期限不得超过30天。 示例值:7 |
Restrictions.N | 否 | Array of ApproverRestriction | 指定签署人信息。 在指定签署人后,仅允许特定签署人通过扫描二维码进行签署。 |
UserData | 否 | String | 调用方自定义的个性化字段(可自定义此字段的值),并以base64方式编码,支持的最大数据大小为 20480长度。 在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。 回调的相关说明可参考开发者中心的回调通知模块。 |
Agent | 否 | Agent | 代理企业和员工的信息。 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 |
ApproverComponentLimitTypes.N | 否 | Array of ApproverComponentLimitType | 指定签署方在使用个人印章签署控件(SIGN_SIGNATURE) 时可使用的签署方式:自由书写、正楷临摹、系统签名、个人印章。 示例值:[ { "RecipientId": "yDwJNUUckpkojrssUxTFHk6xvcX2xigb", "Values": [ "HANDWRITE", "SYSTEM_ESIGN" ] }, { "RecipientId": "yDwJNUUckpkojrsqUxTFHk6yndh20CpW", "Values": [ "OCR_ESIGN" ] } ] |
ForbidPersonalMultipleSign | 否 | Boolean | 禁止个人用户重复签署,默认不禁止,即同一用户可多次扫码签署多份合同。若要求同一用户仅能扫码签署一份合同,请传入true。 示例值:true |
FlowNameAppendScannerInfo | 否 | Boolean | 合同流程名称是否应包含扫码签署人的信息,且遵循特定格式(flowname-姓名-手机号后四位)。 例如,通过参数FlowName设定的扫码发起合同名称为“员工入职合同”,当扫码人张三(手机号18800009527)扫码签署时,合同名称将自动生成为“员工入职合同-张三-9527”。 示例值:true |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
QrCode | SignQrCode | 一码多签签署码的基本信息,用户可扫描该二维码进行签署操作。 |
SignUrls | SignUrl | 一码多签签署码的链接信息,适用于客户系统整合二维码功能。通过链接,用户可直接访问电子签名小程序并签署合同。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 创建指定用户的的合同流程签署二维码
创建一码多扫流程签署二维码,指定固定的用户才能扫码签署。
输入示例
POST / HTTP/1.1
Host: ess.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMultiFlowSignQRCode
<公共请求参数>
{
"Operator": {
"UserId": "yDRCLUU******wg0vjoimj"
},
"FlowName": "测试合同",
"TemplateId": "yDRS4U******TmzsIAR",
"Restrictions": [
{
"Name": "张三",
"Mobile": "188********"
},
{
"Name": "李四",
"Mobile": "189********"
}
]
}
输出示例
{
"Response": {
"QrCode": {
"QrCodeUrl": "https://res.ess.tencent.cn/mp-gate/release/CHANNEL_CONTRACT_COVER/xxx",
"ExpiredTime": 1693814798,
"QrCodeId": "yDRS****jEuBzwyiofZ"
},
"SignUrls": {
"EffectiveTime": "2022-08-05 15:55:01",
"HttpSignUrl": "https://res.ess.tencent.cn/cdn/h5-activity/jump-mp.html?where=mini&from=MSG&to=CHANNEL_CONTRACT_COVER&xxx",
"AppSignUrl": "pages/guide?from=default&where=mini&autoJumpBack=true&to=CHANNEL_CONTRACT_COVER&xxx"
},
"RequestId": "s198*****111"
}
}
示例2 创建指定了签署方签名方式的签署二维码
- 使用B2C模板 yDRscUUgyg1zr7wnUyJ8QMwwnHc4OOcQ 创建了一个签署二维码。
2.指定RecipientId 为 yDRscUUgyg3zr9vfUyJ8QKwCN7z9YcOh 的签署人在签名时可以手写(HANDWRITE) 或者使用系统签名 (SYSTEM_ESIGN)。
3.指定RecipientId 为 yDwJNUUckpkojrmqUxTFHk0yndh70CpW 的签署人在签名时只能使用AI智能识别手写签名(OCR_ESIGN)。
输入示例
POST / HTTP/1.1
Host: ess.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMultiFlowSignQRCode
<公共请求参数>
{
"Operator": {
"UserId": "yDRCLUUgygq2xun5UuO4zjEwg0vjoimj"
},
"FlowEffectiveDay": 7,
"QrEffectiveDay": 7,
"MaxFlowNum": 5,
"TemplateId": "yDRscUUgyg1zr7wnUyJ8QMwwnHc4OOcQ",
"FlowName": "示例合同-通过二维码发起",
"ApproverComponentLimitTypes": [
{
"RecipientId": "yDRscUUgyg3zr9vfUyJ8QKwCN7z9YcOh",
"Values": [
"HANDWRITE",
"SYSTEM_ESIGN"
]
},
{
"RecipientId": "yDwJNUUckpkojrmqUxTFHk0yndh70CpW",
"Values": [
"OCR_ESIGN"
]
}
]
}
输出示例
{
"Response": {
"QrCode": {
"ExpiredTime": 1695783727,
"QrCodeId": "yDwJNUUckpkoj9mdUIJN2kC7XWFFaSuR",
"QrCodeUrl": "https://dyn.test.ess.tencent.cn/imgs/multiSignQrCodes/QrCode/yDwJNUUckpkoj9mdUIJN2kC7XWFFaSuR.png"
},
"RequestId": "s1695178926924585393",
"SignUrls": {
"AppSignUrl": "pages/guide?from=default&where=mini&autoJumpBack=true&to=CHANNEL_CONTRACT_COVER&qrCodeId=yDwJNUUckpkoj9mdUIJN2kC7XWFFaSuR&expiredTime=1695783727",
"EffectiveTime": "",
"HttpSignUrl": "https://res.ess.tencent.cn/cdn/h5-activity-dev/jump-mp.html?where=mini&from=MSG&to=CHANNEL_CONTRACT_COVER&qrCodeId=yDwJNUUckpkoj9mdUIJN2kC7XWFFaSuR&expiredTime=1695783727"
}
}
}
示例3 创建指合同流程签署二维码失败-模板不支持
如果模板不符合以下以下任意一个条件
- 模板中配置的签署顺序是无序
- B端企业的签署方式是静默签署
- B端企业是非首位签署 则创建二维码失败,返回错误信息
输入示例
POST / HTTP/1.1
Host: ess.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMultiFlowSignQRCode
<公共请求参数>
{
"FlowName": "测试合同",
"MaxFlowNum": 100,
"QrEffectiveDay": 7,
"FlowEffectiveDay": 7,
"Operator": {
"UserId": "yDRCLUU******wg0vjoimj"
},
"TemplateId": "yDRS4U******xmzsIAR"
}
输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.QrCodeTemplateId",
"Message": "二维码生成失败,模板未满足生成二维码"
},
"RequestId": "s169*****0872"
}
}
示例4 创建有数量或时间限制的合同流程签署二维码
创建一码多扫流程签署二维码,设置该二维码在7天内有效,并将最大合同流程签署数量限制为100份。 设定签署合同的有效期为7天。
输入示例
POST / HTTP/1.1
Host: ess.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMultiFlowSignQRCode
<公共请求参数>
{
"FlowName": "测试合同",
"MaxFlowNum": 100,
"QrEffectiveDay": 7,
"FlowEffectiveDay": 7,
"Operator": {
"UserId": "yDRCLUU******wg0vjoimj"
},
"TemplateId": "yDRS4U******TmzsIAR"
}
输出示例
{
"Response": {
"QrCode": {
"QrCodeUrl": "https://res.ess.tencent.cn/mp-gate/release/CHANNEL_CONTRACT_COVER/xxx",
"ExpiredTime": 1693814798,
"QrCodeId": "yDRS****jEuBzwyiofZ"
},
"SignUrls": {
"EffectiveTime": "2022-08-05 15:55:01",
"HttpSignUrl": "https://res.ess.tencent.cn/cdn/h5-activity/jump-mp.html?where=mini&from=MSG&to=CHANNEL_CONTRACT_COVER&xxx",
"AppSignUrl": "pages/guide?from=default&where=mini&autoJumpBack=true&to=CHANNEL_CONTRACT_COVER&xxx"
},
"RequestId": "s198*****111"
}
}
5. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation | 操作失败。 |
FailedOperation.QrCodeCreatorSignComponents | 签署二维码模板发起方签署人存在签署控件,请检查模板后重试。 |
FailedOperation.QrCodeSignUsers | 签署二维码模板签署人不存在,请检查模板后重试。 |
FailedOperation.QrCodeTemplateId | 一码多人二维码模板有误。 |
FailedOperation.RequestLimitExceeded | 请求的次数超过了频率限制,请联系客服处理。 |
InternalError | 内部错误。 |
InternalError.System | 系统错误,请稍后重试。 |
InvalidParameter.CardNumber | 不合法的证件信息,请检查证件号证件类型是否正确。 |
InvalidParameter.DataNotFound | 数据不存在。 |
InvalidParameter.FlowName | 不合法的签署流程名称,请修改后重试。 |
InvalidParameter.Mobile | 不合法的手机号,请检查后重试。 |
InvalidParameter.Name | 不合法的用户名称,请修改后重试。 |
InvalidParameter.QrEffectDay | 签署二维码的有效期不合法,请联系客服了解规则,并修改后重试。 |
InvalidParameter.QrFlowEffectDay | 二维码合同的有效期不合法,请联系客服了解规则,并修改后重试。 |
InvalidParameter.TemplateId | 不合法的签署二维码模板id,请检查修改后重试。 |
MissingParameter | 缺少参数错误。 |
OperationDenied | 操作被拒绝。 |
OperationDenied.Forbid | 禁止此项操作。 |
OperationDenied.NoLogin | 用户未登录,请先登录后再操作。 |
OperationDenied.NoQuota | 企业额度不足,请检查企业额度后处理。 |
OperationDenied.NoVerify | 未完成实名认证,请检查后重试。 |
OperationDenied.UserNotInOrganization | 用户不归属于当前企业,无法操作,请检查后重试。 |
ResourceNotFound.AuthActiveOrganization | 机构未完成认证激活,请检查并联系客服处理。 |
ResourceNotFound.Organization | 机构不存在或者未完成认证,请检查机构信息。 |
ResourceNotFound.Resource | 未获取到文件资源,请检查资源是否完成上传,是否有效,并在修改后重试。 |
ResourceNotFound.Template | 模板不存在,请检查模板参数,模板配置,并稍后重试。 |
ResourceUnavailable | 资源不可用。 |
UnauthorizedOperation.NoPermissionFeature | 请升级到对应版本后即可使用该接口。 |