财务发票混合识别接口

接口描述

用户通过发送HTTP Post请求方式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。

接口说明

请求URL:http://api.exocr.com/ocr/v2/fapiao

请求方式:HTTP Post

返回格式:json

参数
Content-Type 使用二进制方式时,为multipart/form-data;使用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图像为准。
crop_image string 是否切小图0:不切小图(默认)1:切小图
do_query int 是否对增值税发票进行验证 ,0或不传:不验证,1:验证

调用示例

java(相关依赖库下载)

package com.exocr.httpclient;



import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Map;



import com.exocr.common.utils.HttpClientUtils;



public class Test {



   public static void main(String[] args) throws FileNotFoundException {





      /**

       * base64

       */

      //识别url

      String url = " http://api.exocr.com/ocr/v2/fapiao";

      //设置请求参数

      Map<String, String> params = new HashMap<String, String>();

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

params.put("crop_image", "1");

      //设置识别图像base64编码

      params.put("image_base64", "base64ImageStr");

      //发送请求,得到识别结果

      String result = HttpClientUtils.doPost(url, params);

      System.out.println(result);





      /**

       * url

       */

      //设置请求参数、识别图像url

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

      params.put("image_url", "imageUrl");

params.put("crop_image", "1");

      //发送请求,得到识别结果

      result = HttpClientUtils.doPost(url, params);

      System.out.println(result);

      /**

       * 二进制

       */

      //设置请求参数

      params.put("app_key", "#####");

      params.put("app_secret", "#####");

params.put("crop_image", "1");

      //拿到本地图像,写入数据流

      File file = new File("/Users/mac/logs/idcard.png");

      InputStream in = new FileInputStream(file);

      //设置数据流

      Map<String, InputStream> streamMap = new HashMap<String, InputStream>();

      streamMap.put("image_binary", in);

      //发送请求,得到识别结果

      result = HttpClientUtils.doPostStream(url, params, streamMap);

      //关闭io流

      try {

         in.close();

      } catch (IOException e) {

         e.printStackTrace();

      }

      System.out.println(result);

   }

}

返回示例

{
       "result": [{
                     "image": null,
                     "expense_type": "2",
                     "quad": [
                            580,
                            122,
                            1780,
                            122,
                            1780,
                            886,
                            580,
                            886
                     ],
                     "error_msg": "识别成功",
                     "expense_type_msg": "交通",
                     "recognize_result": {
                            "seat_class": {
                                   "item_words": "二等座",
                                   "chinese_key": "座位类型",
                                   "item_score": 1,
                                   "item_image": null,
                                   "item_quad": [
                                          841,
                                          304,
                                          979,
                                          304,
                                          979,
                                          352,
                                          841,
                                          352
                                   ]
                            }
                     },
                     "rotation": "0.000000",
                     "type_msg": "火车票",
                     "error_code": 0,
                     "page_no": 1,
                     "type": "10200"
              },
       ],
       "error_code": 0,
       "description": "识别成功",
       "request_id": "A028410FE3464763A6D72B8321AFF105",
       "recognize_time": 15833,
       "available_count": 9908
}

返回说明

通用参数

参数 类型 说明
result array 返回结果数组,包括所有识别信息
error_code int 错误码,返回0为正确,其他为错误
description string 识别结果描述
request_id string 请求唯一标识符
recognize_time int 识别所用时间,单位为毫秒
available_count int 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数

发票通用识别特有参数

参数 类型 说明
expense_type int 发票用途
error_msg string 单张小图的错误码描述,无错则返回OK。
type string 发票类型
expense_type_msg string 发票用途码对应的中文名
type_msg int 发票类型码对应的中文名
recognize_result string 每个子图的识别结果
quad array 发票的位置,依次为左上,右上,右下,左下顺时针四个点的x,y值
error_code int 错误码。
page_no int 返回多页pdf或者tiff的情况下所在页码,若是单页返回1
image 根据post方式传入的参数决定是否返回子图,格式是base64。
query_result string 如果设置do_query参数为1,将返回发票验证详细信息
pass_fee int 发票特殊标记
invoice_no_warning int 增值税发票号码不一致告警
score float 发票置信度
page_name string 增值税普
qrcode_warning int 二维码不一致告警

recognize_result特有参数

参数 类型 说明
item_words int 识别结果
chinese_key string 该字段的中文名称
item_score string 得分
item_image string 返回调整过的base64图像编码(切边、校正)
item_quad int 每个字段的坐标,格式同上
date string 开票日期
tax_amount string 合计税额(增值税专用发票,增值税电子普通(专用),区块链发票,电子发票,全电发票)/ 增值税税额(机动车销售统一发票)
sheet_type object 联次
seller_bank_info object 销方开户行及账号
notes string 备注
qrcode object 二维码
seal object 发票印章
buyer_name string 购方名称
checker object 复核
amount_big object 价税合计(大写)
issuer object 开票人
invoice_name object 发票名称
buyer_tax_id object 购方纳税人识别号
seller_tax_id object 销方纳税人识别号
amount_little object 价税合计小写
seller_name object 销方名称
check_code object 校验码
pretax_amount object 合计金额(增值税专用发票,增值税电子普通(专用),区块链发票,电子发票,全电发票)/ 不含税价小写(机动车销售统一发票)
details object 明细
buyer_address object 购方地址电话(增值税专用发票,增值税电子普通(专用),区块链发票)/ 买方单位或个人住址(二手车销售统一发票)
invoice_no object 发票号码
buyer_bank_info object 购方开户行及账号
cipher_text object 密码区(增值税专用发票,增值税电子普通(专用),区块链发票)/ 税控码(机动车销售统一发票,二手车销售统一发票)
seller_address object 销方地址电话(增值税专用发票,增值税电子普通(专用),区块链发票)/ 卖方单位或个人住址(机动车销售统一发票,二手车销售统一发票)
machine_code object 机器编号
invoice_code object 发票代码
receiptor object 收款人
price_tax_correction object 价税互纠
Copyright © 2020 易道博识 all right reserved,powered by Gitbook该文件修订时间: 2023-12-04 14:10:10

results matching ""

    No results matching ""