一、什么是身份证OCR识别接口?
传入身份证照片,识别照片文字信息并返回,包括姓名、身份证号码、性别、民族、出生年月日、地址、签发机关及有效期等文本信息。
二、身份证OCR识别接口使用场景有哪些?
1.机场登机:
(1)在机场办理登机手续时,身份证 OCR 识别接口可以快速识别旅客的身份信息,与订票系统进行比对,确保旅客能够顺利登机。旅客只需将身份证放在识别设备上,系统就能自动读取信息并完成验证,减少了人工核对的工作量和错误率,提高了登机效率。
例如,某大型机场采用身份证 OCR 识别技术后,旅客登机手续办理时间平均缩短了 2-3 分钟,大大缓解了登机口的拥堵情况,提升了旅客的出行体验。
2.火车站检票:
(1)火车站在检票环节也可以应用身份证 OCR 识别接口。乘客进站检票时,通过识别身份证信息,验证乘客的购票情况和身份真实性,实现快速检票进站。相比传统的人工检票方式,不仅提高了检票速度,还能有效防止假票和无票人员进站。
(2)以某高铁站为例,在客流高峰期,采用身份证 OCR 检票后,每小时的检票通过人数从原来的 1000 人左右提高到了 1500 人以上,大大提高了车站的运营效率。
三、如何利用Java调用身份证OCR识别接口呢?
下面我们以快证API为例,通过Java调用示例代码如下:
--------该接口支持免费测试使用,有需求小伙伴可以测试后购买-------
接口地址:https://market.aliyun.com/apimarket/detail/cmapi00066594?spm=5176.730005.result.54.39cb3524RAqO5G#sku=yuncode6059400002
public static void main(String[] args) {
String host = "https://kzcardocr.market.alicloudapi.com";
String path = "/api-mall/api/idcard/ocr";
String method = "POST";
String appcode = "你自己的AppCode";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers.put("Authorization", "APPCODE " + appcode);
//根据API的要求,定义相对应的Content-Type
headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
Map<String, String> querys = new HashMap<String, String>();
Map<String, String> bodys = new HashMap<String, String>();
bodys.put("image", "image");
bodys.put("url", "url");
try {
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
System.out.println(response.toString());
//获取response的body
//System.out.println(EntityUtils.toString(response.getEntity()));
} catch (Exception e) {
e.printStackTrace();
}
}
正确返回示例如下:
{
"msg": "成功",
"success": true,
"code": 200,
"data": {
"result": 0, //0 :识别成功,1:识别失败
"side": "front", // front:正面,back :反面
"orderNo": "202304031918463633573",
"info": {
"number": "330*********1011", //身份证号
"address": "浙江省*****651号", //住址
"month": "8", //出生月份
"nation": "汉", //民族
"year": "1981", //出生年份
"sex": "男", //性别
"name": "张*江", //姓名
"day": "16" //出生-日
}
}
}
{
"msg": "成功",
上述代码如有不懂,欢迎随时留言讨论!