一、什么是身份证OCR识别接口?
身份证OCR识别接口又叫身份证识别,身份证图像识别,身份证文字识别,即自动识别和提取身份证上的文字和数字信息。它可以通过图像处理和模式识别算法,将身份证中的姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限等关键信息准确地提取出来。
二、身份证OCR识别接口适用场景有哪些?
1.金融行业:用于银行开户、贷款申请、信用卡办理、证券移动开户等业务,可以快速准确地提取客户身份证信息,提高业务办理效率,同时有助于进行实名认证和风险控制;
2.政务服务:在身份证办理、户籍管理、社保登记、公安管理等方面,能够快速识别公民身份证信息并与其他信息核对,提升政务服务的效率和准确性;
3.交通领域:应用于汽车租赁、火车票预订、飞机票预订等业务,可快速识别乘客身份证信息,提高业务办理效率;
4.电信实名制:用户进行手机开卡时,用于采集和核验身份证信息,减少用户等待时间,提升用户体验;
5.保险行业:在移动投保、车险销售等业务中,身份证 OCR 可快速进行身份证认证,简化业务流程。
三、如何用Java实现身份证OCR识别接口调用?
下面我们以Java为例进行接口调用:
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": "成功",
"success": true,
"code": 200,
"data": {
"orderNo": "202304031918463633574",
"result": 0, //0 :识别成功,1:识别失败
"side": "back",// back :反面
"info": {
"authority": "上海市公安局**局",//签发机关
"timelimit": "20220716-20420716"//有效期限
}
}
}