# 静态活体认证
静态活体认证,传入多张人脸照片,返回照片的相关信息。不建议传入url,下载图片可能导致连接超时
# 一、请求说明
请求地址:http://api.spiderid.cn/api/router/rest,https://api.spiderid.cn/api/router/rest
服务接口名称(即公共参数method的值): realid.liveness.staticImages
请求方式:POST
# 二、请求参数(请求方式为post)
- 请求参数以表单形式提交,Content-Type值为: application/x-www-form-urlencoded;charset=utf-8
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
livingImgs | List | 是 | 以fs: 开头 文件云文件; 以base64: 开头,人脸照片base64位字符串,不能有/n. 最少上传两张图片,最多上传8张图片,请确保图片尺寸在1920x1080以下,大小1M以内. |
请求示例:
http或https://api.spiderid.cn/api/router/rest?
<[公共请求参数]>
livingImgs=XXX
# 三、响应参数
data 结果信息 | 类型 | 描述 |
---|---|---|
message | String | 结果说明 |
incorrect | Integer | 返回码 |
livenessInfos | List | 图片信息 |
livenessInfos 结果信息 | 类型 | 描述 |
---|---|---|
personProbably | Double | 人脸可能性 0~1,大于0.9可以判断为人 |
liveFraction | Double | 活体分数 0~1,大于0.9可以判断为活体照片 |
xAxis | Double | 人脸区域离左边界的距离,X轴 |
yAxis | Double | 人脸区域离上边界的距离,Y轴 |
rotate | Integer | 人脸框相对于竖直方向的顺时针旋转角,[-180,180] |
width | Integer | 人脸区域的宽度 |
height | Integer | 人脸区域的高度 |
# 四、成功示例
JSON示例
{
"code": 0,
"requestId": "dsd24...",
"data": {
"message":"查询成功",
"incorrect": 100,
"livenessInfos":[{
"rotate": -1,
"yAxis": 455.8980713,
"xAxis": 112.20047,
"width": 442,
"personProbably": 1.0,
"liveFraction": 0.9999968167,
"height": 433
},
{
"rotate": 1,
"yAxis": 158.4286194,
"xAxis": 149.4186707,
"width": 231,
"personProbably": 1.0,
"liveFraction": 0.0004880441948,
"height": 216
}]
}
}
# 五、失败示例
JSON示例
{
"code": 0,
"requestId": "dsd24...",
"message": "success",
"data": {
"message": '图片质量有问题' ,
"incorrect": 111
}
}
# 六、返回码说明(incorrect)
返回码 | 描述 | 是否收费 |
---|---|---|
100 | 比对成功 | 是 |
111 | 图片质量过低 | 否 |
112 | 图片尺寸太大 | 否 |
113 | 检测失败 | 否 |
# SDK 请求示例
//提供的url
String url = "http://api.spiderid.cn/api/router/rest";
//您的appKey
String appkey ="XXX";
//您的appSecret
String secretKey ="XXX";
try {
LivenessStaticRequest req = new LivenessStaticRequest();
//以base64:开头,图片转换成base64位字符串
String img = Base64.encodeBase64String(FileUtils.readFileToByteArray(new File("C:/Users/admin/Pictures/Saved Pictures/jj.jpg")));
req.addLivingImgOfBase64(img);
String img2 = Base64.encodeBase64String(FileUtils.readFileToByteArray(new File("C:/Users/admin/Pictures/Saved Pictures/jj2.jpg")));
req.addLivingImgOfBase64(img2);
//fs:开头,需要调用我们提供的上传接口,获取bucket,和objectKey,格式为:fs:+bucket:+objectKey
//String bucket = "XXX";
//String objectKey = "XXX";
//req.addLivingImgOfFs(bucket + ":" + objectKey);
//1.默认客户端
ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
//2.调用出错自动重试客户端
//AutoRetryApiClient apiClient = new AutoRetryApiClient(url, appkey, secretKey);
LivenessStaticResponse response = apiClient.execute(req);
System.out.println(response.getBody());
//后续业务处理
} catch (Exception e) {
e.printStackTrace();
}