发票识别+查验(多张)
接口描述
单文件进行多票识别,其中可查验发票会进行查验
适用票种:
1普通电子发票
2.电子发票专票
3.普通纸质发票
4.专用纸质发票
5.普通纸质卷票
12.机动车
13.二手车
15.通行费
数电发票识别查验,请使用【数电票文件识别+查验】
接口请求
- 请求方式:POST
- 请求头header:Content-Type=application/json
- 请求数据结构: base64字符文件(将发票文件转换为base64字符串)
- 请求地址: /m3/bill/invoice/img/analyze/multiple/check?access_token=accessToken&type={type}&checkFlag={checkFlag}
重要提示
:::tip
单个文件大小限制在8Mb以内,超出大小需要进行处理
1、PDF/OFD文件,可进行按页切割,转为图片
2、图片文件超出大小的,可以进行压缩后调用
:::
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
checkFlag | string | 否 | 是否需要合规性配置校验,默认不需要, true:需要,false:不需要 |
请求示例
//测试环境: https://api-dev.piaozone.com/test
//正式环境: https://api.piaozone.com
private static final String HOST = "https://api-dev.piaozone.com/test";
public static void main(String[] args) {
// 替换为你自己的accessToken
String accessToken = "YOUR_ACCESS_TOKEN";
//发票文件
File file = new File("YOUR FILE");
String fileName = file.getName();
//文件后缀,pdf/ofd/jpg/png...
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
//文件转base64
String base64 = Base64.encode(file);
// 构建请求URL
String urlStr = HOST + "/m3/bill/invoice/img/analyze/multiple/check?access_token=" + accessToken + "&type=" + fileType;
//发送请求
String response = HttpUtil.post(urlStr, base64);
//进行业务处理
...
}
返回
返回数据结构示例:Json
{
"errcode": "{状态码}",
"description": "{描述}",
"data":"[{发票结构化数据1},{发票结构化数据2}...]"
}
返回状态码(errcode)见:《返回状态码》的附录2
返回发票结构化数据(data)见:发票数据规范
checkFlag为true时,每份发票结构化数据里面会附加五个字段:
"checkStatus":"",//查验状态1:通过,2,不通过,3:未查验
"checkErrcode":"",//查验结果代码
"checkDescription":""//查验结果描述
"errorLevel":""//如果校验有符合严格管控,返回相应代号,如果没有,返回0(校验通过)。具体见[《返回状态码》的附录5]
"verifyResult": [ //校验详细结果
{
"key": "verifyBuyerName", //校验结果key
"name": "错误原因:发票抬头与企业名称不一致,禁止导入", //校验结果信息
"config": "1", //校验类型 0.严格管控,1.不控制,2.红框警示,3.黄框警示
"result": "1", // 未使用
"msg": "发票抬头金蝶软件(中国)有限公司与企业名称重庆海外旅业(旅行社)集团有限公司不一致", //校验详细信息
"extFields": [ //附加信息
"",
""
]
}
]
最后修改时间: 1 个月前