如果您的业务场景无法通过SDK方式集成活体检测,推荐您选择人脸静默活体(LivenessFaceVerify)API。通过调用LivenessFaceVerify接口,您可以对用户自拍图片或线下设备采集的用户人脸图片进行活体检测,适用于SDK无法覆盖的场景。本文介绍了调用LivenessFaceVerify接口对人脸图片进行活体检测的纯服务端接入流程。

人脸静默活体检测API

接口名:LivenessFaceVerify

服务地址:cloudauth.aliyuncs.com(IPv4)或cloudauth-dualstack.aliyuncs.com(IPv6)

请求方法:POST和GET。

传输协议:HTTPS。

接口说明:调用LivenessFaceVerify接口对人脸图片进行活体检测。

请求参数

名称类型是否必选描述示例值
SceneIdLong认证场景ID。该ID在控制台创建认证场景后自动生成。关于如何创建认证场景,请参见添加认证场景100000****
OuterOrderNoString客户服务端自定义的业务唯一标识,用于后续定位排查问题。取值最长为32位长度的字母数字组合,请确保唯一。e0c34a77f5ac40a5aa5e6ed20c353888
ProductCodeString固定值:LR_FR_MINLR_FR_MIN
ModelString活体检测类型。取值:
  • FRONT_CAMERA_LIVENESS:移动设备前置摄像头采集的人脸图片活体检测。
  • REAR_CAMERA_LIVENESS:其他场景采集的人脸图片活体检测。
FRONT_CAMERA_LIVENESS
DeviceTokenString设备Token,用于风险识别。McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx
MobileString用户手机号码。130xxxxxxxx
IpString用户网络IP地址。114.xxx.xxx.xxx
UserIdString客户业务自定义的用户ID,请保持唯一。123456789
FaceContrastPictureString
金融级活体检测方案纯服务端接入提供以下三种传入人脸照片的方式,请您选择其中一种。
  • FaceContrastPicture
  • FaceContrastPictureUrl
  • OSS:OssBucketNameOssObjectName
照片Base64编码。如果您选择FaceContrastPicture(照片Base64编码)方式传入人脸照片,请注意检查照片大小,不要传入过大的照片。
说明 如果您需要上传较大的人脸照片,请选择OSS方式。
/9j/4AAQSkZJRgABAQAASxxxxxxx
FaceContrastPictureUrlString人像地址,公网可访问的HTTP、HTTPS链接。https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg
OssBucketNameString已授权OSS空间的文件名。如果您选择OSS方式传入人脸照片,您必须传入OssBucketNameOssObjectName参数。OSS请求参数格式仅支持开通实人认证服务时授权的OSS生成的URL、Bucket和文件名。cn-shanghai-aliyun-cloudauth-xxxxx
OssObjectNameString已授权OSS空间的文件名。如果您选择OSS方式传入人脸照片,您必须传入OssBucketNameOssObjectName参数。OSS请求参数格式仅支持开通实人认证服务时授权的OSS生成的URL、Bucket和文件名。verify/xxxxx/xxxxxx.jpeg
CropString是否允许裁剪人脸图片,默认不允许。
  • T:表示允许剪裁。
  • F:表示不允许剪裁。
说明 若您请求的图片并非来自标准活体检测SDK采集,建议您允许裁剪人脸图片。

开启该功能后,将会对请求的图片先进行人脸裁剪与矫正,完成后会发起请求服务。

T

返回数据

名称类型描述示例值
RequestIdString请求ID。130A2C10-B9EE-4D84-88E3-5384FF039795
MessageString返回信息的响应消息。success
CodeString返回码。取值:

详细认证结果判断请参考ResultObject.SubCode的结果。

200
ResultObject.PassedString认证结果。取值:
  • T:认证通过。
  • F:认证未通过。
T
ResultObject.CertifyIdString08573be80f944d95ac812e019e3655a实人认证请求的唯一标识。
ResultObject.SubCodeString认证结果描述。具体请参见ResultObject.SubCode错误码说明200
ResultObject.MaterialInfoString认证主体附件信息,主要为图片类材料,JSON格式,具体请参见ResultObject.MaterialInfo的JSON格式示例{"faceAttack":"F","faceOcclusion":"F","facialPictureFront":{"faceAttackScore":0.00008597839769208804,"qualityScore":88.3615493774414}}
ResultObject.MaterialInfo的JSON格式示例
{
    // 是否为攻击。T表示是,F表示否。
    "faceAttack": "F",
    // 是否有脸部遮挡。T表示是,F表示否。
    "faceOcclusion": "F",
    "facialPictureFront": {
         // 人脸攻击分。
         "faceAttackScore": 0.00008597839769208804,
         // 活体人脸质量分数。
        "qualityScore": 88.3615493774414
    }
}
返回Code和Message说明
CodeMessage描述
200success成功。
400参数不能为空参数不能为空。
401参数非法非法参数。传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母等特殊字符。
404认证场景配置不存在认证场景配置不存在,请先在控制台上创建认证场景。
410未开通服务未开通OSS产品或未完成OSS读写授权,请登录控制台完成授权。具体操作,请参见授权金融级实人认证访问OSS存储空间
411RAM无权限需要为子账号授予AliyunAntCloudAuthFullAccess的操作权限。
412欠费中金融级实人认证或OSS存在欠费,请充值后操作。
419传入图片不可用图片无法下载、图片内容为空、图片分辨率不符合要求或提取不到人脸特征,建议更换图片。
420数据重复图片传入方式超过了一种。支持以下三种传入人脸图片的方式,只能使用其中一种:
  • FaceContrastPicture
  • FaceContrastPictureUrl
  • OSS:OssBucketNameOssObjectName
421传入图片过大图片超过了1 MB,建议压缩图片或更换图片上传方式。
422下载图片超时图片下载超过了3秒,请排查网络后重新操作。
500系统错误系统内部错误,请反馈工程师排查。

ResultObject.SubCode错误码说明

错误码认证描述文案是否计费可能原因和运营建议
200认证通过无。
205活体检测存在风险可能存在攻击风险,建议人工审核分层处理。如果是真人,可重新操作。