授权签(PIN码)使用说明
目录
本(己方)企业授权签
本方企业(即"合同发起方")在作为签署方时可以不手动进入签署页面进行签署操作,由腾讯电子签负责自动给合同进行盖章动作。
一. 开通本(己方)企业授权签功能
通过生成子客登录链接生成子客超级管理员或者法人的登录链接,对应的子客的超级管理员或者法人点击登录子客控制台, 然后到 企业中心->拓展服务点击企业授权签署栏目的开通按钮进行授权签的开通。

需要子客超级管理员或者法人用微信来扫描弹窗中的二维码,到微信小程序签署《“开通企业授权签”知情同意书》。

- 子客超级管理员或者法人在微信小程序查看并签署《“开通企业授权签”知情同意书》。
| 查看 | 签署 | |
|---|---|---|
![]() | > | ![]() |
- 《“开通企业授权签”知情同意书》签署完成后,控制台显示本企业授权签已开通。

- 本(己方)企业授权签开通后,可以选择那些模板本企业是授权签,也可以配置哪些员工可以发起授权签的合同。

二. 使用模板发起本(己方)企业授权签的合同
电子签为您提供了 通过文件发起签署流程 以及 通过模板发起签署流程 两种发起方式,如果您选择模板发起请阅读本节内容,如果您选择文件发起请阅读下一节内容。
这部分的流程可以参考 创建模板&设置成本企业授权签 和 【用模板创建签署流程】编写示例视频教程这两个视频教程。
- 开通本(己方)企业授权签后,下面介绍怎么将创建授权签的合同模板,首先进入模板的创建流程。

- 按照下面的图示创建合同模板
- 上传PDF

- 增加签署控件

- 本(己方)企业作为其中一个签署方

- 分配签署控件给本(己方)企业

- 保存模板

- 将模板配置成本(己方)企业授权签模板,按照下面的步骤进行
- 进入企业授权签管理界面

- 点击添加授权签模板进入模板添加为本(己方)企业授权签模板的选择界面

- 选择刚才创建的模板,点击下一步进入本(己方)企业授权签使用的印章的选择页面

- 点击选择印章,在出现的弹窗中选择需要使用的印章后,点击确认

- 点击印章选择页面上的下一步,保存授权签的印章选择,

- 可以看到是否设置成功的界面。如果设置失败也会展示失败的原因,可以修改后重试

三. 设置/重置员工授权PIN码
员工 授权 PIN 码 用于通过第三方应用 API 接口以该员工为经办人发起授权签合同。
通过生成子客登录链接生成员工的登录链接,对应的员工点击登录子客控制台, 然后到 企业中心->拓展服务点击企业授权签署栏目的员工PIN码设置进行PIN码设置。

未设置时单击设置,在弹窗中单击确认,系统生成32位 授权 PIN 码 并仅当次展示,单击复制并妥善保存。

弹窗可以看到已经设置成功

已设置后仅保留重置入口。单击重置,在确认弹窗中单击确定,新 授权 PIN 码 仅当次展示,请立即复制保存。

四. 接口发起本(己方)企业授权签的合同
通过模版发起合同(CreateFlowsByTemplates)时指定需要授权签的企业(即发起方企业)的ApproverType为ORGANIZATION_PIN_CODE_SIGN。示例:
入参
{
"Agent": {
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi",//应用的appid
"ProxyOrganizationOpenId": "org_dianziqian",//本企业的org_open_id
"ProxyOperator": {
"OpenId": "n9527"//发起员工的openid
}
},
"FlowInfos": [{
"FlowName": "小狗买卖合同(15:15:35)",//这个合同的名字
"TemplateId": "yDCHZUUckpa92gkgUEGCHIpxTXEX7JWe",//使用的模板的id
"FlowApprovers": [{
"ApproverType": "ORGANIZATION_PIN_CODE_SIGN",//本(己方)企业授权PIN码签的参与方式
"PinCode":"签署校验码",
}
]
}
]
}
出参
{
"Response": {
"FlowIds": [
"yDCHZUUckpa983dbUuc3g1LBm7eN2CjI"//生成的合同的id
],
"FlowApprovers": [
{
"FlowId": "yDCHZUUckpa983dbUuc3g1LBm7eN2CjI",
"Approvers": [
{
"SignId": "yDCHZUUckpa983daUuc3g1LBhgK5L5in",
"RecipientId": "yDCHZUUckpa9835pUuc3g1LwmPSDXHmJ",
"ApproverRoleName": "典子谦示例企业"
}
]
}
],
"RequestId": "a96086f2-483a-497d-a07b-3cb958bb21aa"
}
}
注意:通过模版发起本企业授权签合同时,本企业经办人不填,会以发起方(Agent中指定的企业和员工)作为经办人,不可更改。即使在 FlowApprovers 中额外指定了本企业经办人(如OpenId 等员工信息)也不生效,仍会用发起方员工来填充。
上述示例签署的效果

三. 使用PDF文件发起本(己方)企业授权签的合同
限制:通过文件发起合同时本(己方)企业授权签能力为白名单功能,使用前请联系对接的客户经理沟通。
- 开通本(己方)企业授权签后,下面介绍怎么配置使用PDF文件发起(己方)企业授权签的合同。
进入企业授权签管理界面

依次点击企业合作方授权->前往授权进入授权页面

在授权页面选择授权那些印章可用于文件发起的授权签

保存印章授权,会出现授权二维码,需要子客的超级管理员或者法人用微信扫描后签署《授权同意书》

子客的超级管理员或者法人签署《授权同意书》

可以到控制台看到授权完成

提示: 除了通过以上方式进入控制台进行授权外,还可以通过接口获取的授权链接进行授权。接口请参见创建他方企业授权签授权链接(PlatformAppAuthorization参数指定为true),通过此接口SealTypes字段还可以指定可被授权的印章类型。
- 接口发起本(己方)企业授权签的合同
通过文件发起合同(ChannelCreateFlowByFiles)指定本(己方)企业授权签的示例如下,为方便描述我们将接口入参以 json 格式进行展示:
入参
{
"Agent": {
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi",//应用的appid
"ProxyOrganizationOpenId": "org_dianziqian",//本企业的org_open_id
"ProxyOperator": {
"OpenId": "n9527"//发起员工的openid
}
},
"FlowName": "小狗买卖(16:00:47)", //合同的名字
"FlowApprovers": [
{
"OrganizationName": "典子谦示例企业", //本企业的名字(这个是必填的)
"ApproverType": "ORGANIZATION_PIN_CODE_SIGN", //文件发起 , 本(己方)企业员工授权PIN码签参与类型,必须为ORGANIZATION_PIN_CODE_SIGN
"PinCode":"签署校验码",
"SignComponents": [ //签署控件(必填)
{
"ComponentType": "SIGN_SEAL", // 企业印章控件
"ComponentWidth": 250,//印章的宽
"ComponentHeight": 80,//印章的高
"ComponentPage": 1,//印章在的页码
"ComponentPosX": 146.15625,//印章的位置横坐标
"ComponentPosY": 472.78125 //印章的位置纵坐标
}
]
}
],
"FileIds": [
"yDCHbUUckpaxdgecUuGS8n5yFs4WLvvy" //上传文件返回的文件ID
]
}
出参
{
"Response": {
"FlowId": "yDCHZUUckpa981suUuc3g1LkZEubftIM",//生成的合同的ID
"Approvers": [
{
"SignId": "yDCHZUUckpa981saUuc3g1LR3TMMuh6B",
"RecipientId": "yDCHZUUckpa981sbUuc3g1L8jxYxkEtM",
"ApproverRoleName": ""
}
],
"RequestId": "9666be69-48a0-461d-bd6f-a29c2b37f116"
}
}
注意:通过文件发起本企业授权签合同时,本企业经办人不填,会以发起方(Agent中指定的员工)作为经办人,不可更改。即使在 FlowApprovers 中额外指定了本企业经办人(如OpenId 等员工信息)也不生效,仍会用发起方员工来填充。
上述示例签署的效果

合作方(他方)企业授权签
合作方(他方)企业授权签是指非发起方企业签署时不手动进入签署页面进行签署操作,由腾讯电子签负责自动给合同进行盖章动作。
1. 合作方(他方)企业授权签业务限制
- 合作方授权签能力为白名单功能,使用前请联系对接的客户经理沟通。
- “合作方”只支持和发起方同一个应用(AppId)下的子客企业,不能跨应用,也不支持SaaS企业。
2. 合作方(他方)企业授权
示例会出现两个企业,一个是典子谦示例企业,另一个是益达呱呱的子客
我们准备实现典子谦示例企业发起合同给益达呱呱的子客, 益达呱呱的子客这个企业签署方授权签的效果。
在这个示例中益达呱呱的子客就是合作方(他方)授权签 需要通过生成子客登录链接生成合作方(他方)企业的超级管理员或者法人登录链接, 合同方企业的超级管理员或者法人点击链接进入控制台后按照下面的操作进行授权。
合作方益达呱呱的子客的法人或超管登陆子客控制台,并开通本方授权签,这个可以参照上面的开通本(己方)企业授权签功能章节
合作方益达呱呱的子客的法人或超管依次点击管理->企业合作方授权进入到授权页面

合作方益达呱呱的子客的法人或超管进行印章的授权

合作方益达呱呱的子客的法人或超管微信扫二维码签署《授权同意书》

合作方益达呱呱的子客的法人或超管微信扫描二维码后签署《授权同意书》

控制台可以看到授权成功

提示: 除了通过以上方式进入控制台进行授权外,还可以通过接口获取的授权链接进行授权。接口请参见创建他方企业授权签授权链接,通过此接口SealTypes字段还可以指定可被授权的印章类型。
3. 设置/重置合作方授权 PIN 码
授权 PIN 码 由授权方企业的法人或超管设置,用于被授权方通过 API 接口发起授权签合同时校验。同一合作方企业的所有授权(按模板、按印章)共用1个 授权 PIN 码。
通过生成子客登录链接生成员工的登录链接,对应的员工点击登录子客控制台, 然后到 企业中心->拓展服务点击企业授权签署栏目的管理,在我给合作方授权列表中找到目标企业,进行PIN码设置。
单击该企业的 设置 PIN 码(未设置时)或 重置 PIN 码(已设置时)。

在确认弹窗中单击确定,成功弹窗当次展示 授权 PIN 码,单击复制保存并提供给被授权方。

弹窗可以看到设置成功

多个企业需重置时,勾选企业后单击列表上方批量重置 PIN 码,生成1个新 授权 PIN 码 复用到所选企业。

4. 模版发起合作方(他方)企业授权签的合同
创建模版时需要注意,对于“合作方企业”,在模版中签署方需要选择「企业签署方」,无需给合作方企业的签署控制选择印章(盖合作方授权时选的印章,选取优先级 【公章、合同专用章、其他】),且模版无需指定授权签类型。

注意:他方授权签无需要传员工OpenId,经办人默认为他方企业超管。即使传了员工OpenId等员工信息也不生效,会用合作方(他方)给我们授权签授权的授权人(他方企业超管)来授权签。示例:
入参
{
"Agent": {
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi",//应用的appid
"ProxyOrganizationOpenId": "org_dianziqian",//发起方企业的org_open_id
"ProxyOperator": {
"OpenId": "n9527"//发起方企业员工的openid
}
},
"FlowInfos": [
{
"FlowName": "小狗买卖合同(17:07:48)",//流程的名字
"TemplateId": "yDCHZUUckpa98o6dUuc3g1LP0cK3sr2h",//使用模板的ID
"FlowApprovers": [
{
"OrganizationName": "典子谦示例企业",//本方企业的名字, 这个参与方是手动签署
"OpenId": "ggboud",//本方企业员工的openid
"OrganizationOpenId": "org_dianziqian",//本方企业的org_open_id
"ApproverType": "ORGANIZATION_PIN_CODE_SIGN",//本(己方)企业员工授权签参与类型
"PinCode":"签署校验码",
"RecipientId": "yDCHZUUckpa98oi9Uuc3g1LBvOjPT147"//本方参与的角色ID,可以通过拉取模板的信息得到
},
{
"OrganizationName": "益达呱呱的子客",//合作方企业的名字,这个合作方是授权签的
"OrganizationOpenId": "org_guagua",//合作方企业的org_open_id
"ApproverType": "OTHER_ORGANIZATION_PIN_CODE_SIGN",//合作方企业的签署方式(合作方(他方)企业授权PIN码签)
"PinCode":"签署校验码",
"RecipientId": "yDCHZUUckpa98oixUuc3g1LE93SM8QeS"//合作方企业参与的角色ID,可以通过拉取模板的信息得到
}
]
}
]
}
出参
{
"Response": {
"FlowIds": [
"yDCHZUUckpa98oigUuc3g1LSgoY7jl68" //生成的合同的合同ID
],
"FlowApprovers": [
{
"FlowId": "yDCHZUUckpa98oigUuc3g1LSgoY7jl68",
"Approvers": [
{
"SignId": "yDCHZUUckpa98oidUuc3g1LEQfe9v8Hx",
"RecipientId": "yDCHZUUckpa98oi9Uuc3g1LBvOjPT147",
"ApproverRoleName": "典子谦示例企业"
},
{
"SignId": "yDCHZUUckpa98oecUuc3g1LExd2HDPVt",
"RecipientId": "yDCHZUUckpa98oixUuc3g1LE93SM8QeS",
"ApproverRoleName": "他方企业"
}
]
}
],
"RequestId": "ec65e0ef-a7f1-48a6-aea6-5a156fef4843"
}
}
上述示例签署的效果(本方企业典子谦示例企业还没有签署) 列表

合同

5. 文件发起合作方(他方)企业授权签的合同
文件发起合同接口(ChannelCreateFlowByFiles),为方便描述我们将接口入参以 json 格式进行展示:
注意:他方授权签无需要传员工OpenId,经办人默认为他方企业超管。即使传了员工OpenId等员工信息也不生效,会用合作方(他方)给我们授权签授权的授权人(他方企业超管)来授权签。示例:
{
"Agent": {
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi",//应用的appid
"ProxyOrganizationOpenId": "org_dianziqian",//发起方企业的org_open_id
"ProxyOperator": {
"OpenId": "n9527"//发起方企业员工的openid
}
},
"FlowName": "小狗买卖合同(17:25:40)",
"Unordered": true,
"FlowApprovers": [{
"OrganizationName": "益达呱呱的子客",//合作方企业的名字,这个合作方是授权签的
"OrganizationOpenId": "org_guagua",//合作方企业的org_open_id
"ApproverType": "OTHER_ORGANIZATION_PIN_CODE_SIGN",//合作方企业的签署方式(合作方(他方)企业授权PIN码签)
"PinCode":"签署校验码",
"SignComponents": [{
"ComponentType": "SIGN_SEAL", // 企业印章控件
"ComponentWidth": 250,//印章的宽
"ComponentHeight": 80,//印章的高
"ComponentPage": 1,//印章在的页码
"ComponentPosX": 146.15625,//印章的位置横坐标
"ComponentPosY": 472.78125 //印章的位置纵坐标
"ComponentValue": "" // 印章ID非必传,若未指定,则按照授权印章列表中的 【公章、合同专用章、其他】的优先级自动选择印章
}
]
}
],
"FileIds": [
"yDCHZUUckpa98oigUuc3g1LSgoY7jl68" //上传文件返回的文件ID
],
"Action": "ChannelCreateFlowByFiles"
}
PIN 码认证令牌计算规则
当使用 PIN 码授权签进行身份验证时,需要生成签署校验码 PinCode。其计算规则与各语言(Java、Go、Python、PHP、Node.js)示例代码,请直接使用 PIN码计算助手:
- 在线输入 PIN 码与合同名称,即时得到
PinCode,可用于比对自测结果。 - 提供 Java、Go、Python、PHP、Node.js 五种语言的计算示例代码,可直接复制接入。
- 计算全程在浏览器本地完成,数据不会上传。
PIN 码变更后的签署失败处理
合同发起时传入的
PinCode是按签署人当时的 PIN 码计算的。若签署人在合同发起后修改或重置了 PIN 码,轮到该签署方进行 PIN 码授权签署时会校验失败。本章说明如何感知失败、如何更新 PinCode 并恢复签署。
1. 如何感知 PIN 码校验失败
接收 PIN 码验证签署失败回调
注册回调后,当轮到 PIN 码签类型的签署方进行 PIN 码授权签署且 PIN 码校验失败时,电子签会向发起方企业推送 PinCodeSignVerifyFailed 回调,主要携带:
| 字段 | 说明 |
|---|---|
| FlowId / FlowGroupId | 校验失败的合同 ID,合同组场景同时返回子合同所属的合同组 ID |
| ApproverInfo | 校验失败的签署方信息:姓名、企业名称明文,手机号、证件号码打码返回 |
| FailReason / FailMessage | 失败原因:0-PIN码验证失败 |
回调的完整字段说明与报文示例参见 PIN 码相关回调。
2. 如何更新签署人的 PinCode
PIN 码由签署人自行设置/重置(子客员工参见 设置/重置员工授权PIN码,合作方企业参见 设置/重置合作方授权 PIN 码),平台不会透出,请向签署人获取其当前最新的 PIN 码后按以下步骤操作:
- 按 PIN 码认证令牌计算规则,使用最新 PIN 码 + 该合同名称重新计算 PinCode。注意合同组内每个子合同的名称不同,须逐个子合同分别计算。
- 调用 ModifyFlowApproverPinCodes(更新签署方 PIN 码) 接口更新合同中已记录的 PinCode。
- 更新成功后,若当前已轮到该签署方签署,电子签会自动重新发起签署;若尚未轮到,则会在轮到该签署方时使用新的 PinCode 进行校验。注意签署是异步进行的,具体是否签署成功可通过监听合同状态变更回调获取。
3. 完整处理流程
发起合同(按签署人当时的 PIN 码计算并携带 PinCode)
│
▼
签署人修改/重置了 PIN 码
│
▼
轮到该签署方进行 PIN 码授权签署,PIN 码校验失败
│
▼
发起方接收 PinCodeSignVerifyFailed 回调,感知失败
│
▼
向签署人获取最新 PIN 码 → 按最新 PIN 码 + 合同名称重新计算 PinCode
│
▼
调用 ModifyFlowApproverPinCodes 更新签署方 PinCode
│
▼
已轮到 → 自动重新发起签署;未轮到 → 轮到时使用新 PinCode 校验
│
▼
监听合同状态变更回调,确认签署结果

