功能说明:传入发票附件相对路径,识别出发票数据(发票id,发票类型,发票日期,发票金额,发票验真状态),与推送数据和修改表单数据结合使用,达到API支持智能识别字段
请求方式:POST(HTTPS)multipart/form-data
请求地址:https://qwif.do1.com.cn/qwcgi/api/apiForm/ocrInvoiceByFiles.do?token=token&corpId=corpId&upFile=upFile&definitionId=definitionId&&formFieldId=formFieldId&workOrderId=workOrderId¤tNodeId=currentNodeId
| 参数名 | 释义 | 类型 | 是否必须 | 描述 |
|---|---|---|---|---|
|
token |
用于验证 |
String |
是 |
|
|
corpId |
公司唯一标识 |
String |
是 |
|
|
id |
表单id |
String |
是 |
|
|
upFile |
上传后的发票文件相对路径 |
String |
是 |
|
|
definitionId |
defn表单版本id |
String |
是 |
|
|
formFieldId |
智能识别字段id |
String |
是 |
|
|
workOrderId |
work工单明细id |
String |
否 | 编辑时必填 |
|
currentNodeId |
当前节点id |
String |
否 | 处于审批过程中时必填 |
FormApi api = QwSdkUtil.getInter(FormApi.class);
// 调用接口
UploadApi uploadApi = QwSdkUtil.getInter(UploadApi.class);
UploadResultVO uploadResultVO
= uploadApi.upload(QwSdkUtil.getCacheToken(),new File("pic/发票样本.png"),"账号","form",false);
OcrInvoiceByFilesResultVO resultVO = api.ocrInvoiceByFiles(QwSdkUtil.getCacheToken(),uploadResultVO.getUri(),
"defn表单版本id",
"fo智能识别字段id",
"work工单明细id",
null);
System.out.println(JSONUtil.stringify(resultVO));
// 使用返回的数据推送或修改表单
FormDataPushVO vo = new FormDataPushVO();
// 发起时返回的工单id
vo.setId("work工单明细id");
// 修改数据字段数据
Map<String,Object> fieldMap = new HashMap<String,Object>();
fieldMap.put("fo智能识别字段id",resultVO.getItemMap());
// 字段数据
vo.setFieldMap(fieldMap);
System.out.println(JSONUtil.objectToString(vo));
// 调用接口
ApiFormPushResult re = api.updateFormData(QwSdkUtil.getCacheToken(),
"form表单id", new FormDataPushVO[]{vo});
System.out.println(JSONUtil.objectToString(re));
{
"code":"0",
"data":
{
"itemMap":
[
{
"fo发票id子字段":"发票id",
"fo发票原件子字段id":
[
"66159edd8b8e4745a808f7375b9ab7b3:/upload/img/b17efb43292e4cc9ac5d0b46bce059c4/20220607/66159edd8b8e4745a808f7375b9ab7b3.png:发票样本.png:PNG:90.33 K"
],
"fo发票日期子字段id":"2019-12-19",
"fo发票类型子字段id":"10500",
"fo发票金额子字段id":43,
"fo发票验真状态子字段id":"3"
}
]
},
"desc":"成功"
}
|
参数 |
说明 |
|---|---|
|
itemMap |
返回包含识别的发票id,发票类型,发票日期,发票金额,发票验真状态等子字段,可结合使用推送数据和修改表单数据使用 |