一、接口简介
1、版权说明:
未经翔云人工智能开放平台授权,不得擅自进行使用。
2、调用客户端运行环境
当客户端使用的编程语言为Java时,请使用1.5及以上版本JRE。
3、服务主要功能描述
翔云发票验真服务,实时联网核查验5年内增值税发票管理系统开具的发票,如果发票为真则返回全票面信息,可查询票种包含:增值税专用发票、增值税电子专用发票、增值税普通发票(折叠票)、增值税普通发票(卷票)、增值税电子普通发票(含收费公路通行费增值税电子普通发票)、机动车销售统一发票、二手车销售统一发票。

  1. 通过https协议post方法上传发票要素信息;
  2. 将查验结果以XML或json格式返回给用户;
    4、服务调用约束
    请您在调用发票识别接口前,确保客户端程序或设备网络连接通畅,如使用发票识别接口自动提取发票要素信息,要求发票图像文件大小在200KB左右,扫描图像建议分辨率为300DPI,图像小于3M,电子发票请上传PDF格式。
    二、前提准备
    1、用户登录 https://www.netocr.com/register.html注册账号,如图:
    2、输入注册信息,确认无误后点击同意条款并注册,如图:

3、注册成功后点击右上角的账号名称-个人中心,进入管理页面:

4、点击“用户管理-基础信息”,查看OCRKey以及OCRSecret:

5、点击“服务列表”,查看服务次数及余额(每调用一次https接口消耗一次),可点击立即购买直接跳转到购买页面购买API服务次数:

6、购买成功后,会显示购买的总次数及剩余次数,例如下图所示:

7、设置剩余条数提醒,进入个人中心-用户管理-剩余条数提醒,设置提醒下线、通知手机号及服务类型,设置成功后到达用户设置的服务剩余条数下限,系统会发短息至预留手机号。

三、接口说明
接口地址,https://netocr.com/verapi/verInvoice.do
接口调用方法:post

3、请求参数
接口说明
接口地址: https://netocr.com/verapi/verInvoice.do
接口调用方法: post
接口接收参数:
序号 名称 类型 必填 说明
1 key String 是 用户ocrKey
2 secret String 是 用户ocrSecrert
3 invoiceCode String 是 发票代码
4 invoiceNumber String 是 发票号码
5 billingDate String 是 开票日期:YYYY-MM-DD
6 totalAmount String 是 合计金额(不含税),必须精确到两位小数(专票、货运专票、机动车专票必填)
7 checkCode String 是 校验码后6位(普票、电子普票、卷式普票必填)
8 salesTaxNo String 否 销方税号(区块链必填)
9 typeId Integer 是 发票验真:3007
10 format String 是 返回格式(xml或者json),如果format为空,则默认返回xml
接口返回值参数说明:
序号 名称 类型 说明
1 invoiceType String 发票类型
增值税专用发票      01
货运运输业增值税专用发票 02
机动车销售统一发票    03
增值税普通发票      04
增值税普通发票(电子)  10
增值税普通发票(卷式)  11
增值税普通发票(通行费) 14
二手车销售统一发票 15
2 administrativeDivisionName String 所属行政区名称
3 invoiceCode String 发票代码
4 invoiceNumber String 发票号码
5 billingDate String 开票日期:YYYY-MM-DD
6 purchaserName String 购方名称
7 purchaserTaxNo String 购方税号
8 purchaserBank String 购方开户行账户
9 purchaserAddressPhone String 购方地址电话
10 salesName String 销方名称
11 salesTaxNo String 销方税号
12 salesAddressPhone String 销方地址电话
13 salesBank String 销方开户行账户
14 totalAmount String 合计金额
15 totalTax String 合计税额
16 amountTax String 价税合计
17 amountTaxCN String 价税合计_中文
18 remarks String 备注
19 machineCode String 机器编码
20 checkCode String 校验码
21 state String 发票状态
未作废 1
作废  2
22 invoiceList String 发票详细信息列表
23 commodityName String 货物或应税劳务名称
24 specificationMode String 规格型号
25 unit String 单位
26 quantity String 数量
27 unitPrice String 单价
28 amount String 金额
29 taxRate String 税率
30 tax String 税额
31 carrierName String 承运人名称
32 carrierTaxNo String 承运人识别号
33 draweeName String 受票方名称
34 draweeTaxNo String 受票方识别号
35 cargoInformation String 运输货物信息
36 transportRoute String 起运地、经由、到达地
37 machineCode String 税控盘号
38 automobileType String 车种车号
39 tonnage String 车船吨位
40 taxAuthorityNo String 主管税务机关
41 taxAuthorityName String 主管税务名称
42 remarks String 备注
43 iDCardNo String 身份证号码/组织机构代码
44 purchaserTaxNo String 购方税号
46 vehicleType String 车辆类型
46 brandModel String 厂牌型号
47 originPlace String 产地
48 certificateNo String 合格证号
49 inspectionListNo String 商检单号
50 engineNo String 发动机号
51 vehicleNo String 车辆识别代号/车架号码
52 importCertificateNo String 进口证明书号
53 salesPhone String 销方地址电话
54 salesTaxNo String 销方税号
55 salesBankNo String 账号
56 salesAddress String 销方地址
57 paymentVoucherNo String 完税凭证号码
58 passengersLimited String 限乘人数
状态码说明:
status code message
2 查验成功发票一致(扣费)
5 请求不合法
6 发票信息不一致
9 所查发票不存在
20 超过该张票当天查验次数
30+code 该票在本平台核验失败已超5次(扣费)
1004 已超过最大查验量
1005 查询发票不规范
1006 查验异常
1008 参数不能为空
1009 参数长度不正确
1014 日期当天的不能查验
1015 超过一年的不能查验
1021 网络超时
100000 缺少参数
100001 参数取值范围错误
100005 请求过于频繁
100006 远程访问错误
100010 请求超时
60 未知错误
返回结果字符串
标签显示了识别状态,大于等于“0”代表识别成功【“0”代表查询成功,“1”代表未查到数据,“2”代表查询失败】,小于“0”代表识别失败,失败的原因在中描述。
调用错误码
status值 描述
-1 用户已屏蔽
-2 用户key或secret验证错误
-3 服务次数不足
-4 用户未找到
-6 系统异常
-7 图片不可为空,参数不可为空
-8 类型错误
调用方式(java客户端基于httpclient4.3)
1.依赖库: \java客户端\httpClient4.3库\,如图:

2.示例程序代码详见: \java客户端\httpClientDemo\中的Client类,如图:

在main方法定义参数,并传入 doPost(url, file, key, secret, typeId, format) 方法中。如图:

执行main方法返回结果如下:
增值税发票:

剩余条数查询接口(所有产品类型)
接口地址: https://netocr.com/api/accountLift.do
接口调用方法: post
接口接收参数:
String key: 用户ocrKey
String secret: 用户ocrSecret
String format: 返回格式(xml或者json),如果format为空,则默认返回xml