添加签署方手动盖章签署区

更新时间:2023-10-27 11:01:07

接口描述

添加手动签署区是指向签署流程中添加某签署方信息、签章位置与待签署文件之间的关系并由签署方手动签署。

签署区添加完毕后,可以调用【签署流程开启】接口让签署任务进入签署执行阶段。

若签署流程创建时设置noticeType,此时签署方会收到e签宝短信或邮件通知进行签署操作。

开发者也可调用【获取签署地址】接口获取签署链接,然后业务系统内跳转加载签署链接或自行发送通知。

【说明】签署区要素主要包括以下信息:

  1. 待签署文件:参数 fileId 代表待签署文件。请确保此fileId已通过【流程文档添加】接口添加到签署流程中。
  2. 签署方信息:参数 signerAccountId 代表签署方。若多方签署,可在 signfields 数组中构建多个签署区信息。注意:此处所说签署方具体指平台方的企业用户或个人用户。平台方签署信息请通过【添加平台方自动盖章签署区】接口添加。
  3. 签署顺序:如果需要按顺序签署,请通过 order 参数进行设置。值为1时表示首先签署,数字越大签署顺序越靠后。
  4. 签章类型:支持指定单页签章、骑缝签章或用户自由选择,由参数 signType 控制(0-页面自由选择,1-单页签章,2-骑缝签章,默认1)。
  5. 签章位置:通过页码和XY坐标来确定签章加盖位置,由参数 posPageposXposY 控制,页码posPage值从1开始计算且不可超过PDF文件实际总页数。

签署区位置(posBean)需要与签章类型(signType)组合使用,组合使用方法如下:

  • signType值为1(单页签章)时,posX、posY和posPage 必须指定具体值,如下:
{
    "signfields":[
        {
           //省略...
           "posBean":{
               "posPage":"3",// 表示 PDF中第三页
               "posX":158.725,// 表示 从页面左下角向右偏移158.725像素
               "posY":431.565// 表示 从页面左下角向上偏移431.565像素
           },
          //省略...
        }
    ]
}

说明:文件内如需多页签章时,可添加多个 signfields 分别设置具体posX、posY和posPage。

  • signType值为2(骑缝签章)时,posY和posPage 必须指定具体值,骑缝页码posPage范围通过英文连字号

"-"指定, 传“all”代表盖全部页码。如下:

{
    "signfields":[
        {
           //省略...
           "posBean":{
               "posPage":"1-5",// 表示 从第1页连续到第5页加盖骑缝章
               "posY":400.000// 表示 从页面右侧边缘向上偏移400.000像素
           },
          //省略...
        }
    ]
}
  • signType值为0(用户自由选择)时,posX、posY和posPage所传值无效,以用户页面实际操作为准,因此signType值为0时,posBean对象可以不传。

接口

/v1/signflows/{flowId}/signfields/handSign

请求方式

POST

请求头

提供两种安全接入方式,开发者可选择其中一种方式进行对接,对应参数如何获取,参考文档【请点击】。

方式一:请求签名鉴权(优先推荐)

请求头入参示例如下:

参数名称

类型

必选

参数说明

X-Tsign-Open-App-Id

string

应用ID

Content-Type

string

application/json;charset=UTF-8

X-Tsign-Open-Ca-Timestamp

string

API 调用者传递时间戳,值为当前时间的毫秒数,也就是从1970年1月1日起至今的时间转换为毫秒,时间戳有效时间为15分钟,为了防重放攻击

Accept

string

建议统一填写 */*

X-Tsign-Open-Ca-Signature

string

签名字符串

Content-MD5

string

当请求 Body 非 Form 表单时,可以计算 Body 的 MD5 值传递给云网关进行 Body MD5 校验。建议当请求 Body 非 Form 表单时,加上此请求头。

X-Tsign-Open-Auth-Mode

string

选择请求方式进行鉴权,固定值,Signature

方式二:OAuth2.0鉴权(不推荐使用)

当安全接入选择OAuth2.0鉴权方式请点击查阅详情,请求头入参示例如下:

参数名称

类型

必选

参数说明

X-Tsign-Open-App-Id

string

应用ID

X-Tsign-Open-Token

string

通过获取鉴权Token接口返回

Content-Type

string

application/json; charset=UTF-8


请求参数

展开全部参数参数名称

类型

必选

参数类型

参数说明

flowId

string

path

流程id

signfields

array

body

签署区列表数据
















fileId

string

body

文件file id

signerAccountId

string

body

签署操作人个人账号标识,即操作本次签署的个人

注:个人/企业用户手动签署时,需传入签署的个人/经办人的签署账号ID(【创建个人签署账号】接口获取)

authorizedAccountId

string

body

签约主体账号标识,即本次签署对应任务的归属方,默认是签署操作人个人

注:企业用户手动签署时,需传入签署的机构的签署账号ID(【创建机构签署账号】接口获取)

actorIndentityType

int32

body

机构签约类别,当签约主体为机构时必传:2-机构盖章,3-法定代表人盖章

assignedPosbean

boolean

body

表示签署过程中,是否固定指定的签署区位置,默认为true。

true-固定签署区位置且无法移动,

false-不固定签署区位置且签署时可自由移动

注:当signType为1或者2时,该字段才会生效

order

int32

body

签署区顺序,默认1,且不小于1,顺序越小越先处理

willTypes

list

body

指定该签署人的意愿认证方式,

类型如下:

CODE_SMS 短信验证码

FACE_ZHIMA_XY 支付宝刷脸

FACE_TECENT_CLOUD_H5 腾讯云刷脸

以下方式如需使用,请联系交付顾问开通:

FACE_FACE_LIVENESS_RECOGNITION 快捷刷脸

FACE_WE_CHAT_FACE 微信小程序刷脸

FACE_AUDIO_VIDEO_DUAL 支付宝智能视频认证

VIDEO_WE_CHAT_VIDEO_DUAL 微信智能视频认证

posBean

object

body

签署区位置信息 。

signType为0时,本参数无效;

signType为1时, 页码和XY坐标不能为空,; signType为2时, 页码和Y坐标不能为空






posPage

string

body

页码(不小于1的自然数,不可超出文件总页数)

与参数signType组合使用,详见接口描述

posX

float

body

x坐标,默认空

posY

float

body

y坐标

width

float

body

签署区宽,默认印章宽度

addSignTime

boolean

body

签章日期,默认跟随在印章底部,且位置固定。

true - 显示日期

false - 不显示日期(默认值)

signTimeFormat

string

body

签章日期格式,yyyy-MM-dd HH:mm:ss

【注】仅当addSignTime为true时生效

signDateBeanType

int

body

是否需要添加签署日期,默认0

0-禁止

1-必须

2-不限制

signDateBean

Object

body

自定义签章日期,骑缝章默认不展示日期

【注】addSignTime为true时,无需传入signDateBean,传入的signDateBean值将不生效。


fontSize

int32

body

签章日期字体大小,默认12

format

string

body

签章日期格式,支持的格式:

yyyyMMdd

yyyy-MM-dd

yyyy/MM/dd

posPage

int32

body

页码信息,如需指定日期盖章位置,则需传入日期盖章页码和坐标(日期页码与印章页码需相同)

posX

float

body

x坐标,默认0(如果X和Y坐标不传入,签署日期默认在签署区下方)

posY

float

body

y坐标,默认0

sealType

string

body

签章样式,个人签署时支持多种签署方式,

0-手绘签名  ,1-模板印章签名,为空不限制

多种类型时逗号分割

handDrawnWay

string

body

手绘签名方式

0-普通手绘签名

1-AI校验手绘签名

多种类型时逗号分割,为空只有普通手绘签名

sealIds

list

body

印章ids,用于手动签署时,指定企业印章进行展示,实现手动选择印章进行签署

(1)只支持签约主体为企业时指定印章,通过e签宝官网获取对应实名主体下的印章编号。

(2)支持传入多个印章id,入参格式:sealIds:["印章id1","印章id2",....]

sealBizTypes

string

body

指定业务印章类型(仅支持签约主体为企业时指定,允许指定多个印章类型,英文逗号分隔)

ALL -不指定印章类型,

COMMON -无业务类型(其他),

CONTRACT -合同专用章,

FINANCE -财务章,

PERSONNEL -人事专用章,

PUBLIC -公章

signType

int32

body

签章类型,

0-不限,1-单页签署,2-骑缝签署,默认1

thirdOrderNo

string

body

第三方业务流水号id,保证相同签署人、相同签约主体、相同签署顺序的任务,对应的第三方业务流水id唯一,默认空;

如果传了该参数,【签署人签署完成异步通知】中的thirdOrderNo参数会取这里的值

公共响应参数

参数名称

类型

必选

参数说明

code

int

业务码,0表示成功

message

string

信息

data

object

业务信息

响应参数

展开全部参数参数名称

类型

必选

参数说明

signfieldBeans

array

签署区列表数据




accountId

string

用户ID

fileId

string

文档ID

signfieldId

string

签署区id

请求示例  

POST https://openapi.esign.cn/v1/signflows/{flowId}/signfields/handSign


{
    "signfields":[
        {
            "signerAccountId":"faea8237c61a4fdea864ee8d7621e14f",
            "authorizedAccountId":"2c7de24aff3340f5b944ebac49545b8e",
            "actorIndentityType":2,
            "fileId":"fe7df2f477d649c18ebcfdfffeba253d",
            "order":1,
            "assignedPosbean":true,
            "posBean":{
                "posPage":"1",
                "posX":158.72531,
                "posY":431.05658
            },
            "sealType":"0",
            "signType":1
        }
    ]
}

响应示例

{
    "code":0,
    "data":{
        "signfieldBeans":[
            {
                "accountId":"faea8237c61a4fdea864ee8d7621e14f",
                "fileId":"fe7df2f477d649c18ebcfdfffeba253d",
                "signfieldId":"b76b69d5b48d4f689cae997e42809ac4"
            }
        ]
    },
    "message":"成功"
}

错误码

错误码

错误描述

解决方案

1437511

文档不存在,fileId:XXX

签署区里的fileId为空或fileId无效

1437306

XXXX:签署页码超出文档页数

签署区的页码大于文档页数

1435002

未定义的signType

签署类型无效, signType仅支持: 0-不限, 1-单页签署, 2-骑缝签

401

1.token过期了

2.header请求头不正确

3.apiurl和应用ID环境不对应,例如apiurl是模拟环境,应用ID是正式环境的


我要纠错