跳到主要内容

创建一码多签签署码

1. 接口描述

接口请求域名: ess.tencentcloudapi.com 。

此接口(CreateMultiFlowSignQRCode)用于创建一码多签签署码。

适用场景: 签署人可通过扫描二维码补充签署信息进行实名签署。常用于提前不知道签署人的身份信息场景,例如:劳务工招工、大批量员工入职等场景。

注意:

  1. 本接口适用于发起方没有填写控件的 B2C或者单C模板, 若是B2C模板,还要满足以下任意一个条件
    • 模板中配置的签署顺序是无序
    • B端企业的签署方式是静默签署
    • B端企业是非首位签署
  2. 通过一码多签签署码发起的合同,合同涉及到的回调消息可参考文档合同发起及签署相关回调
  3. 用户通过一码多签签署码发起合同时,因企业额度不足导致失败 会触发签署二维码相关回调,具体参考文档签署二维码相关回调

签署码的样式如下图:

image

默认接口请求频率限制:300次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateMultiFlowSignQRCode。
VersionString公共参数,本接口取值:2020-11-11。
RegionString公共参数,此参数为可选参数。
OperatorUserInfo执行本接口操作的员工信息。
注: 在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。
TemplateIdString合同模板ID,为32位字符串。
可登录腾讯电子签控制台,在 "模板"->"模板中心"->"列表展示设置"选中模板 ID 中查看某个模板的TemplateId(在页面中展示为模板ID)。
示例值:yDRS***P35Swc
FlowNameString合同流程的名称(可自定义此名称),长度不能超过200,只能由中文、字母、数字和下划线组成。
该名称还将用于合同签署完成后的下载文件名。
MaxFlowNumInteger通过此二维码可发起的流程最大限额,如未明确指定,默认为5份。
一旦发起流程数超越该限制,该二维码将自动失效。
示例值:5
QrEffectiveDayInteger二维码的有效期限,默认为7天,最高设定不得超过90天。
一旦超过二维码的有效期限,该二维码将自动失效。
示例值:7
FlowEffectiveDayInteger合同流程的签署有效期限,若未设定签署截止日期,则默认为自合同流程创建起的7天内截止。
若在签署截止日期前未完成签署,合同状态将变更为已过期,从而导致合同无效。
最长设定期限不得超过30天。
示例值:7
Restrictions.NArray of ApproverRestriction指定签署人信息。
在指定签署人后,仅允许特定签署人通过扫描二维码进行签署。
UserDataString调用方自定义的个性化字段(可自定义此字段的值),并以base64方式编码,支持的最大数据大小为 20480长度。
在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。
回调的相关说明可参考开发者中心的回调通知模块。
AgentAgent代理企业和员工的信息。
在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。
ApproverComponentLimitTypes.NArray of ApproverComponentLimitType指定签署方在使用个人印章签署控件(SIGN_SIGNATURE) 时可使用的签署方式:自由书写、正楷临摹、系统签名、个人印章。
示例值:[ { "RecipientId": "yDwJNUUckpkojrssUxTFHk6xvcX2xigb", "Values": [ "HANDWRITE", "SYSTEM_ESIGN" ] }, { "RecipientId": "yDwJNUUckpkojrsqUxTFHk6yndh20CpW", "Values": [ "OCR_ESIGN" ] } ]
ForbidPersonalMultipleSignBoolean禁止个人用户重复签署,默认不禁止,即同一用户可多次扫码签署多份合同。若要求同一用户仅能扫码签署一份合同,请传入true。
示例值:true
FlowNameAppendScannerInfoBoolean合同流程名称是否应包含扫码签署人的信息,且遵循特定格式(flowname-姓名-手机号后四位)。
例如,通过参数FlowName设定的扫码发起合同名称为“员工入职合同”,当扫码人张三(手机号18800009527)扫码签署时,合同名称将自动生成为“员工入职合同-张三-9527”。
示例值:true

3. 输出参数

参数名称类型描述
QrCodeSignQrCode一码多签签署码的基本信息,用户可扫描该二维码进行签署操作。
SignUrlsSignUrl一码多签签署码的链接信息,适用于客户系统整合二维码功能。通过链接,用户可直接访问电子签名小程序并签署合同。
RequestIdString唯一请求 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 创建指定了签署方签名方式的签署二维码

  1. 使用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 创建指合同流程签署二维码失败-模板不支持

如果模板不符合以下以下任意一个条件

  1. 模板中配置的签署顺序是无序
  2. B端企业的签署方式是静默签署
  3. 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请升级到对应版本后即可使用该接口。
更多开发者交流反馈
购买咨询
微信客服
4006-808-062
4006-808-062