接口描述
指定手机号通过短信验证码方式签署,支持多文档多位置签署。
接口地址
UserSignService.localMultiPosSignPDF3rd(String accountId,List<MultiSignParamBean> signParams,String sealData,String mobile,String code)
请求参数
展开全部参数参数名称 | 类型 | 必选 | 长度 | 参数说明 | 示例值 | ||
accountId | String | 是 | 40 | 签署者账号标识,以此获取账户的证书进行签署 | |||
mobile | String | 是 | 20 | 接收短信验证码的手机 | |||
code | String | 是 | 10 | 短信验证码,必须通过e签宝接口发送 | |||
sealData | Text | 否 | 印章图片Base64,若为空最终签署后将没有直观图片展现 注意:印章数据要和账户信息对应,否则会出现签署的印章和背后的数字证书不一致的情况,从而造成签署纠纷 | ||||
signParams | List<SignParamBean> | 是 | 签署文档和签署位置信息集合(上限为50个) | ||||
fileBean | SignPDFFileBean | 是 | 签章PDF文档信息 | ||||
srcPdfFile | String | 否 | 255 | 待签署PDF文档本地路径,含文档名(与bytes至少有一个不为空) | |||
bytes | byte[] | 否 | 待签署PDF文档本地二进制数据(与srcPdfFile至少有一个不为空) | ||||
dstPdfFile | String | 否 | 255 | 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流) | |||
fileName | String | 否 | 255 | 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称 | |||
ownerPassword | String | 否 | 100 | 文档编辑密码,当目标PDF设置权限保护时必填 | |||
ShowImage | Boolean | 否 | 是否增加e签宝logo图标 | ||||
markBit | String | 否 | 100 | 客户自由标示位,用于辨识文件 | |||
signType | SignType | 是 | 签章类型 (1)Single,单页签章 (2)Multi,多页签章 (3)Edges,签骑缝章 (4)Key,关键字签章 | ||||
signPos | List<PosBean> | 是 | 签章位置信息 | ||||
posType | int | 否 | 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留 | ||||
posPage | String | 否 | 25 | 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空 | |||
posX | float | 否 | 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0 | ||||
posY | float | 否 | 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0 | ||||
key | String | 否 | 30 | 关键字,仅限关键字签章时有效,若为关键字定位时,不可空;关键字建议不要设置特殊字符,因Adobe无法识别部分符号,某些特殊字符会因解析失败从而导致搜索不到 | |||
width | float | 否 | 印章展现宽度,将以此宽度对印章图片做同比缩放。 1) 为空: 若图片宽度超过159,印章宽度等比缩小至159; 若图片宽度小于159,印章尺寸默认以图片大小为准; 2) 不为空 印章宽度以传入参数为准。 | ||||
QrcodeSign | boolean | 否 | 是否是 二维码签署,默认为false。二维码签署不支持骑缝签和多页签 | ||||
cacellingSign | boolean | 否 | 是否是作废签签署,默认为false | ||||
AddSignTime | boolean | 否 | 是否显示本地签署时间,需要width设置92以上才可以看到时间 |
响应参数
展开全部参数参数名称 | 类型 | 必选 | 参数说明 | 示例值 | ||
CodeMultiSignResult | CodeMultiSignResult | 是 | ||||
errCode | int | 是 | 错误码,0标识成功,其他均标识失败 | |||
msg | String | 否 | 错误信息,错误码对应的说明信息 | |||
errorShow | boolean | 否 | 错误信息是否建议显示 | |||
successList | List<FileDigestSignResult> | 否 | 签署成功列表 | |||
errCode | int | 是 | 错误码,0标识成功,其他均标识失败 | |||
msg | String | 否 | 错误信息,错误码对应的说明信息 | |||
errorShow | boolean | 否 | 错误信息是否建议显示 | |||
stream | byte[] | 否 | 完成签署的文档二进制数据 | |||
signServiceId | String | 否 | 签署记录id | |||
filePath | String | 否 | 签署文档源路径 | |||
dstFilePath | String | 否 | 签署后目标路径 | |||
markBit | String | 否 | 客户自由标示位,用于辨识文件 | |||
failList | List<FileDigestSignResult> | 否 | 签署失败列表 | |||
errCode | int | 是 | 错误码,0标识成功,其他均标识失败 | |||
msg | String | 否 | 错误信息,错误码对应的说明信息 | |||
errorShow | boolean | 否 | 错误信息是否建议显示 | |||
filePath | String | 否 | 签署文档源路径 | |||
dstFilePath | String | 否 | 签署后目标路径 | |||
markBit | String | 否 | 客户自由标示位,用于辨识文件 |
请求示例
其他示例语言请点击
// 获取正式生成服务
// 获取客户端的代码:ServiceClient getKHD = ServiceClientManager.get("您的pojectId");
//批量多位置签用户签接口
UserSignService userSignService = serviceClient.userSignService();
String accountId="2C07CCEB81D747E2B3C971B8247CXXX";
List<MultiSignParamBean> multiSignParamBeanList = new ArrayList<>();
//签署1
MultiSignParamBean multiSignParamBean1 = new MultiSignParamBean();
multiSignParamBean1.setSignType(SignType.Single);
// 签署文档1信息
SignPDFFileBean file1 = new SignPDFFileBean();
file1.setSrcPdfFile("/Users/cmn/Sites/testPdfFile/test.pdf");// 待签署PDF文档本地路径,含文档名(与bytes至少有一个不为空)
file1.setDstPdfFile("/Users/cmn/Sites/testPdfFile/lovepdf4.pdf");// 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流)
file1.setFileName("1");// 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称
multiSignParamBean1.setFileBean(file1);
//签署文档1中的坐标1信息
PosBean f1signPos1 = new PosBean();
f1signPos1.setPosType(0);// 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留
f1signPos1.setPosPage("1");// 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空
f1signPos1.setPosX(100);// 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0
f1signPos1.setPosY(800);// 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0
//签署文档1中的坐标2信息
PosBean f1signPos2 = new PosBean();
f1signPos2.setPosType(0);// 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留
f1signPos2.setPosPage("1");// 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空
f1signPos2.setPosX(200);// 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0
f1signPos2.setPosY(800);// 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0
List<PosBean> PosBeanList = new ArrayList<>();
PosBeanList.add(f1signPos1);
PosBeanList.add(f1signPos2);
multiSignParamBean1.setSignPos(PosBeanList);
//签署2
MultiSignParamBean multiSignParamBean2 = new MultiSignParamBean();
multiSignParamBean2.setSignType(SignType.Single);
// 签署文档2信息
SignPDFFileBean file2 = new SignPDFFileBean();
file2.setSrcPdfFile("/Users/cmn/Sites/testPdfFile/PDFTemplate.pdf");// 待签署PDF文档本地路径,含文档名(与bytes至少有一个不为空)
file2.setDstPdfFile("/Users/cmn/Sites/testPdfFile/lovepdf111333.pdf");// 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流)
file2.setFileName("2");// 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称
multiSignParamBean2.setFileBean(file2);
//签署文档2中的坐标1信息
PosBean f2signPos1 = new PosBean();
f2signPos1.setPosType(0);// 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留
f2signPos1.setPosPage("1");// 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空
f2signPos1.setPosX(300);// 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0
f2signPos1.setPosY(800);// 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0
//签署文档2中的坐标2信息
PosBean f2signPos2 = new PosBean();
f2signPos2.setPosType(0);// 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留
f2signPos2.setPosPage("1");// 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空
f2signPos2.setPosX(400);// 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0
f2signPos2.setPosY(800);// 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0
List<PosBean> PosBeanList2 = new ArrayList<>();
PosBeanList2.add(f2signPos1);
PosBeanList2.add(f2signPos2);
multiSignParamBean2.setSignPos(PosBeanList2);
multiSignParamBeanList.add(multiSignParamBean1);
multiSignParamBeanList.add(multiSignParamBean2);
String sealData = "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD/CAMAAAAJ1vD4AAADAFBMVEX/////AAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxCCC";
String mobile="166XXXXXX";
String code="XXXX";
CodeMultiSignResult codeMultiSignResult = userSignService.localMultiPosSignPDF3rd(accountId, multiSignParamBeanList, sealData, mobile, code);
响应示例
{
"errCode":0,
"errShow":false,
"failList":[
],
"msg":"成功",
"successList":[
{
"dstFilePath":"D:/abc/c.pdf",
"errCode":0,
"errShow":false,
"filePath":"D:/test-template.pdf",
"markBit":"",
"msg":"成功",
"signServiceId":"1174154450298814466",
"stream":[
]
}
]
}
错误码
错误码 | 错误描述 | 解决方案 |