发起方式说明

[!NOTE] 君子签的发起,除hash只保全的类型外。其它方式都会生成签署文件。可通过以下4种方式告知君子签合同的内容,以发起相应合同。

本地文件发起

[!NOTE] 即商户在发起请求中传入文件。

JAVA实现
ApplySignReq applySignReq=new ApplySignReq();
applySignReq.setContractName("合同名称");
applySignReq.setServerCa(1);
//合同文件
applySignReq.setFile(new ByteArrayBody(Files.readAllBytes(new File("/test.pdf").toPath()),"test.pdf"));
//其它附件
//ByteArrayBody[] attachFiles=new ByteArrayBody[]{
//        new ByteArrayBody(Files.readAllBytes(new File("/per.png").toPath()),"per.png"),
//        new ByteArrayBody(Files.readAllBytes(new File("/ent.png").toPath()),"ent.png")
//};
//applySignReq.setAttachFiles(attachFiles);
//签约方
TreeSet<SignatoryReq> treeSet=new TreeSet<>();
applySignReq.setSignatories(treeSet);

//签约人信息
SignatoryReq sReq=new SignatoryReq();
sReq.setFullName("易XX"); //TODO *
sReq.setIdentityType(1);
sReq.setIdentityCard("500240XXXXXXXXXX");//TODO *
sReq.setMobile("153XXXXXXXX"); //TODO *
sReq.setEmail("381XXXX0@qq.com");//TODO *
sReq.setChapteJson("[{\"page\":0,\"chaptes\":[{\"offsetX\":0.12,\"offsetY\":0.23}]},{\"page\":1,\"chaptes\":[{\"offsetX\":0.45,\"offsetY\":0.67}]}]");
treeSet.add(sReq);
//后面可再添加其它签约方
RequestUtils requestUtils=RequestUtils.init(SERVICE_URL,APP_KEY,APP_SECRET);//建议生成为spring bean
ResultInfo<String> ri= requestUtils.doPost("/v2/sign/applySign",applySignReq);
PHP实现
//构建请求工具
$requestUtils=new RequestUtils($serviceUrl, $appkey, $appSecret);
//CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。
//初始化合同参数
$request=new ApplySignReq();
$request->contractName="合同名称";
$request->serverCa=1;//自动签
$request->file= new CURLFile('D:/tmp/test.pdf',null,"test1.pdf");
/**
$request->attachFiles= array(
    new CURLFile('D:/tmp/test.jpg',null,"test1.jpg"),
    new CURLFile('D:/tmp/test.png',null,"test1.png"));*///需保证文件存在
$sReq=new SignatoryReq();
$sReq->fullName="易XX";
$sReq->identityType=1;
$sReq->identityCard="50024XXXXXXXXXXXXXXXX";
$sReq->mobile="153XXXXXXXXXX";
$sReq->orderNum=1;
$sReq->chapteJson="[{\"page\":0,\"chaptes\":[{\"offsetX\":0.12,\"offsetY\":0.23}]},{\"page\":1,\"chaptes\":[{\"offsetX\":0.45,\"offsetY\":0.67}]}]";
$sReq->noNeedVerify=1;
$sReq->serverCaAuto=1;
$request->signatories=array($sReq);

//发起PING请求
$response=$requestUtils->doPost("/v2/sign/applySign",$request);

url地址发起

[!NOTE] 发起请求中传入url地址,注意需要输入相应的fileType

JAVA实现
ApplySignReq applySignReq=new ApplySignReq();
applySignReq.setContractName("合同名称");
applySignReq.setServerCa(1);
applySignReq.setFileType(1);
applySignReq.setUrl("http://xxxx.xxxx.xxx/xxx.pdf");
......
//后面可再添加其它签约方
RequestUtils requestUtils=RequestUtils.init(SERVICE_URL,APP_KEY,APP_SECRET);//建议生成为spring bean
ResultInfo<String> ri= requestUtils.doPost("/v2/sign/applySign",applySignReq);
PHP实现
//构建请求工具
$requestUtils=new RequestUtils($serviceUrl, $appkey, $appSecret);
//CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。
//初始化合同参数
$request=new ApplySignReq();
$request->contractName="合同名称";
$request->serverCa=1;//自动签
$request->fileType = 1;
$request->url="http://s.sandbox.junziqian.com/";
....
//发起PING请求
$response=$requestUtils->doPost("/v2/sign/applySign",$request);

模版发起

[!NOTE] 注意需要输入相应的fileType;如果模版有参数,需要指定模版参数;

参数说明

JAVA实现
ApplySignReq applySignReq=new ApplySignReq();
applySignReq.setContractName("合同名称");
applySignReq.setServerCa(1);
//合同文件
applySignReq.setFileType(2);
applySignReq.setTemplateNo("T001");
//applySignReq.setTemplateParams(null);//可以传json_string:{xx:xxx}
......
//后面可再添加其它签约方
RequestUtils requestUtils=RequestUtils.init(SERVICE_URL,APP_KEY,APP_SECRET);//建议生成为spring bean
ResultInfo<String> ri= requestUtils.doPost("/v2/sign/applySign",applySignReq);
PHP实现
//构建请求工具
$requestUtils=new RequestUtils($serviceUrl, $appkey, $appSecret);
//CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。
//初始化合同参数
$request=new ApplySignReq();
$request->contractName="合同名称";
$request->serverCa=1;//自动签

$request->fileType = 2;
$request->templateNo="T001";//模版编号
$request->templateParams="{}"; //模版变量,可以传array或json_string
....
//发起PING请求
$response=$requestUtils->doPost("/v2/sign/applySign",$request);

模版参数语法说明

[!NOTE] API的模版在君子签企业版地址:https://web.junziqian.com/tpl/api 中添加和修改,目前只支持赋值和for循环操作

html单文件发起

[!NOTE] 注意需要输入相应的fileType和htmlContent;

JAVA实现
ApplySignReq applySignReq=new ApplySignReq();
applySignReq.setContractName("合同名称");
applySignReq.setServerCa(1);
//合同文件
//合同文件
applySignReq.setFileType(3);
applySignReq.setHtmlContent("<meta charset=\"utf-8\">html文件信息001<br/><br/><br/><br/><br/><br/><br/><br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;position: relative;\"><br/><br/><br/><br/><br/><br/><br/><br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;position: relative;\">");
......
//后面可再添加其它签约方
RequestUtils requestUtils=RequestUtils.init(SERVICE_URL,APP_KEY,APP_SECRET);//建议生成为spring bean
ResultInfo<String> ri= requestUtils.doPost("/v2/sign/applySign",applySignReq);
PHP实现
//构建请求工具
$requestUtils=new RequestUtils($serviceUrl, $appkey, $appSecret);
//CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。
//初始化合同参数
$request=new ApplySignReq();
$request->contractName="合同名称";
$request->serverCa=1;//自动签

$request->fileType=3;
$request->positionType=1;//指定公章位置类型:0或null使用签字座标位置或不指定签字位置;1表单域定位(表单域如果上传为pdf时,需pdf自行定义好表单域,html及url及tmpl等需定义好input标签);2关键字定义
$request->htmlContent = "<meta charset=\"utf-8\">html文件信息001<br/><br/><br/><br/><br/><br/><br/><br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;position: relative;\">".
"<br/><br/><br/><br/><br/><br/><br/><br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;position: relative;\">";
....
//发起PING请求
$response=$requestUtils->doPost("/v2/sign/applySign",$request);

results matching ""

    No results matching ""