跳到主要内容

签署时自行添加签署控件

使用场景

  • 特性: 文件发起合同时,通过设置 SignBeanTag = 1可以允许签署方在签署时自行拖拽签署控件后再进行签署。

  • 适用场景: 文件发起的合同中,某些签署方签署方签署位置固定(发起时预设 SignComponents),某些签署方签署位置待定(需签署人在签署时自行拖拽添加)。

  • 使用限制

    1. 仅在 通过文件创建签署流程ChannelCreateFlowByFiles接口生效,模板发起不支持该能力。
    2. 如果所有签署方都预设了 SignComponents,会自动把合同 SignBeanTag 降级为 0(等同于普通签署流程)。
    3. 若部分签署方在在发起时预设了 SignComponents ,则该签署方不支持在签署时拖拽签署控件
    4. 无预设 SignComponents 的签署方支持在签署时拖拽签署控件
    5. 无预设 SignComponents 的签署方不支持自动签
    6. 无预设 SignComponents 的签署方,可以通过参数FlowApproverInfo.AddSignComponentsLimits明确规定签署方能在签署时可拖拽的签署控件类型(骑缝章、普通章、法人章等)、具体的印章ID或印章类型、个人签名方式等。 AddSignComponentsLimits

AddSignComponentsLimits 参数说明

此参数为数组类型,可以设置多个限制条件,用来限制签署方在签署时可拖拽的签署控件类型、印章ID、印章类型、个人签名方式等。

名称类型必选描述
ComponentTypeString控件类型,支持以下类型
  • SIGN_SEAL : 印章控件
  • SIGN_PAGING_SEAL : 骑缝章控件
  • SIGN_LEGAL_PERSON_SEAL : 企业法定代表人控件
  • SIGN_SIGNATURE : 用户签名控件
示例值:SIGN_SEAL
ComponentValueArray of String签署控件类型的值(可选),用于限制签署时印章或者签名的选择范围
1.当ComponentType 是 SIGN_SEAL 或者 SIGN_PAGING_SEAL 时可传入企业印章Id(支持多个)或者以下印章类型
  • OFFICIAL : 企业公章
  • CONTRACT : 合同专用章
  • FINANCE : 财务专用章
  • PERSONNEL : 人事专用章
  • OTHER : 其他
注:限制印章控件或骑缝章控件情况下,仅本企业签署方可以指定具体印章(通过传递ComponentValue,支持多个),他方企业签署人只能限制类型.若同时指定了印章类型和印章Id,以印章Id为主,印章类型会被忽略
2.当ComponentType 是 SIGN_SIGNATURE 时可传入以下类型(支持多个)
  • HANDWRITE : 需要实时手写的手写签名
  • HANDWRITTEN_ESIGN : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)
  • OCR_ESIGN : OCR印章(智慧手写签名)
  • ESIGN : 个人印章
  • SYSTEM_ESIGN : 系统印章
3.当ComponentType 是 SIGN_LEGAL_PERSON_SEAL 时无需传递此参数。示例值:["HANDWRITE", "ESIGN"]

场景示例

一份 BBC 合同:

  • B 端签署人(自动签示例企业):签署控件位置固定,发起时预设 SignComponents且签署人是企业自动签类型,发起后该签署人自动签署
  • B 端签署人(典子谦示例企业):签署位置灵活,发起时不传 SignComponents,签署时由签署方自己拖拽添加印章控件,限制普通印章只能合同专用章,骑缝章只能使用人事章。
  • C 端签署人(何规):签署位置灵活,发起时不传 SignComponents,签署时由签署方自己拖拽添加签名控件,限制能使用的个人签名方式为手写签名、OCR签名、系统签名。

调用创建签署流程接口时,将 SignBeanTag 设置为 1,并对3个签署方分别设置如下参数:

{
"Action": "ChannelCreateFlowByFiles",
"Agent": {
"ProxyOperator": {
"OpenId": "n9527"
},
"ProxyOrganizationOpenId": "org_dianziqian",
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi"
},
"FlowName": "签署时拖拽控件实例合同",
"Unordered": true,
"SignBeanTag": 1,
"FlowApprovers": [
{
"ApproverType": "ENTERPRISESERVER",
"OrganizationName": "自动签示例企业",
"OrganizationOpenId": "org_dianziqian",
"OpenId": "n9527",
"SignComponents": [
{
"ComponentPosY": 260,
"ComponentWidth": 100,
"FileIndex": 0,
"ComponentType": "SIGN_SEAL",
"ComponentPage": 2,
"ComponentPosX": 160,
"ComponentHeight": 100,
"ComponentValue": ""
}
]
},
{
"ApproverType": "ORGANIZATION",
"OrganizationOpenId": "dianziqian_example_org",
"OpenId": "dianziqian",
"OrganizationName": "典子谦示例企业",
"AddSignComponentsLimits": [
{
"ComponentType": "SIGN_SEAL",
"ComponentValue": [
"CONTRACT"
]
},
{
"ComponentType": "SIGN_PAGING_SEAL",
"ComponentValue": [
"PERSONNEL"
]
}
]
},
{
"ApproverType": "PERSON",
"Name": "张某",
"Mobile": "18700000000",
"AddSignComponentsLimits": [
{
"ComponentType": "SIGN_SIGNATURE",
"ComponentValue": [
"HANDWRITE",
"OCR_ESIGN",
"SYSTEM_ESIGN"
]
}
]
}
],
"FileIds": [
"yDSxIUUckpt4uggaUyhmOs66zu47qecJ"
]
}