/v2/ocr/passport

1.接口描述

该API的功能主要是识别护照信息,此接口需要用户第一方授权,如有委托情况,需提供委托证明。

  • 图片要求:
    1. 格式为 JPG(JPEG),BMP,PNG
    2. 宽和高大于 8px,小于等于 4800px
    3. 小于等于 5 MB

请求方式

POST

请求 URL

https://cloudapi.linkface.cn/v2/ocr/passport

2.请求参数

字段 类型 必需 描述
api_id string API 账户。
sequence_id string 客户请求流水号,建议唯一性
file file 见下方注释 需上传的图片文件。上传本地图片可选取此参数
url string 见下方注释 图片网络地址。采用抓取网络图片方式可选取此参数
image_id string 见下方注释 图片的id。在云端上传过的图片可选取此参数
image_base64 string 见下方注释 采用base64编码的二进制图片数据可选此参数
timestamp string 时间戳
sign string 签名(api_id+api_secret+timestamp使用SHA256算法获取)

请求参数 file,url,image_idimage_base64 必四选一,如同时传入多个参数,本API使用顺序为image_id优先,其次fileimage_base64url。 url 中含有不少特殊字符,若将 URL 放入 Query String 中则需要对这些字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。 目前支持 http/https 等协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。 参数 file 需把图片文件的内容以 multipart/form-data 的形式放到 POST 消息体中。

签名sign说明:

我们会为每位公有云用户分配一个账户API ID和对应秘钥API SECRET。为了保证安全性,用户的每次接口调用都需要上传一个签名(基于API ID和API SECRET获取)。

Java示例代码:

SHA256Util.getSHA256Str(LF_APP_ID + LF_APP_SECRET + timeStamp)
/**
     * 利用java原生的摘要实现SHA256加密
     *
     * @param str 加密后的报文
     */
    public static String getSHA256Str(String str) {
        MessageDigest messageDigest;
        String encodeStr = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            messageDigest.update(str.getBytes("UTF-8"));
            encodeStr = byte2Hex(messageDigest.digest());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return encodeStr;
    }
    /**
     * 将byte转为16进制
     */
    private static String byte2Hex(byte[] bytes) {
        StringBuffer stringBuffer = new StringBuffer();
        String temp = null;
        for (int i = 0; i < bytes.length; i++) {
            temp = Integer.toHexString(bytes[i] & 0xFF);
            if (temp.length() == 1) {
                //1得到一位的进行补0操作
                stringBuffer.append("0");
            }
            stringBuffer.append(temp);
        }
        return stringBuffer.toString();
    }

3.返回参数

字段 类型 描述
request_id string 本次请求的 id
code string 业务响应码。正常为 0000 ,其他值表示失败。详见业务响应码
msg string 消息说明
data object 消息体,详见data数组中字段的结构(只有code: 0000调用成功时返回)
charge int 是否收费,1收费,2不收费

data 的结构如下:

字段 类型 描述
words_result_num int 查询结果 1人证比对查得 2图片质量校验不合格
words_result object 消息体,详见words_result数组中字段的结构(只有0000调用成功时返回)

words_result 的结构如下:

字段 类型 描述
姓名 object 查询结果
护照签发地 object 查询结果
国家码 object 查询结果
有效期至 object 查询结果
签发机关 object 查询结果
护照号码 object 查询结果
签发日期 object 查询结果
出生地点 object 查询结果
姓名拼音 object 查询结果
国籍 object 查询结果
生日 object 查询结果
性别 object 查询结果
MRZCode1 object 查询结果
MRZCode2 object 查询结果
护照类型 object 查询结果

说明:支持对中国大陆护照个人资料页所有15个字段进行结构化识别,包括国家码、护照号、姓名、姓名拼音、性别、出生地点、出生日期、签发地点(不支持境外签发地)、签发日期、有效期、签发机关、护照类型、国籍、MRZCode1、MRZCode2。

收费标准:code为0000,charge为1时收费;其他情况(code非0000),charge为2,不收费;

成功返回示例
{
    "code":"0000",
    "msg":"调用成功",
    "charge":1,
    "data":{
        "words_result_num":15,
        "image_id":"d973ae315e3240a99a2e3ee902ec7a13",
        "words_result":{
            "MRZCode2":{
                "words":"521252N&lt;2HHU50600&lt;&lt;&lt;&lt;&lt;&lt;",
                "location":{
                    "top":276,
                    "left":48,
                    "width":336,
                    "height":14
                }
            },
            "护照类型":{
                "words":"",
                "location":{
                    "top":40,
                    "left":151,
                    "width":10,
                    "height":11
                }
            },
            "护照签发地点":{
                "words":"北京/BEIJING",
                "location":{
                    "top":163,
                    "left":269,
                    "width":82,
                    "height":13
                }
            },
            "签发机关":{
                "words":"公安部出入境管理局",
                "location":{
                    "top":217,
                    "left":152,
                    "width":110,
                    "height":15
                }
            },
            "护照号码":{
                "words":"",
                "location":{
                    "top":-1,
                    "left":-1,
                    "width":-1,
                    "height":-1
                }
            },
            "签发日期":{
                "words":"2008年12月31日",
                "location":{
                    "top":190,
                    "left":152,
                    "width":87,
                    "height":14
                }
            },
            "出生地点":{
                "words":"北京/BEIJING",
                "location":{
                    "top":136,
                    "left":268,
                    "width":83,
                    "height":14
                }
            },
            "生日":{
                "words":"",
                "location":{
                    "top":-1,
                    "left":-1,
                    "width":-1,
                    "height":-1
                }
            },
            "有效期至":{
                "words":"2013年12月30日",
                "location":{
                    "top":189,
                    "left":269,
                    "width":85,
                    "height":13
                }
            },
            "姓名拼音":{
                "words":"XXX",
                "location":{
                    "top":107,
                    "left":149,
                    "width":94,
                    "height":14
                }
            },
            "性别":{
                "words":"男/M",
                "location":{
                    "top":136,
                    "left":152,
                    "width":30,
                    "height":13
                }
            },
            "姓名":{
                "words":"XXX",
                "location":{
                    "top":80,
                    "left":152,
                    "width":58,
                    "height":13
                }
            },
            "国家码":{
                "words":"CHN",
                "location":{
                    "top":41,
                    "left":208,
                    "width":23,
                    "height":9
                }
            },
            "国籍":{
                "words":"",
                "location":{
                    "top":-1,
                    "left":-1,
                    "width":-1,
                    "height":-1
                }
            },
            "MRZCode1":{
                "words":"POCHNTIAN&lt;&lt;BAIHAO&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;",
                "location":{
                    "top":256,
                    "left":62,
                    "width":348,
                    "height":18
                }
            }
        }
    },
    "request_id":"TID84e25c1aa8a14a018b30703aeb2b14be"
}
失败返回示例
{
  "request_id": "TID2af751b4bff24be781d60af10bf84101",
  "code": "1000",
  "msg": "验签失败",
  "charge": 2
}

4.业务响应码

code msg 字段
0000 调用成功
1000 验签失败
1001 参数非UTF-8编码
1002 请求参数错误,具体原因见 reason 字段内容
1003 liveness_data 出错
1004 图片未检测出人脸 。对应图片见字段 image 所反馈的值
1005 从网络获取图片超时
1006 网络地址图片获取失败
1007 账号或密钥错误
1008 账号过期,具体情况见 reason 字段内容
1009 调用频率超出限额
1010 调用次数超出限额
1011 无调用权限
1012 请求路径错误
1013 图片体积过大。对应图片见字段 image 所反馈的值
1014 图片不存在。对应图片见字段 image 所反馈的值。
1015 文件不是图片文件或已经损坏。对应图片见字段 image 所反馈的值
1016 图片大小或格式不符合要求。对应图片见字段 image 所反馈的值
1027 交易受限
9999 服务器内部错误
9990 数据服务异常
9980 余额不足

results matching ""

    No results matching ""