发票验章
接口描述
用户通过发送HTTP Post请求以表单形式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。
接口说明
请求URL:https://api.exocr.com/data/v1/certify_invoice
请求方式:HTTP Post
返回格式:json
Header
参数 | 值 |
---|---|
Content-Type | 使用二进制方式时,为multipart/form-data;使用base64和url方式时,为application/x-www-form-urlencoded |
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
app_key | 是 | string | 请在控制台->我的应用中获取 |
app_secret | 是 | string | 请在控制台->我的应用中获取 |
image_base64 | 否 | string | 图像base64编码。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。 |
image_url | 否 | string | 图像url地址。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。 |
image_binary | 否 | data | 图像二进制。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。 |
调用示例
java(相关依赖库下载)
public static void main(String[] args) {
String url = "http://api.exocr.com/data/v1/certify_invoice";
String image_base64 = convertFileToBase64("/Applications/document/fapiao.ofd");
Map<String, String> params = new HashMap<>();
params.put("app_key", "d32f78189d5d422cba3e139041b9719b");
params.put("app_secret", "3fa135f4687720e47c5062aa4dee533b");
params.put("image_base64", image_base64);
//发送POST请求
String result = HttpClientUtils.doPost(url, params);
System.out.println(result);
}
/**
* 本地文件(图片、excel等)转换成Base64字符串
*
* @param imgPath
*/
public static String convertFileToBase64(String imgPath) {
byte[] data = null;
// 读取图片字节数组
try {
InputStream in = new FileInputStream(imgPath);
System.out.println("文件大小(字节)="+in.available());
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
// 对字节数组进行Base64编码,得到Base64编码的字符串
BASE64Encoder encoder = new BASE64Encoder();
String base64Str = encoder.encode(data);
return base64Str;
}
返回示例
{
"result": {
"certify_status": "N"
},
"error_code": 0,
"description": "调用成功",
"request_id": "82BD15BF6B444CF28137D8274D8FEE80",
"recognize_time": 5948,
"available_count": 991,
"version": null
}
返回说明
返回结果
参数 | 类型 | 说明 |
---|---|---|
result | Object | 认证结果 |
error_code | int | 错误码,返回0为正确,其他为错误 |
description | string | 识别结果描述 |
request_id | string | 请求唯一标识符 |
recognize_time | int | 识别所用时间,单位为毫秒 |
available_count | int | 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数 |
certify_status | string | 认证结果描述,Y:通过,N:不通过 |
错误码(error_code)说明
错误码(error_code) | 说明(description) |
---|---|
0 | 调用成功 |
3502 | 请求参数OFD为空 |
3503 | 参数无 |
3504 | 处理失 |
3506 | 发票验章操作异 |
4001 | 参数非法,请重 |
4002 | 授权验证未通过,请检查appKey与appSecret是否正确 |
4003 | 使用次数不足,请充值 |
4007 | 服务器忙,请重试 |
4009 | 请求过于频繁,请稍后再试 |
4010 | 请求方式错误,不支持该类型 |
4011 | 未上传文件,请检查参数 |
4012 | 文件解析错误,请重新检查文件 |
404 | 请求路径错误,不支持该路径 |