本文介绍了调用图片同步检测接口识别卡证票据混贴OCR的方法。卡证票据混贴OCR能够自动识别出图片中混贴的多个卡证或票据内容,以及其中的文字信息,并支持以结构化的方式返回文字信息。如果您需要识别票据报销类图片中的文字内容,推荐您使用该场景。

卡证票据混贴OCR识别目前支持识别以下类型的混贴图片:
  • 混贴发票:表示包含火车票、机票行程单、出租车票、定额发票、增值税发票、卷票、银行卡、驾驶证正页、户口簿户主页、户口簿常住人口页中一项或多项内容的图片
  • 混贴身份证:表示包含身份证人像面、身份证国徽面中一项或多项内容的图片
  • 混贴行驶证:表示包含行驶证正页、行驶证副页中一项或多项内容的图片

使用说明

业务接口:/green/image/scan,表示图片同步检测。

您可以调用该接口创建图片同步检测任务。关于如何构造HTTP请求,请参见请求结构;您也可以直接选用已构造好的HTTP请求,更多信息,请参见SDK概览

  • 计费信息

    该接口为收费接口。关于计费方式,请参见内容安全产品定价

  • 检测超时

    同步检测允许的最长检测时间是6秒,如果检测在该时间限制内没有完成,系统会强制返回超时错误码。如果您对实时性要求不高,可以选择异步检测,其他情况下请选择同步检测,同步检测接口的调用相对简单些。对于同步检测接口的调用,建议您将超时时间设置为6秒。

  • 返回结果

    同步检测请求一般会在一秒内返回结果,但在一些特殊场景(例如系统繁忙导致堆积严重、图片较大、含有OCR内容较多等),耗时可能会增加。OCR的处理速度依赖图片中文字的字数,字数越多处理时间越长。如果您检测的场景中文字较多,推荐您使用图片异步检测接口。

  • 图片要求
    • 图片链接支持以下协议:HTTP和HTTPS。
    • 图片支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
    • 图片大小限制为20 MB以内(适用于同步和异步调用),高度或者宽度不能超过30,000像素(px),且图像总像素不超过2.5亿(px)
    • 图片下载时间限制为3秒内,如果下载时间超过3秒,返回下载超时。
    • 图片像素建议不低于256*256(px),像素过低可能会影响识别效果。
    • 图片检测接口的响应时间依赖图片的下载时间。请保证被检测图片所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存等。

QPS限制

本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。

请求参数

名称类型是否必须示例值描述
bizTypeStringdefault该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准)。
scenesStringArray["ocr"]指定检测场景,取值:ocr
tasksJSONArray指定检测对象,JSON数组中的每个元素是一个检测任务结构体。最多支持100个元素,即每次提交100条内容进行检测,支持100个元素的前提是需要将并发任务调整到100个以上。关于每个元素的具体结构描述,请参见task
extrasJSONObject{"card":"multi-invoice"}指定要识别的混贴票据的类型,格式为{"card":"${CardType}"}CardType表示票据类型,取值:
  • multi-invoice:混贴发票,表示包含火车票、机票行程单、出租车票、定额发票、增值税发票、卷票、银行卡、驾驶证正页、户口簿户主页、户口簿常住人口页中一项或多项内容的图片
  • multi-idcard:混贴身份证,表示包含身份证人像面、身份证国徽面中一项或多项内容的图片
  • multi-vehicle-license:混贴行驶证,表示包含行驶证正页、行驶证副页中一项或多项内容的图片
表 1. task
名称类型是否必须示例值描述
dataIdStringtest_data_xxxx数据ID。需要保证在一次请求中所有的ID不重复。
urlStringhttps://aliyundoc.com/test_image_xxxx.png待检测图片的URL。

返回数据

名称类型示例值描述
codeInteger200错误码,和HTTP状态码一致。

更多信息,请参见公共错误码

msgStringOK请求信息的响应消息。
dataIdStringtest_data_xxxx检测对象对应的数据ID。
说明 如果在检测请求参数中传入了dataId,则此处返回对应的dataId
taskIdStringimg5AqOHIlzQRD5FMGNBO6F@t-1s$****检测任务的ID。
urlStringhttps://aliyundoc.com/test_image_xxxx.png检测对象的URL。
extrasJSONObject{"card":"multi-invoice"}额外调用参数,对应检测请求参数中的extras
说明 该参数可能会被调整,目前请勿依赖该参数的返回值。
resultsJSONArray返回结果。调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述请参见result
表 2. result
名称类型示例值描述
sceneStringocr检测场景,取值:ocr
labelStringocr检测结果的分类。取值:
  • normal:图片中未识别出文字信息。
  • ocr:图片中包含文字信息。
suggestionStringreview建议用户执行的操作,取值:
  • pass:无需关注返回结果。
  • review:关注识别出的文字信息。
rateFloat99.91在OCR图文识别场景中,可以不用关注该返回值。
multiCardInfoJSONArray识别出来的卡证或票据信息,包含火车票、机票行程单、出租车票、定额发票、增值税发票、卷票、银行卡、驾驶证、户口簿户主页、户口簿常住人口页、身份证人像面、身份证国徽面、行驶证、行驶证副页。关于具体结构描述,请参见multiCardInfo
multiCardInfo
  • 表 3. 火车票信息
    名称类型示例值描述
    priceString0.0票价。
    ticketNumberStringA000001票号。
    departureTimeString2019年01月01日00:00开开车时间。
    seatTypeString二等座座位类型。
    trainNumberStringG0000车次。
    departureString始发站出发站。
    departurePhonicsStringShifa出发站拼音。
    seatNumberString01车01F号座位号。
    destinationString终到站到达站。
    destinationPhonicsStringZhongdao到达站拼音。
    passengerInfoString1234567890****0000姓名旅客信息。
    typeStringtrain-ticket票据的类型,取值固定为train-ticket,表示火车票。
  • 表 4. 机票行程单信息
    名称类型示例值描述
    fareString50.00票价。
    fuelSurchargeStringxxx燃油附加费。
    serialNoString706229**印刷序号。
    flightStringxxx航班号。
    agentCodeStringCGO2750**销售单位代号。
    eTicketNoString7R469550**电子客票号码。
    departString郑州出发地。
    issueOrgStringxxxx航空服务公司填开单位。
    idString41010519651**有效身份证号码。
    fundStringxxx明航发展基金。
    passengerString张三旅客姓名。
    insuranceStringXXX保险费。
    totalStringCNY630.00合计。
    dateStringxxx日期。
    arriveString成都目的地。
    ckStringxxx校验码。
  • 表 5. 出租车票信息
    名称类型示例值描述
    actualCollectionString100实收金额。
    carNumberStringA•T****车号。
    dateString2008年9月16日日期。
    invoiceCodeString25000071****发票代码。
    invoiceNumbeString5485G0****发票号码。
    mileageString42.0km里程。
    amountString100金额。
    getOffTimeString16:58下车时间。
    boardingTimeString[K068016:50上车时间。
    totalAmountString100合计。
    typeStringtaxi-ticket票据的类型,取值固定为taxi-ticket,表示出租车票。
  • 表 6. 定额发票信息
    名称类型示例值描述
    amountInWordsString壹佰元大写金额。
    invoiceSerialString发票代码解析。
    amountInFiguresString100小写金额。
    invoiceNumberString0145****发票号码。
    invoiceCodeString15113159****发票代码。
    batchNumberString01批次号。
    yearString2015年份。
    taxBureauCodeString国税税务局代码。
    invoiceIndustryCodeStringNone发票行业代码。
    amountVersionString电脑版金额版。
    regionalismCodeString南充市行政区划代码。
    invoiceCategoryCodeString发票换票证发票类别代码。
    typeStringquota-invoice票据的类型,取值固定为quota-invoice,表示定额发票。
  • 表 7. 增值税发票信息(invoiceInfo)
    名称类型示例值描述
    invoice_nameString**增值税专用发票发票名称。
    invoice_idInteger110015****发票代码。
    invoice_numberInteger5795****发票号码。
    invoice_dateInteger20170422开票日期。
    invoice_bcompanyString****软件有限公司购买方名称。
    invoice_bcodeString91330000000000****购买方纳税人识别号。
    invoice_baddressString****购买方地址、电话。
    invoice_baccountString**银行某支行****购买方开户行及账号。
    invoice_passwordString1<000+0000-0000>79*27<>7295<-123020-8>07+63*683-80+>314-9+0+/<0-<-/1++35*958*6>98709/+9323858+8745<72461****发票密码。
    invoice_detailArray发票明细。
    invoice_totalamountFloat4222.22合计金额。
    invoice_totaltaxFloat717.78合计税额。
    invoice_totalamountupperString肆仟玖佰肆拾圆整价税合计(大写)。
    invoice_totalamountlowerString4940.00价税合计(小写)。
    invoice_scompanyString****有限责任公司销售方名称。
    invoice_scodeString91110000000000****销售方纳税人识别号。
    invoice_saddressString****销售方地址、电话。
    invoice_saccountString****支行1105011012340000****销售方开户行及账号。
    invoice_remarkStringKP12****备注。
    invoice_payeeStringxxx收款人。
    invoice_reviewerStringxxx复核。
    invoice_drawerString张女士开票人。
  • 表 8. 增值税发票明细(invoice_detail)
    名称类型示例值描述
    detail_nameString荣莉龙芽花茶货物或应税劳务、服务名称。
    detail_typeStringxxx规格型号。
    detail_unitStringxxx单位。
    detail_countFloat20数量。
    detail_unitpriceFloat44.4444444单价。
    detail_amountFloat888.89金额。
    detail_rateString17%税率。
    detail_taxFloat151.11税额。
  • 表 9. 卷票信息
    名称类型示例值描述
    dateStringxxx开票日期。
    sellerStringxxx销售方名称。
    buyerStringxxx购买方名称。
    taxNoStringxxx销售方税号。
    totalStringxxx总价。
    ckStringxxxx校验码。
    invoiceNoString00000000发票号码。
    invoiceCodeString000000000000发票代码。
    buyerTaxCodeString00000000购买方税号。
  • 表 10. 银行卡信息(bankCardInfo)
    名称类型示例值描述
    bankCardNumString622576888888****银行卡号。
  • 表 11. 驾驶证正面信息(driverLicenseFrontInfo)
    名称类型示例值描述
    nameString张XX姓名。
    numberString123xxxxxxxxxxxxxxxx驾驶证号。
    addressStringxx省xx市xx区xx街道xx号住址。
    vehicleTypeStringC1准驾车型。
    validStartDateString2022-01-01有效期开始时间,格式:YYYY-MM-DD。
    validEndDateString2028-01-01有效期截止时间,格式:YYYY-MM-DD。
  • 表 12. 户口簿户主页信息
    名称类型示例值描述
    locationNumberStringxxx地段号。
    issueDateString2022年01月01日签发日期。
    householdTypeString居民户口户别。
    houseHolderString张XX户主姓名。
    addressString广西xxx住址。
    communityStringxxx户主社区。
    householdNumberStringxxx户号。
    undertakerStringxxx承办人签章。
    typeStringhousehold-head卡证的类型,取值固定为household-head,表示户口簿户主页。
  • 表 13. 户口簿常住人口页信息
    名称类型示例值描述
    occupationString粮农职业。
    migrationDate1String2022年01月01日何时由何地迁来本址。
    idNumberString5****************9身份证编号。
    educationString初中文化程度。
    birthPlaceStringxxx出生地。
    servicePremisesStringxxx服务处所。
    householdNumberStringxxx户号。
    hometownString四川成都籍贯。
    nameString张XX姓名。
    formerNameStringxxx曾用名。
    maritalStatusString未婚婚姻状况。
    nationString汉族民族。
    otherAddressStringxxx本市其他住址。
    birthdayString2020年01月01日出生日期。
    militaryServiceStringxxx兵役状况。
    relationToString户主与户主关系。
    religionStringxxx宗教信仰。
    bloodTypeStringB血型。
    registerDateString2023年02月06日登记日期。
    heightStringxxx身高。
    migrationDate2Stringxxx县xxx乡xxx村xx迁来何时何地迁来本市。
    undertakerStringxxx承办人签章。
    typeStringhousehold-resident卡证的类型,取值固定为household-resident,表示户口簿常住人口页。
  • 表 14. 身份证信息(idCardInfo)
    名称类型示例值描述
    nameString张XX姓名。
    nationalityString民族。
    numberString5****************9身份证号。
    birthString2022-01-01出生日期。格式:YYYY-MM-DD。
    addressStringxxx住址。
    authorityStringxxx签发机构。
    startDateString2022-06-30有效期开始日期。格式:YYYY-MM-DD。
    endDateString2032-06-30有效期结束日期。格式:YYYY-MM-DD。
    说明 该字段可能返回以下值:长期
    angleFloat96.2证件顺时针旋转的角度。
    copyBooleanfalse身份证照片是否是复印件。取值:
    • true:是
    • false:否
    说明 默认不返回该字段。如果需要返回,请联系商务经理。
    remakeBooleanfalse身份证照片是否是翻拍。取值:
    • true:是
    • false:否
    说明 默认不返回该字段。如果需要返回,请联系商务经理。
    typeStringfront证件类型。取值:
    • front:身份证人像面
    • back:身份证国徽面
    • front_back:正常身份证人像面和国徽面同页
    • interim_front:临时身份证人像面
    • interim_back:临时身份证国徽面
    • interim_front_back:临时身份证人像面和国徽面同页
    numberValidBooleantrue证件号码是否合法。取值:
    • true:是
    • false:否
      说明 如果长度不正确或者号码不符合国家规范,会返回false
  • 表 15. 行驶证正面信息(vehicleLicenseFrontInfo)
    名称类型示例值描述
    plateNumString陕xxxxxx车牌号。
    vehicleTypeString小型普通客车车辆类型。
    ownerString张XX所有者名字。
    useCharacterString非营运车辆使用性质。
    addressStringxx省xx市xx区xx街道xx号住址。
    modelString东风日产牌ABCxxxxx车辆品牌。
    vinStringABCxxxxxxxx1234车辆识别代号。
    engineNumString12xxxxA发动机号码。
    registerDateString2022-01-01注册日期,格式:YYYY-MM-DD。
    issueDateString2022-01-01发证日期,格式:YYYY-MM-DD。
    表 16. 行驶证反面信息(vehicleLicenseBackInfo)
    名称类型示例值描述
    plateNumString陕Axxxxx车牌号。
    fileNumString12345678****档案编号。
    appprovedPassengerCapacityIntegerxxx核定载人数。
    grossMassStringxxx总质量。
    unladenMassStringxxx整备质量。
    approvedLoadStringxxx核定载质量。
    tractionMassStringxxx准牵引总质量。
    inspectionRecordString1检验记录。
    overallDimensionObject车辆轮廓尺寸信息。关于具体结构描述,请参见下表overallDimension。
    表 17. overallDimension
    名称类型示例值描述
    lengthInteger4000车辆长度,单位:毫米。
    widthInteger2000车辆宽度,单位:毫米。
    heightInteger1000车辆高度,单位:毫米。

示例

请求示例
说明 以混贴发票识别为例(extras传入{"card": "multi-invoice"})。如果需要识别其他类型的票据,传入对应的卡证或票据类型即可,具体请参见请求参数
http(s)://[Endpoint]/green/image/scan
&<公共请求参数>
{
    "scenes": [
        "ocr"
    ],
    "extras": {
        "card": "multi-invoice"
    },
    "tasks": [
        {
            "dataId": "test_data_xxxx",
            "url": "https://aliyundoc.com/test_image_xxxx.png"
        }
    ]
}
正常返回示例
说明 以只包含卷票或机票行程单为例。其他类型的卡证或票据结果示例,请参见结构化卡证OCR示例结构化票据OCR示例
  • 卷票信息
    {
        "msg": "OK",
        "code": 200,
        "data": [
            {
                "msg": "OK",
                "code": 200,
                "dataId": "test_data_xxxx",
                "extras": {
                    "md5": "d38999af9b6b2111568eda095029b768"
                },
                "results": [
                    {
                        "multiCardInfo": [
                            {
                                "date": "",
                                "seller": "",
                                "total": "",
                                "ck": "",
                                "buyerTaxCode": "",
                                "taxNo": "",
                                "invoiceNo": "00000000",
                                "type": "roll-ticket",
                                "invoiceCode": "000000000000",
                                "buyer": ""
                            }
                        ],
                        "rate": 99.91,
                        "suggestion": "review",
                        "label": "ocr",
                        "scene": "ocr"
                    }
                ],
                "taskId": "img5AqOHIlzQRD5FMGNBO6F@t-1s****",
                "url": "https://aliyundoc.com/test_image_xxxx.png"
            }
        ],
        "requestId": "3DC92A4B-2346-4519-B1C5-DD277AB3A5F8"
    }
  • 机票行程单信息
    {
        "msg": "OK",
        "code": 200,
        "data": [
            {
                "msg": "OK",
                "code": 200,
                "dataId": "test_data_xxxx",
                "extras": {
                    "md5": "1f22c383a8b83479e91182def3ff1489"
                },
                "results": [
                    {
                        "multiCardInfo": [
                            {
                                "insurance": "XXX",
                                "date": "",
                                "fare": "50.00",
                                "flight": "",
                                "agentCode": "CGO2750**",
                                "eTicketNo": "7R469550**",
                                "ck": "",
                                "type": "flight-itinerary",
                                "issueOrg": "xxxx航空服务公司",
                                "serialNo": "706229**",
                                "total": "CNY630.00",
                                "fund": "",
                                "passenger": "张三",
                                "arrive": "成都",
                                "id": "41010519651**",
                                "fuelSurcharge": "",
                                "depart": "郑州"
                            }
                        ],
                        "rate": 99.91,
                        "suggestion": "review",
                        "label": "ocr",
                        "scene": "ocr"
                    }
                ],
                "taskId": "img1XqbpFd0buK5E@0wglWMrA-1s****",
                "url": "https://aliyundoc.com/test_image_xxxx.png"
            }
        ],
        "requestId": "FE52C03C-1BAA-4D16-B29C-750A45C65E26"
    }