其他常见问题
为什么收不到签署短信?
如果签署人收不到短信,可以从以下几个方面进行排查:
- 规则限制:自建应用的短信规则较为复杂,除了在企业设置-拓展服务中有全局控制的开关“短信通知签署方”外,短信是否默认发送还受到多方面因素的影响,具体规则见下图:
发起解除协议时会给签署方发送短信且不能配置。
- 签署顺序:对于设置了签署顺序的合同,请确保当前是否已经轮到此签署人签署;
- 手机配置:短信被用户手机中的系统/软件拦截屏蔽,请检查屏蔽列表;
- 短信限频:电子签给同一个手机号所发短信会有频率限制:1条/30秒、10条/小时、20条/天。
如何在发起流程时不对签署方发送短信?
在调用 CreateFlowByFiles 或者 CreateFlow 接口时,签署人信息设置 NotifyType 参数为“none”。
输入手机号码获取验证码提示发送频率超过限制,短信发送的限制规则是什么?
目前腾讯电子签集成版针对单个应用号做了短信的限额,同一个应用号下:
- 对同一个手机号,30 秒内发送短信条数不超过 1 条。超出限额会提示:短信发送频率超出限制,请等待一分钟后重试。
- 对同一个手机号,1 小时内发送短信条数不超过 10 条。超出限额会提示:本小时验证码发送数量超出限制,请稍后重试。
!1 小时为每自然小时,如 13 点 ~ 14 点为 1 个自然小时。
- 对同一个手机号,1 自然日内发送短信条数不超过 20 条。超出限额会提示:今日验证码发送量已超出限制,请联系工作人员处理。
?如需调整频控策略,请联系客户经理或邮件至 e-contract@tencent.com 与我们联系。
使用人脸识别进行实名认证时,总是识别失败怎么办?
如果人脸识别验证失败,可能是以下原因导致,您可以参见失败原因再次尝试:
- 脸部遮挡。
- 本人与照片差距过大。
- 姓名或身份证填写错误。
- 验证过程中人脸没有完全出现在屏幕中。
支持自动签署吗?
自动签署是指在某些场景下,企业签署方无需手动进入签署页面进行签署操作,由腾讯电子签负责自动给合同进行盖章动作。详细接入步骤请参见:
合同只能由发起时指定的签署人签署吗?
- 签署方为个人
- 如果指定了合同由A签署,则只有A可以签署这份合同;
- 通过动态签署方的能力实现发起合同时不指定具体的签署人。具体请参考:
- 签署方为企业员工
- 如果指定了合同由A签署,则只有A可以签署这份合同,或者由A操作将这份合同转交给其他同事;
- 通过动态签署方 的能力实现发起合同时不指定具体的签署人。具体请参考:
- 对于自建应用,还可以通过「企业或签」的能力实现发起合同时指定多个企业员工可或签。
“模板”、“文件”、“嵌入页面”,这些发起方式我该如何选择?
- 模板发起 如果合同应用场景比较单一,推荐用此方案,只需要在电子签后台预先配置好模板,后续发起时传入指定的签署人信息就可以了。
- 文件发起 较模板发起更为灵活,无需在电子签后台配置模板,合同发起所需的参数均由接口传入,控件定位支持通过关键字或者坐标。另外还支持由签署方在签署时通过拖拽的方式指定签章这种(模板发起不支持的)方式。
- 嵌入页面发起 如果业务中所需签署的合同文件不可预期,无法即时的去配置模板,或者很难通过文件发起的参数指定控件的位置,推荐采用此种方式。通过嵌入电子签提供的发起页面,由合同发起人每发起一份合同,都在嵌入页面上重新指定合同文件、签署控件、签署人等内容。
文件发起合同时,如何定位控件的位置?
通过文件发起合同会涉及到控件(签署控件/填写控件)在PDF文件中的定位,电子签支持三种定位方式。其中关键字定位和坐标定位较为常用,在使用时需要注意以下几点:
- 对于关键字定位,推荐用
RelativeLocation
参数结合OffsetX和OffsetY来做相对位置的微调,以防Offset给的不合理导致控件出了文件边界。代码示例(上图最后一个章):
{
"GenerateMode": "KEYWORD",
"ComponentId": "关键字",
"FileIndex": 0,
"ComponentType": "SIGN_SEAL",
"ComponentWidth": 119,
"ComponentHeight": 119,
"RelativeLocation": "Right",
"OffsetX": 22,
"OffsetY": 11
}
- 对于坐标定位,可以使用PDF坐标计算助手辅助您对控件进行定位,具体可参考使用介绍。
- 对于印章和签名,
ComponentWidth
和ComponentHeight
建议采用以下推荐值,保持和官方模板配置一致:- SIGN_SEAL:宽 119 高 119
- SIGN_SIGNATURE: 宽 119 高 43
- SIGN_DATE: 宽 119 高 20
是否支持外国人和港澳台居民签署
- 由于公安库里没有提供外国人的信息以供对比,目前外国人签署只能通过形式签(具体请咨询电子签客户经理)。
- 港澳台居民目前支持的证件类型请参见常见个人证件类型介绍。
- 如果是通过H5签署,由于人脸数据库的关系,除了身份证以外,目前仅支持少量830开头的港澳台居民居住证。
- 需在企业扩展服务(第三方应用是在子客企业扩展服务)中打开以下选项:
电子签支持哪些签署终端,该如何选择?
支持通过电子签小程序、H5、Web页面进行签署。集成哪种签署终端一般来说取决于自有应用的形态,如果业务是:
- 小程序: 集成电子签小程序。可以通过全屏或者半屏(演示视频 )拉起电子签小程序进行签署。
- APP: 集成电子签小程序 或 H5
- Web: 集成电子签Web页面(仅支持企业签署方)
合同撤销和废弃有何区别?
撤销:合同撤销是指在当前至少还有一方没有签署时,可以结束此合同的行为。撤销后的合同即为“已撤销”状态,是一种合同终态。 废弃:合同废弃是指合同所有签署方已经签署完毕,但需要作废此合同的行为。具体做法和线下一样,实际上是另外发起一份“解除协议”用以作废当前合同。

支持签署的时候自由设置签章位置吗?
自建应用
文件发起合同时通过设置CreateFlowByFiles接口中的SignBeanTag
参数为1,可不指定签署控件,由各签署方在签署时通过拖拽的方式先设置控件,然后再进行签署(视频演示)。需要注意以下几点:
- SignBeanTag 是合同维度的参数,一旦设定,合同涉及到的所有签署方均不能在发起时设置签署控件。
- 可通过签署方结构体ApproverInfo中的
AddSignComponentsLimits
字段限制签署时可选的控件类型(如印章/骑缝章)和值(具体哪个印章) - 不能设置企业自动签署
- 模板发起不支持此功能
第三方应用
文件发起合同时通过设置ChannelCreateFlowByFiles接口中的SignBeanTag
参数为1,可不指定签署控件,由各签署方在签署时通过拖拽的方式先设置控件,然后再进行签署(视频演示)。需要注意以下几点:
- SignBeanTag 是合同维度的参数,一旦设定,合同涉及到的所有签署方均不能在发起时设置签署控件。
- 可通过签署方结构体FlowApproverInfo中的
AddSignComponentsLimits
字段限制签署时可选的控件类型(如印章/骑缝章)和值(具体哪个印章) - 不能设置企业自动签署
- 模板发起不支持此功能
支持一个签署流程,签署多份合同文件吗?
电子签支持批量签署合同:
- 签署方为企业员工,参考批量签署指引 先完成授权,之后可以在PC和小程序进行批量签署;
- 签署方为个人,可直接进入小程序进行批量签署。
如果集成了电子签API,也可以通过获取批量签署链接,引导用户进行批量签署:
- 自建应用:
- 第三方应用:
已经签署完成的合同怎么作废删除
可以通过签署解除协议解除原合同(暂不支持通过界面解除) ,签署解除协议之后,原合同状态将会变成已解除。目前仅支持通过API解除协议,具体请参见:
也可以通过电子签提供的解除协议模板,或者由接入方法务确认过的其他解除模版来发起解除协议。另外,通过控制台发起的解除协议不能改变原合同的状态。
发起合同前如何实现预览?
自建应用
通过模板发起: 可以通过设置CreateDocument接口的
NeedPreview
字段实现合同预览:通过文件发起: 可以通过设置CreateFlowByFiles接口的
NeedPreview
字段实现合同预览。
第三方应用
通过模板发起: 可以通过设置CreateFlowsByTemplates接口的
NeedPreview
字段实现合同预览。通过文件发起: 可以通过设置ChannelCreateFlowByFiles接口的
NeedPreview
字段实现合同预览。
单份合同内的签章个数有上限的吗?
最多支持50方签署,每个签署方可以多个签名(无限制)。
合同撤销后会返还合同份额吗
所有签署方未签署(不包含自动签)的撤回会返还合同份额的。如果有其中一个签署方签署了就不会返还。
客户小程序如何跳转到电子签小程序完成签署?
请参见小程序 官方文档 。小程序支持直接跳转到签署页面,完成签署后可返回客户小程序。可参见以下代码:
wx.navigateToMiniProgram({
appId:'wxa023b292fd19d41d', // 电子签小程序的appId
path:'pages/guide?from=SFY&to=CONTRACT_DETAIL&id=${flowId}&name=%E6%9D%A8%E5%B8%88&phone=MTc2MTI3Nzg1Mjk%3D', //${flowId}为流程 id,name、phone 按需给
envVersion:'release’,
success(res){
// 打开成功
}
})
path 里的参数(name,phone)均使用 ~${base64url(value)}
统一编码。
客户 App 如何跳转到电子签小程序完成签署?
- Android App 请参见 官方文档 。
- iOS App 请参见 官方文档 。
- 所需参数:
电子签小程序 Appid:
wxa023b292fd19d41d
。 电子签小程序原始 ID:gh_da88f6188665
。 电子签小程序合同详情页:path:pages/guide?from=app&to=CONTRACT_DETAIL&id=${flowId}&name=&phone=
。
- 测试环境: 电子签小程序 Appid:wx371151823f6f3edf。 电子签小程序原始 ID:gh_39a5d3de69fa。 电子签小程序合同详情页:path:pages/guide?from=app&to=CONTRACT_DETAIL&id=${flowId}&name=&phone=。
为什么客户在小程序中无法找到自己的合同?
请确认客户有使用和发起时相同的姓名、手机号进行小程序登录。且在个人中心 > 切换身份确认已切换为签署时要求的身份。

如何选择通过全屏或半屏方式打开电子签小程序?
可参见微信官方文档:
如何配置跳转至电子签小程序的不同页面?
请参见以下表格及说明:
参数说明
下表描述的是外部小程序拉起电子签小程序首页、列表页、个人中心页、合同封面页、合同详情页的参数配置。
参数 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
path | string | - | 是 | 目标页面路由。 |
login | number | 0 | 否 | 是否需要登录。 |
verify | number | 0 | 否 | 是否需要实名。 |
accountType | string | - | 否 | personal:切换个人身份。 |
userIds | string | - | 否 | 如果该链接目标用户只有一个人使用,则直接取该用户的 userId;如果该链接目标用户多人使用,可以将 userId1,userId2 这样赋值:[userId1,userId2]。 |
organizationId | string | - | 否 | 企业账号的企业 ID,如果添加此参数则还要同步携带 orgName。 |
orgName | string | - | 否 | 企业账号的名称,如果添加 organizationId 则还要同步携带此参数。 |
id | string | - | 否 | 合同 ID,如果是到合同封面页或者合同详情页,此参数必填。 |
channel | string | - | 否 | 其他小程序渠道的标记,方便统计使用。 |
quickSponsor | string | false | 否 | 到首页是否需要立即拉起快速发起合同弹框。 true:出现快速发起弹框。 false:不出现。 |
首页
C 端用户进入首页
- pages/guide/index?path=/pages/home/home-index&accountType=personal&channel=${channel}
C 端用户进入首页-快速发起合同
- pages/guide/index?path=/pages/home/home-index&login=1&accountType=personal&channel=${channel}&quickSponsor=true
B 端用户进入首页
进入 B 端首页必须已登录已实名,可指定用户的 userIds 合集,或者 organizationId(指定了 organizationId,则需要同步携带 orgName 以下两种方式均可:
- pages/guide/index?path=/pages/home/home-index&login=1&verify=1&userIds=${userIds}&channel=${channel}
- pages/guide/index?path=/pages/home/home-index&login=1&verify=1&organizationId=${organizationId}&orgName=${orgName}&channel=${channel}
B 端用户进入首页-快速发起合同
- pages/guide/index?path=/pages/home/home-index&login=1&verify=1&userIds=${userIds}&channel=${channel}&quickSponsor=true
- pages/guide/index?path=/pages/home/home-index&login=1&verify=1&organizationId=${organizationId}&orgName=${orgName}&channel=${channel}&quickSponsor=true
列表页
C 端进入用户列表页
- pages/guide/index?path=/pages/home/home-list&login=1&verify=1&accountType=personal&channel=${channel}
B 端进入用户列表页
进入 B 端首页必须已登录已实名,可指定用户的 userIds 合集,或者 organizationId(指定了 organizationId,则需要同步携带 orgName。)。 以下两种方式均可:
- pages/guide/index?path=/pages/home/home-list&login=1&verify=1&userIds=${userIds}&channel=${channel}
- pages/guide/index?path=/pages/home/home-list&login=1&verify=1&organizationId=${organizationId}&orgName=${orgName}&channel=${channel}
个人中心
C 端进入用户个人中心
- pages/guide/index?path=/pages/home/home-user&accountType=personal&channel=${channel}
B 端进入用户个人中心
进入 B 端首页必须已登录已实名,可指定用户的 userIds 合集,或者 organizationId(指定了 organizationId,则需要同步携带 orgName。)。 以下两种方式均可:
- pages/guide/index?path=/pages/home/home-user&login=1&verify=1&userIds=${userIds}&channel=${channel}
- pages/guide/index?path=/pages/home/home-user&login=1&verify=1&organizationId=${organizationId}&orgName=${orgName}&channel=${channel}
合同封面页
C 端用户进入合同封面页或 B 端用户合同封面页
未登录或者未实名的用户也可进入到合同封面页,切换到个人身份可以使用两种方式,使用 accountType=personal,或者使用 userIds 赋值个人身份的 userId。
- pages/guide/index?path=/pages/mvp/contract-preview&accountType=personal&id=${id}&channel=${channel}
- pages/guide/index?path=/pages/mvp/contract-preview&userIds=${userIds}&id=${id}&channel=${channel}
合同详情页
无论是 C 端还是 B 端,进入合同详情页均必须已登录已实名。
C 端进入合同详情页
以下方式进入:
- 可以设置 accountType=personal 进入。
- 也可指定 C 端用户的个人身份的 userId。
- pages/guide/index?path=/pages/contracts/contract-detail&login=1&verify=1&id=${id}&accountType=personal&channel=${channel}
- pages/guide/index?path=/pages/contracts/contract-detail&login=1&verify=1&id=${id}&userIds=${userIds}&channel=${channel}
!
- 如果 B2C 合同发起,对方签署方 C 是新用户,则 C 没有 userId,可指定参数 accountType=personal。
- 如果 B2C 合同发起,对方签署方 C 是老用户,则以上两种方式均可。
B 端进入合同详情页
可指定用户的 userIds 合集,或者 organizationId(指定了 organizationId,则需要同步携带 orgName。)。
- 以下两种常用方式均可:
- pages/guide/index?path=/pages/contracts/contract-detail&login=1&verify=1&id=${id}&userIds=${userIds}&channel=${channel}
- pages/guide/index?path=/pages/contracts/contract-detail&login=1&verify=1&id=${id}&organizationId=${organizationId}&orgName=${orgName}&channel=${channel}
- 特殊情形:
- pages/guide/index?path=/pages/contracts/contract-detail&login=1&verify=1&id=${id}&accountType=personal&channel=${channel}
!
- 如果 B2B 合同发起,对方签署方 B 所在的企业没有注册,那么使用特殊情形,切换到个人身份可查看合同,合同详情页会引导用户申请企业注册。
- 如果 B2B 合同发起,对方签署方 B 没有加入该企业,那么使用特殊情形,切换到个人身份可查看合同,合同详情页会引导用户申请加入企业。
- 如果 B2B 合同发起,对方签署方 B 是该企业的员工,那么以上两种常用方式均可使用。
如何查看印章审核状态?
请登录 腾讯电子签控制台 ,访问印章管理单击印章详情对印章审核状态进行查看。
为什么印章审核通不过?
请确认印章为非绘制印章,且在图片中清晰完整。目前电子签提供以下生成印章的方式:
- 新建印章时,选择模板印章的创建方式,即可自动生成企业电子印章。
- 上传印章前在白纸上清晰盖章后拍照,确保印章在图片中清晰完整,在新建印章时,选择本地上传并上传图片。
请确保印章有按照以上方生成。具体失败原因以审核人提供的拒绝理由为准。
创建流程提示“无权限操作该印章”?
请登录 腾讯电子签控制台 ,访问印章管理单击印章详情确认已添加用户为印章持有人,只有持有人才拥有印章使用权限。
如何添加企业印章?
- 小程序端:超级管理员可在小程序首页选择印章管理选择自动生成“企业公章”的电子印章。
- 电脑端:
- 企业超管可 登录腾讯电子签 ,通过印章管理入口通过模板创建或上传图片作为印章。
- 此外,有印章管理权限的企业员工可选择上传真实印章图片作为企业电子印章,提交后我们将在 1-3 个工作日进行审核,审核通过后即可使用(请确保印章信息内容正确)。
在使用电子签的时候,签署合同时提示没有可用印章,但我已经上传了印章并且审核通过了?
提交印章但是没有可用印章的话,请先与管理员确认您是否已拥有印章权限,管理员可前往印章管理对印章持有人进行设置。详细教程请参见 印章管理。
除了超管之外是否可以设置其他员工添加印章权限?
您可参见 角色管理 文档教程,给相应员工授予印章管理权限即可。
如何计算 PDF 签名位置?
1. Adobe阅读器:
- 单击准备表单。
- 单击添加文本域。
> !此处仅做定位使用。
- 单击文本域属性 > 位置,单位选点。
!此时下方位置显示坐标值,注意此坐标值以页面左下角为原点。
- 坐标计算 ComponentPosX = 左对齐坐标 39.4847 ComponentPosY = 页面高度 - 上对齐坐标 37.3135 页面高度获取:可先将控件移至页面顶部,此时上对齐坐标值即为页面高度。
2. 福昕阅读器:
软件安装:访问福昕PDF阅读器官网,选择“个人版下载”,下载后直接安装。
软件设置:以mac版本为例,进人菜单,福昕PDF编辑器->偏好设置,左侧菜单选“测量”,度量单位选择“点”,然后点击确定。
设置目标编辑区域:打开目标PDF文档,菜单选择编辑->编辑对象->添加形状->矩形,然后在目标区域拖动鼠标,画出一个矩形。
画出矩形后,鼠标右击矩形框,选择“属性”。
可以看到矩形相关坐标信息,注意这里X/Y轴缩放为100%。
计算坐标:属性这里对应的坐标含义为页面右下角为原点的坐标系,我们创建的矩形框的左下角的坐标为(x,y)。
目标坐标系原点为页面的左上角,目标位置为矩形框的左上角点(x',y')
可以看出,ComponentPosX(x')=x坐标=175.06
将矩形框拖动到当前页面的顶部左上角处,可以获得页面顶部坐标y(顶部)
于是可以计算得到ComponentPosY(y')=y(顶部) - y坐标 = 811.93-472.69=339.24
ComponentWidth =宽度 = 137
ComponentHeight = 30
ComponentPage为当前文档的页面序号,页码编号是从1开始编号的。