文档中心

- 大模型加速器
- 通用识别
- 图像智能处理
- 票据识别
- 国内通用票据识别
- 发票验真
- 票据分类
- 银行回单识别
- 电子承兑汇票识别
- 商铺小票识别
- 海关进出口货物报关单识别
- 汽车商业险保单识别
- 完税证明
- AI篡改检测
- 卡证识别
- 合同比对
- 合同抽取
- 财务相关API
查看文档
示例代码
功能描述
支持增值税专用发票、增值税普通发票(折叠票)、增值税普通发票(卷票)、增值税电子普通发票(含收费公路通行费增值税电子普通发票)、机动车销售统一发票、二手车销售统一发票在线查验、铁路电子客发票、航空运输电子客票行程单发票,当天开具发票次日可查验。
请求URL
https://api.textin.com/robot/v1.0/api/verify_vat
HTTP请求方法
HTTP POST
请求头说明(Request Header)
请在HTTP请求中添加以下自定义Header。
header 名 | 值 |
---|---|
x-ti-app-id | 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id |
x-ti-secret-code | 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code |
请求体说明(Request Body)
Content-Type:application/json
提示:Request Body 为 JSON字符串。
字段 | 说明 |
---|---|
invoice_code | 非必填,发票代码,全电发票(发票类型代码为 31,32,51,61)时非必填,其他发票类型必填 |
invoice_no | 必填,发票号码 |
invoice_date | 必填,开票日期,形如20190203 |
invoice_sum | 非必填,发票类型代码为 01,03,15,20,31,32,51,61 时必填:为 01,03,20,85时填写发票不含税金额,为 15 时填写发票车价合计,为 31,32,51,61时填写含税金额。其它可为空 |
verify_code | 非必填,机器验证码,取后六位,例如:发票上的校验码为43663064992194675523,接口传参传“675523”即可;发票类型代码为 04,10,11,14,86 时必填,发票类型代码为 86 时,填写密码区数电票号码后六位,其他发票种类可为空 |
engine | 非必填,指定验真源,枚举值 1, 2, 3 |
支持验真的票种
发票类型代码 | 发票类型说明 |
---|---|
01 | 增值税专用发票 |
02 | 货运运输业增值税专用发票 |
03 | 机动车销售统一发票 |
04 | 增值税普通发票 |
10 | 增值税普通发票(电子) |
11 | 增值税普通发票(卷式) |
14 | 增值税普通发票(通行费) |
15 | 二手车销售统一发票 |
20 | 增值税电子专用发票 |
31 | 电子发票(增值税专用发票) |
32 | 电子发票(增值税普通发票) |
51 | 电子发票(铁路电子客票) |
61 | 电子发票(航空运输电子客票行程单) |
85 | 全电发票(纸质专用发票) |
86 | 数电纸质发票(普通发票) |
响应体说明(Response Data)
Content-Type:application/json
JSON结构说明如下:
字段 | 说明 |
---|---|
code | 错误码,详见“错误码说明” |
message | 返回对应code的状态说明 |
result | 图片结果信息 |
+ code | 验证状态码 |
+ msg | 验证状态码说明 |
+ invoice_type | 发票类型 |
+ invoice_code | 发票代码 |
+ invoice_number | 发票号码 |
+ invalid_mark | 作废标志 |
+ invoice_date | 开票日期 |
+ purchaser_taxpayer_number | 购方税号 |
+ data | 发票信息,见下方说明 |
其中,data
(发票信息)字段详细说明如下:
序号 | 参数 | 参数名称 | 类型 | 长度 | 必须 | 说明 |
---|---|---|---|---|---|---|
1 | invoice_type | 发票种类 | String | 2 | 是 | |
2 | invoice_code | 发票代码 | String | 20 | 是 | |
3 | invoice_number | 发票号码 | String | 8 | 是 | |
4 | inspection_amount | 查验次数 | String | 100 | 否 | |
5 | saler_name | 销方名称 | String | 100 | 否 | |
6 | saler_taxpayer_number | 销方税号 | String | 20 | 否 | |
7 | saler_address_or_phone | 销方地址、电话 | String | 100 | 否 | |
8 | saler_bank_and_number | 销方开户行及账号 | String | 100 | 否 | |
9 | purchaser_taxpayer_number | 购方税号 | String | 20 | 否 | |
10 | purchaser_name | 购方名称 | String | 100 | 否 | |
11 | purchaser_address_or_phone | 购方地址、电话 | String | 100 | 否 | |
12 | purchaser_bank_and_number | 购方开户行及账号 | String | 100 | 否 | |
13 | invoice_date | 开票日期 | String | 8 | 否 | 格式 YYYYMMDD |
14 | invoice_money | 发票金额 | String | 20 | 否 | 发票种类为增值税专用发票、货物运输业增值税专用发票、机动车销售统一发票时不可为空,填写发票不含税金额 |
15 | all_tax | 发票税额 | String | 20 | 否 | |
16 | all_valorem_tax | 价税合计 | String | 16 | 否 | |
17 | note | 备注 | String | 200 | 否 | |
18 | machine_code | 机器编号 | String | 20 | 否 | |
19 | check_code | 校验码 | String | 20 | 否 | |
20 | blue_invoice_code | 蓝票发票代码 | String | 12 | 否 | |
21 | blue_invoice_no | 蓝票发票号码 | String | 8 | 否 | |
22 | invalid_mark | 作废标志 | String | 1 | 否 | N 未作废,Y 已作废, H 冲红,7 部分冲红,8 全额冲红 |
23 | id_card | 购方身份证号/组织机构代码 | String | 20 | 否 | 机动车、二手车发票返回该信息 |
24 | car_type | 车辆类型 | String | 80 | 否 | 机动车、二手车发票返回该信息 |
25 | brand_version | 厂牌型号 | String | 100 | 否 | 机动车、二手车发票返回该信息 |
26 | producing_area | 产地 | String | 80 | 否 | 机动车发票返回该信息 |
27 | license_code | 合格证号 | String | 100 | 否 | 机动车发票返回该信息 |
28 | inspection_number | 商检单号 | String | 80 | 否 | 机动车发票返回该信息 |
29 | engine_code | 发动机号 | String | 120 | 否 | 机动车发票返回该信息 |
30 | carframe_code | 车辆识别代号/车架号码 | String | 40 | 否 | 机动车、二手车发票返回该信息 |
31 | import_license | 进口证明书号 | String | 80 | 否 | 机动车发票返回该信息 |
32 | tax_unit_code | 主管税务机关代码 | String | 11 | 否 | 机动车发票返回该信息 |
33 | after_tax_code | 完税凭证号码 | String | 32 | 否 | 机动车发票返回该信息 |
34 | limit_amount | 限乘人数 | String | 40 | 否 | 机动车发票返回该信息 |
35 | tax_unit_name | 主管税务机关名称 | String | 160 | 否 | 机动车发票返回该信息 |
36 | unit | 吨位 | String | 40 | 否 | 机动车发票返回该信息 |
37 | tax_rate | 税率 | String | 32 | 否 | 机动车发票返回该信息 |
38 | saler_address | 销方地址 | String | 160 | 否 | 机动车发票返回该信息 |
39 | saler_phone | 销方电话 | String | 80 | 否 | 机动车发票返回该信息 |
40 | saler_bank_name | 销方开户银行 | String | 160 | 否 | 机动车发票返回该信息 |
41 | saler_bank_account | 销方开户账号 | String | 80 | 否 | 机动车发票返回该信息 |
42 | carrier_name | 承运人名称 | String | 20 | 否 | 货物发票返回信息 |
43 | carrier_tax_no | 承运人识别号 | String | 80 | 否 | 货物发票返回信息 |
44 | drawee_name | 受票方名称 | String | 20 | 否 | 货物发票返回信息 |
45 | drawee_tax_no | 受票方识别号 | String | 80 | 否 | 货物发票返回信息 |
46 | receive_name | 收货人名称 | String | 20 | 否 | 货物发票返回信息 |
47 | receive_tax_no | 收货人识别号 | String | 80 | 否 | 货物发票返回信息 |
48 | consignor_name | 发货人名称 | String | 20 | 否 | 货物发票返回信息 |
49 | consignor_tax_no | 发货人识别号 | String | 80 | 否 | 货物发票返回信息 |
50 | transport_goods_info | 运输货物信息 | String | 32 | 否 | 货物发票返回信息 |
51 | through_address | 起运地、经由、到达地 | String | 32 | 否 | 货物发票返回信息 |
52 | tax_disk_number | 税控盘号 | String | 32 | 否 | 货物发票返回信息 |
53 | car_type_and_number | 车种车号 | String | 15 | 否 | 货物发票返回信息 |
54 | vehicle_tonnage | 车船吨位 | String | 200 | 否 | 货物发票返回信息 |
55 | traffic_fee_flag | 通行费标准 | String | 2 | 否 | 通行费发票返回信息Y-可抵扣通行费N-不可抵扣通行费 |
56 | zero_tax_rate_flag | 零税率标识 | String | 2 | 否 | 通行费发票返回信息空:非零税率1:税率栏位显示“免税“2:税率栏位显示“不征税“3:零税率 |
57 | license_plate | 车牌照号 | String | 100 | 否 | 二手车发票返回信息 |
58 | registration_no | 登记证号 | String | 100 | 否 | 二手车发票返回信息 |
59 | car_price | 车价合计 | String | 32 | 否 | 二手车发票返回信息 |
60 | transferred_vehicle_office | 转入地车辆车管所名称 | String | 240 | 否 | 二手车发票返回信息 |
61 | purchaser_unit_or_individual | 买方单位/个人 | String | 240 | 否 | 二手车发票返回信息 |
62 | purchaser_unitcode_or_idNo | 买方单位代码/身份证号 | String | 44 | 否 | 二手车发票返回信息 |
63 | purchaser_unit_or_individual_address | 买方单位/个人住址 | String | 240 | 否 | 二手车发票返回信息 |
64 | purchaser_phone | 买方电话 | String | 100 | 否 | 二手车发票返回信息 |
65 | seller_unit_or_individual | 卖方单位/个人 | String | 240 | 否 | 二手车发票返回信息 |
66 | seller_unit_code_or_idno | 卖方单位代码/身份证号 | String | 44 | 否 | 二手车发票返回信息 |
67 | seller_unit_or_individual_address | 卖方单位/个人住址 | String | 240 | 否 | 二手车发票返回信息 |
68 | seller_phone | 卖方电话 | String | 100 | 否 | 二手车发票返回信息 |
69 | business_unit | 经营、拍卖单位 | String | 240 | 否 | 二手车发票返回信息 |
70 | busmess_unit_address | 经营、拍卖单位地址 | String | 240 | 否 | 二手车发票返回信息 |
71 | business_unit_tax_no | 经营、拍卖单位纳税人识别号 | String | 44 | 否 | 二手车发票返回信息 |
72 | busmess_unit_bank_and_account | 开户银行及账号 | String | 100 | 否 | 二手车发票返回信息 |
73 | busmess_unit_phone | 经营、拍卖单位电话 | String | 100 | 否 | 二手车发票返回信息 |
74 | lemon_market | 二手车市场 | String | 240 | 否 | 二手车发票返回信息 |
75 | lemon_market_tax_no | 二手车市场纳税人识别号 | String | 44 | 否 | 二手车发票返回信息 |
76 | lemon_market_address | 二手车市场地址 | String | 240 | 否 | 二手车发票返回信息 |
77 | lemon_market_bank_and_account | 二手车市场开户银行及账号 | String | 100 | 否 | 二手车发票返回信息 |
78 | lemon_market_phone | 二手车市场电话 | String | 100 | 否 | 二手车发票返回信息 |
79 | cyjgxx | 验真结果 | String | 100 | 否 | 验真结果 |
detailList
字段详细说明如下:
序号 | 参数 | 参数名称 | 类型 | 长度 | 必须 | 说明 |
---|---|---|---|---|---|---|
1 | detail_no | 明细编号 | String | 90 | 否 | |
2 | goods_name | 货物名称 | String | 40 | 否 | |
3 | detail_amount | 金额 | String | 22 | 否 | |
4 | num | 数量 | String | 24 | 否 | |
5 | tax_rate | 税率 | String | 24 | 否 | |
6 | all_tax | 税额 | String | 24 | 否 | |
7 | tax_unit_price | 含税单价 | String | 24 | 否 | |
8 | tax_detail_amount | 含税金额 | String | 24 | 否 | |
9 | net_value | 不含税单价 | String | 24 | 否 | |
10 | standard | 规格型号 | String | 100 | 否 | |
11 | unit | 计量单位 | String | 10 | 否 | |
12 | expense_item | 费用项目 | String | 30 | 否 | 货物发票返回信息 |
13 | plate_no | 车牌号 | String | 40 | 否 | 通行费发票返回信息 |
14 | type | 类型 | String | 32 | 否 | 通行费发票返回信息 |
15 | traffic_date_start | 通行日期起 | String | 32 | 否 | 通行费发票返回信息 |
16 | traffic_date_end | 通行日期起止 | String | 32 | 否 | 通行费发票返回信息 |
17 | taxClassifyCode | 税收分类编码 | String | 90 | 否 | |
18 | rowNo | 行号 | string | 32 | 否 | |
19 | documentNum | 证件号 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
20 | startTime | 出发时间 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
21 | kttz | 空调特征 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
22 | name | 姓名 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息、电子发票(航空运输电子客票行程单)返回信息 |
23 | elecTicketNum | 电子客票号 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
24 | carriage | 车厢 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
25 | xw | 席位 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
26 | xb | 席别 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
27 | trainNum | 车次 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
28 | startStation | 出发站 | string | 32 | 否 | 电子发票(铁路电子客票)、电子发票(航空运输电子客票行程单)返回信息 |
29 | endStation | 到达站 | string | 32 | 否 | 电子发票(铁路电子客票)、电子发票(航空运输电子客票行程单)返回信息 |
30 | businessType | 业务类型 0-售 1-退 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
31 | taxRate | 税率 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
32 | boardDate | 乘车日期 | string | 32 | 否 | 电子发票(铁路电子客票)返回信息 |
33 | carrierDate | 承运日期 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
34 | carrier | 承运人 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
35 | leg | 航段 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
36 | tickedLevel | 客票级别 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
37 | seatLevel | 座位等级 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
38 | flightTime | 起飞时间 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
39 | flightNumber | 航班号 | string | 32 | 否 | 电子发票(航空运输电子客票行程单)返回信息 |
验证状态码字段与扣费说明
返回码 | 说明 | 是否扣费 |
---|---|---|
001 | 成功 | 是 |
002 | 超过该张票当天查验次数 | 否 |
005 | 请求不合法 | 否 |
006 | 发票信息不一致 | 是 |
009 | 所查发票不存在 | 是 |
104 | 已超过最大查验量 | 否 |
105 | 查询发票不规范 | 否 |
106 | 查验异常 | 否 |
107 | 鉴权失败 | 否 |
108 | 参数不为空 | 否 |
109 | 参数长度不正确 | 否 |
110 | 参数"invoice_code"的格式或取值范围错误 | 否 |
111 | 参数"invoice_sum"的格式或取值范围错误 | 否 |
112 | 参数"verify_code"的格式或取值范围错误 | 否 |
113 | 参数"invoice_no"的格式或取值范围错误 | 否 |
114 | 校验码不正确,应为后六位 | 否 |
115 | 超过服务有效期限限制 | 否 |
116 | 查验发票张数超过限制 | 否 |
1005 | 请核对四要素是否符合发票规范 | 是 |
1010 | 日期格式不正确(请检查日期是否符合格式YYYYMMDD) | 否 |
1011 | 请求参数不完整 | 否 |
1021 | 网络超时,税局升级维护 | 否 |
10014 | 日期当天不能查验 | 否 |
10015 | 开票金额:不合法的格式 | 否 |
10016 | 检验码:不能为空 | 否 |
10017 | 超过五年的不能查验 | 否 |
10018 | 检验码:不合法的长度 | 否 |
10020 | 没有查验权限 | 否 |
JSON结构示例
错误码说明
错误码 | 描述 |
---|---|
40101 | x-ti-app-id 或 x-ti-secret-code 为空 |
40102 | x-ti-app-id 或 x-ti-secret-code 无效,验证失败 |
40103 | 客户端IP不在白名单 |
40003 | 余额不足,请充值后再使用 |
40004 | 参数错误,请查看技术文档,检查传参 |
40007 | 机器人不存在或未发布 |
40008 | 机器人未开通,请至市场开通后重试 |
40301 | 图片类型不支持 |
40302 | 上传文件大小不符,文件大小不超过 10M |
40303 | 文件类型不支持 |
40304 | 图片尺寸不符,图像宽高须介于 20 和 10000(像素)之间 |
40305 | 识别文件未上传 |
40400 | 无效的请求链接,请检查链接是否正确 |
30203 | 基础服务故障,请稍后重试 |
500 | 服务器内部错误 |