/v2/identity/selfie_idnumber_verification

1.接口描述

(v2版本带签名认证)该接口在身份核验的基础上,结合用户的活体检测动作,基于模型算法的能力,优先进行图片质量检测,判断用户图片是否清晰,是否过度曝光等;再对照片进行人像定位,特征提取;并最终判断是否为用户本人。
(注:此接口只提供比对相似度分数,不提供比对照片)

  • 普通人脸图片要求
    1. 格式为 JPG(JPEG),BMP,PNG,GIF,TIFF
    2. 宽和高大于 8px,小于等于4000px
    3. 小于等于 2 MB,建议100KB以内
    4. 人脸双眼间距不小于30像素,建议90像素以上
    5. 图像中人脸图像较清晰,不因镜头散焦或运动而模糊
    6. 眼睛的瞳孔清晰可见,镜面无反光,禁止戴墨镜,且眼镜框不得遮挡眼睛,不要带宽框眼镜
    7. 人脸光线均匀且无阴影,亮度在200-800Lux,面部无明显反光、逆光、侧光
    8. 要求头发及饰物不能遮挡人脸,禁止戴口罩,帽子
    9. 表情自然、放松、无夸张动作,脸部区域完整、轮廓清晰、人脸比例不失真
    10. 照片中只允许有1张人脸,且背景简单,无复杂场景
    11. 人脸姿态要求,平面旋转(roll)±15°,俯仰变化(pitch)±10°,姿态偏转(yaw)±15°
  • 支持自动识别人脸方向
    1. 上传的图片中包含有 exif 方向信息,先按此信息旋转、翻转后再做识别人脸方向并调整。
    2. 如果照片方向混乱且 exif 方向信息不存在或不正确,自动识别人脸方向并调整

请求方式:

POST

请求URL:

https://cloudapi.linkface.cn/v2/identity/selfie_idnumber_verification

2.请求参数

字段 类型 必需 描述
api_id string API 账户。
sequence_id string 客户请求流水号,建议唯一性
id_number string 身份证号。用以查询近照
name string 与身份证号相对应的姓名。身份证号及姓名相匹配才能查询近照
selfie_file file 见下方注释 需上传的图片文件。上传本地图片可选取此参数
selfie_url string 见下方注释 图片网络地址。采用抓取网络图片方式可选取此参数
selfie_image_id string 见下方注释 图片的id。在云端上传过的图片可选取此参数
selfie_image_base64 string 见下方注释 采用base64编码的二进制图片数据可选此参数
selfie_auto_rotate boolean 开启图片自动旋转功能。开通:true,不开通:false。默认不开通
timestamp string 时间戳
sign string 签名(api_id+api_secret+timestamp使用SHA256算法获取)

参数 selfie_file,selfie_url,selfie_image_idselfie_image_base64必四选一,如同时传入多个参数,本API使用顺序为selfie_image_id优先,其次selfie_fileselfie_image_base64selfie_url

若将 URL 放入 Query String 中则需要对特殊字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。 目前支持 http/https 等协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。 参数 selfie_file 需把图片文件的内容以 multipart/form-data 的形式放到 POST 消息体中。 打开自动旋转功能会增加运算时间,请酌情考虑是否开通此功能

所有中文和特殊字符必需以UTF-8编码转义。

签名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 的结构如下:

字段 类型 描述
check_result int 查询结果 1人证比对查得 2图片质量校验不合格
id_name_result int 身份核验结果 1姓名身份证号一致 2姓名身份证号不一致 3库无
photo_result int 图片校验结果 1比对成功 2库中无照片 3特征提取失败
certificate_score double 人脸和证件照比对结果系统判断为不同人:[0,40) 不确定是否为同一人:[40,60) 系统判断为同一人:[60,100]
selfie_image_id string 请求参数中使用file、url方式会返回图片的id

收费标准: code为0000且check_result为1时,charge为1,收费; code不为0000,或者code为0000且check_result为2时,charge为2,不收费。

成功返回示例:

{
    "code": "0000",
    "msg": "调用成功",
    "charge": 1,
    "data": {
        "photo_result": 1,
        "check_result": 1,
        "selfie_image_id": "f950dc6b8116459d99969bcaf9d7a437",
        "certificate_score": 9.000000000000002,
        "id_name_result": 1
    },
    "request_id": "TIDabc8426e508a5ced3a92715779bedabc"
}

失败返回示例:

{
  "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 所反馈的值
9999 服务器内部错误

results matching ""

    No results matching ""