接口描述
用指定账户的证书或指定的证书批量签署文档,此签署过程不将文档上传至e签宝平台,只传递文档摘要信息。签署过程需要校验用户意愿认证通过的bizId和意愿受检账户的信息是否匹配。
注:文件一旦签名盖章就不可以再进行任何填写或修改操作,否则在验证签署文件有效性时会显示文件被篡改,请在签章前完成所有内容填充。
文件涉及2个及以上签章时,请注意保留待签署文件/流和每次签署后的文件/流(含中间过程生成的文件/流),方便在签署过程中出现失败时如何选择基于哪份文件/流进行重签。
请求地址
http://ip:port/tech-sdkwrapper/timevale/sign/batchSignWithWillness
请求方式
POST
请求参数
展开全部参数请求参数 | 类型 | 必选 | 参数说明 | ||
willnessAccountId | String | 是 | 签署操作人账号(电子签名SDK产品创建的账户,即实际的签署方账户) 注:签署主体账号为个人的话,操作人账号id需和主体账号id保持一致 | ||
bizId | String | 是 | 签署操作人完成的签署意愿认证的记录id | ||
signAccountId | String | 是 | 签署主体账号(可为个人/企业用户账号),使用本账号绑定的默认数字证书进行签署。 | ||
![]() | List | 是 | 签署文件、印章、签名域等信息 | ||
signType | SignType | 是 | 签署类型 (1)Single单页签章 (2)Multi多页签章 (3)Edges签骑缝章 (4)Key关键字签章 | ||
sealData | String | 是 | 签署时印章图片字节流Base64编码值 注意:印章数据要和账户信息对应,否则会出现签署的印章和背后的数字证书不一致的情况,从而造成签署纠纷 | ||
file | json | 是 | 待签署PDF文档信息 *支持文件路径签署和文件二进制流签署(二选一): 路径签署传入srcPdfFile、dstPdfFile, 二进制签署传入bytes; | ||
srcPdfFile | String | 是 | 待签署PDF文件本地路径,含文件名 | ||
dstPdfFile | String | 是 | 签署后PDF文件本地路径,含文件名(为空时返回签署后的文件流) | ||
bytes | byte[] | 否 | 待签署PDF文件本地二进制字节流 (传入该参数时srcPdfFile与dstPdfFile允许非必传) | ||
fileName | String | 否 | 文件名称,需要带上pdf后缀,签署时对应的文件名,若为空则取文件路径中的名称 | ||
ownerPassword | String | 否 | 文件编辑密码,当目标PDF设置权限保护时必填 | ||
markBit | String | 否 | 客户自由标示位,用于辨识文件 | ||
signPos | List | 是 | 签章位置信息 | ||
posType | int | 否 | 定位类型,默认0。 0-坐标定位, 1-关键字定位,SignType为关键字签署的时候,posType只能为1。 用户可以不作处理,此处只是为了兼容旧版本而保留 | ||
posPage | String | 否 | 签署页码 单页签章时,支持页码格式"3"(第3页盖章); 多页签章时,支持页码格式"1-3"(第1页到第3页都盖章)或"5"或"5,8"(第5页和第8页盖章)或"1-3,5,8"; 骑缝章签署时,支持页码格式"1-3"; 若为坐标定位时,不可空 | ||
posX | float | 否 | 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0 | ||
posY | float | 否 | 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0 | ||
key | String | 否 | 关键字,signtype设置为key时,该字段必传; 关键字建议不要设置特殊字符,因Adobe无法识别部分符号,某些特殊字符会因解析失败从而导致搜索不到 | ||
width | float | 否 | 印章展现宽度,将以此宽度对印章图片做同比缩放。 (1)为空: 若印章图片宽度超过159px,印章宽度等比缩小至159px; 若印章图片宽度小于159px,印章尺寸默认以图片大小为准; (2)不为空 印章宽度以传入参数为准。 | ||
qrcodeSign | boolean | 否 | 是否展示二维码图片,默认为false。(通过扫描二维码可以查看签署相关信息。) 若设置为true,则盖章后,会在签署区左下角展示二维码图片; 若设置为false,则不展示; 骑缝签和多页签不支持展示二维码图片 |
请求示例
请求数据采用json格式、UTF-8编码,请求数据类型Content-Type=application/json
POST http://localhost:8080/tech-sdkwrapper/timevale/sign/selfFileSign
localhost:8080这里参考https://qianxiaoxia.yuque.com/docs/share/7c96dfbc-1e53-4de3-b1f6-46e10eda67b4
{
"willnessAccountId":"0B9***C29B5B",
"bizId":"a4d29f9df***fdd7bddef20",
"signAccountId":"0B908***4FFC29B5B",
"signInfos":[
{
"sealData":"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",
"file":{
"srcPdfFile":"D:/模板合同文件/test-templte.pdf",
"dstPdfFile":"D:/模板合同文件/test-templte2.pdf",
"fileName":"test-templte.pdf"
},
"signType":"Single",
"signPos":[{
"qrcodeSign":"true",
"posPage":"1"
}]
}]
}
响应参数
展开全部参数参数名称 | 类型 | 必选 | 长度 | 参数说明 | 示例值 | ||
CodeMultiSignResult | |||||||
![]() | int | 是 | 错误码,0标识成功,其他均标识失败 | ||||
![]() | String | 否 | 100 | 错误信息,错误码对应的说明信息 | |||
![]() | boolean | 否 | 错误信息是否建议显示 | ||||
![]() | List | 是 | 签署成功列表 | ||||
![]() | int | 是 | 错误码,0标识成功,其他均标识失败 | ||||
![]() | String | 否 | 100 | 错误信息,错误码对应的说明信息 | |||
![]() | boolean | 否 | 错误信息是否建议显示 | ||||
![]() | byte[] | 否 | 完成签署的文档二进制数据 | ||||
![]() | String | 否 | 40 | 签署记录id | |||
![]() | String | 否 | 签署详情电子版链接 | ||||
![]() | String | 否 | 签署文档源路径 | ||||
![]() | String | 否 | 签署后目标路径 | ||||
![]() | String | 否 | 客户自由标示位,用于辨识文件 | ||||
![]() | List | 否 | 签署失败列表 | ||||
![]() | int | 是 | 错误码,0标识成功,其他均标识失败 | ||||
![]() | String | 否 | 100 | 错误信息,错误码对应的说明信息 | |||
![]() | boolean | 否 | 错误信息是否建议显示 | ||||
![]() | String | 否 | 签署文档源路径 |
响应示例
{
"msg": "成功",
"successList": [
{
"msg": "成功",
"dstFilePath": "D:\\模板合同文件\\test-templte2.pdf",
"signDetailUrl": "https://smlweb.tsign.cn/e.html?id=1273564562041421830&willAuthId=e59341814e2541f2afcdd27a9a47d67f",
"markBit": null,
"stream": null,
"errCode": 0,
"filePath": null,
"errShow": false,
"signServiceId": "1273564562041421830"
}
],
"errCode": 0,
"errShow": false,
"failList": []
}