verify_e_invoice

1.接口描述

该 API 用于对输入的图片进行电子票的验真,并返回验真后的结构化数据

  • 图片要求:
    1. 格式为 JPG(JPEG),PNG
    2. 宽和高大于 128px,小于等于 6000px

请求方式

POST

http://cloudapi.deepfinch.com/ocr/medical/verify_e_invoice

2.请求参数

2.1 请求头域

字段 类型 必需 描述
X-DF-API-ID string API调用凭证信息,详细信息请参考API调用
X-DF-API-SECRET string API调用凭证信息,详细信息请参考API调用

2.2 请求体

字段 类型 必需 描述
file file 见下方注释 需上传的图片文件,上传本地图片进行检测时选取此参数
auto_rotate boolean 是否开启图片自动旋转, 默认:false

请求参数 fileurl 二选一。
url 中若含有特殊字符,则需要对这些字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。
目前支持 http/https 协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。
参数 file 需把图片文件以 multipart/form-data 的形式放到 POST 消息体中。

3.返回参数

字段 类型 说明
request_id string 本次请求的id
status string 状态,正常为 OK
data object 票据信息验真结果
error_code int 验真错误码,仅当statusVERIFY_FAILED时返回
reason string 错误原因
qrcode_scan_result int 二维码扫描结果: 0-扫描失败, 1-扫描成功

3.1 data 字段的参数:

字段 类型 说明
invoice_standard_result object 本次请求票据基础信息
invoice_additional_result object 本次请求票据额外信息

3.2 invoice_standard_result 字段的参数:

字段 类型 说明
province string 票据省份
note_title string 票据标题
type int 票据类型: 0-未知, 1-门诊票据, 2-住院票据
note_no string 票据号码
patient_name string 患者姓名
patient_gender int 性别: 0-未知, 1-男, 2-女
billing_date string 开票日期
checksum object 票据内校验结果: -1 不校验,0 未通过校验,1 通过校验
cost_categories array 大类项目
cost_detail_list array 细类项目
hospital_name string 医院名称
start_hospital_date string 入院日期
end_hospital_date string 出院日期
hospital_days float 住院天数
total_cost float 发票总金额
medical_insurance_type string 医保类型
medical_organization_type string 医疗机构类型
service_serial_no string 业务流水号
social_security_card_no string 社会保障号码
payments_info array 支付信息项
charging_units string 收款单位
hospital_no string 住院号/门诊号
payee string 收款人
reviewer string 复核人
hospital_departments string 住院科别
work_unit string 工作单位
payment_channel string 支付渠道
medical_insurance_no string 医保编号
medical_card_no string 就诊卡号
check_code string 校验码
note_code string 票据代码
medical_record_no string 病历号
unified_social_credit_code string 交款人社会统一信用代码
treatment_date string 就诊日期
invoice_party_code string 开票单位代码
remark string 备注
3.2.1 cost_categories 字段的参数:
字段 类型 说明
name string 大类单项名称
cost float 大类单项金额
3.2.2 `checksum` 字段的参数:
字段 类型 说明
cost_categories int 大类金额,大类金额之和是否等于总金额
cost_detail_list int 细目金额,细目金额之和是否等于总金额
3.2.2 cost_detail_list 字段的参数:
字段 类型 说明
ocr_name string 细目名称,基于票面名称拆解后细目名称,暂不输出
cost float 细目金额
amount float 细目数量
unit_price float 细目单价
spec string 规格
unit string 单位
medical_level string 医保等级
selfpay float 自付金额
medical_type int 项目类型: 0-未知, 1-西药, 2-中药, 3-诊疗项目
class string 细目所属大类
item_coding string 项目编码
origin_ocr_name string 票面上原始打印的细目名称
name string 通过细目名称匹配的医保库名称
3.2.3 payments_info 的字段:
字段 类型 说明
name string 名称
cost float 金额(部分字段非数字,见以下字段提示)

以下字段不同地区会有自定义字段,例如分类自负、个人自理、师职补助等字段,具体情况按票面内容输出,以下表格仅列出各省通用字段

以下字段如票面中不包含或未提取到,不做输出
字段 说明
预缴金额
补缴金额
退费金额
医保统筹基金支付
其他支付
个人账户支付
个人现金支付
个人自付
个人自费
分类自负 仅上海输出
个人自负 仅上海输出
附加基金支付 仅上海输出
医保当年账户余额 仅上海输出
医保历年账户余额 仅上海输出
政策性减免 仅广东输出
医院承担 仅贵州输出
道路救助基金垫付 仅浙江输出
道路救助基金垫付信息 仅浙江输出,输出的为明细信息,包含非数字信息
个人自理 仅浙江输出
个人现金支付明细 仅浙江输出,输出的为明细信息,包含非数字信息
医保统筹基金支付明细 仅浙江输出,输出的为明细信息,包含非数字信息
其他支付明细 仅浙江输出,输出的为明细信息,包含非数字信息
大病保险支付 仅江苏输出
其他保险支付 仅江苏输出
医疗救助支付 仅江苏输出
个人账户余额 仅江苏输出
长期累计 仅甘肃输出
乙类自付 仅河南、浙江输出
按比例自付 仅河南输出
公务员补助 仅河南输出
师职补助 仅河南输出
医疗救助 仅河南输出
产前检查 仅河南输出

3.3 invoice_additional_result 字段的参数:

字段 类型 说明
note_code string 票据代码
note_no string 票据号码
query_last_date string 最近电子票请求时间,部分发票有
query_num int 电子票查询的次数,部分发票有
billing_date string 开票日期
total_cost float 发票总金额
check_code string 校验码
img_status array 已开红票、已打印、已作废、已入账状态
reim_agency_list array 报销机构列表
3.3.1 img_status 的字段:
字段 类型 说明
yidayin string 已打印
yikaihongpiao string 已开红票
yizuofei string 已作废
yiruzhang string 已入账
3.3.2 reim_agency_list 的字段:
字段 类型 说明
amt string 报销金额
note_code string 票据代码
note_no string 票据号码
reimAgency string 报销单位
writeDate string 报销时间

备注: 仅当河北省时会输出reim_agency_list字段

返回结果示例
{
    "data": {
        "invoice_additional_result": {
            "billing_date": "2021-10-17",
            "check_code": "XXXXX",
            "note_code": "XXXXX"",
            "note_no": "XXXXX"",
            "query_last_date": null,
            "query_num": null,
            "total_cost": 207,
            "img_status": []
        },
        "invoice_standard_result": {
            "billing_date": "2021-10-17",
            "charging_units": "河南省XXXXX医院",
            "check_code": "XXXXX",
            "checksum": {
                "cost_categories": 1,
                "cost_detail_list": -1
            },
            "cost_categories": [{
                    "cost": 191,
                    "name": "检查费"
                },
                {
                    "cost": 16,
                    "name": "治疗费"
                }
            ],
            "cost_detail_list": [],
            "end_hospital_date": null,
            "hospital_days": null,
            "hospital_departments": "东XXXXX外科",
            "hospital_name": "河南省XXXXXX医院",
            "hospital_no": "2002530933",
            "img_status": [],
            "invoice_party_code": null,
            "medical_card_no": null,
            "medical_insurance_no": null,
            "medical_insurance_type": "普通病人",
            "medical_organization_type": null,
            "medical_record_no": "30010017553",
            "note_code": "41060121",
            "note_no": "1031XXXX7250",
            "note_title": "河南省医疗门诊收费票据(电子)",
            "patient_gender": 1,
            "patient_name": "XXX",
            "payee": "2007",
            "payment_channel": null,
            "payments_info": [{
                    "cost": 0,
                    "name": "预缴金额"
                },
                {
                    "cost": 0,
                    "name": "个人自费"
                },
                {
                    "cost": 0,
                    "name": "其他支付"
                },
                {
                    "cost": 0,
                    "name": "退费金额"
                },
                {
                    "cost": 0,
                    "name": "医保统筹基金支付"
                },
                {
                    "cost": 207,
                    "name": "个人现金支付"
                },
                {
                    "cost": 0,
                    "name": "个人账户支付"
                },
                {
                    "cost": 0,
                    "name": "补缴金额"
                },
                {
                    "cost": 0,
                    "name": "起付标准"
                },
                {
                    "cost": 0,
                    "name": "乙类自付"
                },
                {
                    "cost": 0,
                    "name": "按比例自付"
                },
                {
                    "cost": 0,
                    "name": "公务员补助"
                },
                {
                    "cost": 0,
                    "name": "师职补助"
                },
                {
                    "cost": 0,
                    "name": "大额(病)保险报销"
                },
                {
                    "cost": 0,
                    "name": "大病补充保险报销"
                },
                {
                    "cost": 0,
                    "name": "医疗救助"
                },
                {
                    "cost": 0,
                    "name": "产前检查"
                }
            ],
            "remark": null,
            "reviewer": "2007",
            "service_serial_no": "889be62c355f4ab78418b9aad0ac587d",
            "social_security_card_no": null,
            "start_hospital_date": null,
            "total_cost": 207,
            "treatment_date": "2021-10-17",
            "type": 1,
            "unified_social_credit_code": "4108XXXXXXXXXX2005X",
            "work_unit": null
        }
    },
    "qrcode_scan_result": 1,
    "request_id": "87dea9e29de511ecbfaa0242ac110006",
    "status": "OK"
}

4.错误码

4.1 服务错误码

HTTP状态码 status 字段 说明
400 INVALID_ARGUMENT 请求参数错误
400 DETETION_FAILED 图片检测失败
400 DOWNLOAD_ERROR 网络地址图片获取失败
401 UNAUTHORIZED 未授权或授权失败
401 KEY_EXPIRED 账号过期
403 NO_PERMISSION 无调用权限
403 OUT_OF_QUOTA 调用次数超出限额
403 RATE_LIMIT_EXCEEDED 调用频率超出限额
404 NOT_FOUND 请求路径错误
500 INTERNAL_ERROR 服务器内部错误

备注: 以上40X系列错误描述请参考reason字段

4.2 验真错误码

当验真失败时(status=VERIFY_FAILED),我们通过返回的error_code字段可以区分不同的错误原因:

error_code 字段 reason 字段 说明
100 network error 请求网络错误
198 result parse failed 解析结果失败
300 invoice not exist 发票查询不到
301 note_no is required 发票号码缺少
302 check_code is required 校验码缺少
303 note_code is required 票据代码缺少
304 billing_date is required 日期缺少
305 total_cost is required 总金额缺少
306 billing_date error 日期错误
307 total_cost error 总金额错误
308 check_code error 校验码错误
309 note_code error 票据代码错误
310 note_no error 票据号码错误
311 bill query exception 查询地方票据异常
312 e-invoice verify request params format error 请求格式错误
313 e-invoice verify rate limit count 超过该张票据当天核验次数
314 financial system error 财政内部异常
315 e-invoice no circulation 该电子票据禁止流通
316 province system maintain 该省份系统维护中
317 access data source time out 数据源访问超时
318 auth failed 身份验证失败
319 area not support 不支持该地区查询
320 invalid bill 无效的电子票
321 unknown error 未知错误
325 billing_date format error 日期格式错误
输出样例
{ 
    "error_code": 303,
    "status": "VERIFY_FAILED",
     "reason": "note_code is required", 
    "request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e", 
    "qrcode_scan_result": 1
}

5.输入示例

results matching ""

    No results matching ""