# 查询用户人脸核身真实验证结果

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:queryVerifyInfo

业务方后台根据人脸核身会话唯一标识 verifyId 字段调用 queryVerifyInfo 接口查询用户人脸核身真实验证结果。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/cityservice/face/identify/queryverifyinfo?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用。

# 第三方调用

  • 本接口不支持第三方平台调用。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_token

# 请求体 Request Payload

参数名类型必填说明
verify_idstringgetVerifyId 接口返回的人脸核身会话唯一标识
out_seq_nostring业务方系统内部流水号
cert_hashstring根据证件信息生成
openidstring用户身份标识

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明枚举
errcodenumber错误码-
errmsgstring错误信息-
verify_retnumber人脸核身验证结果枚举值

# 4. 枚举信息

# Res.verify_ret Enum

人脸核身验证结果

枚举值描述
90000人脸错误码起始值
90001设备不支持人脸检测
90002用户在教程页取消
90003用户在初始化时取消
90004用户在识别过程中取消
90005用户在上传时取消
90006用户在释放时取消
90007网络错误
90008相机权限未授权
90009麦克风权限未授权
90010相机和麦克风权限都未授权
90011人脸数据采集无效
90012人脸数据上传失败
90013SDK初始化库失败
90014上传ID未初始化
90015获取人脸配置失败
90016预览错误
90017识别过程超时
90018系统错误
90019CDN上传添加队列失败
90020CDN上传失败
90021CDN启动错误
90022获取前置页信息失败
90023人脸追踪失败
90024用户在确认页退出
90025用户在中间页取消
90030被VoIP通话打断
90031出框次数过多
90033相机或麦克风被占用
90034验证结果保存文件失败
90035相机打开失败
90036获取活体配置失败
90037动作获取识别方式失败
90038相机开启预览失败
90050未知错误
90099错误码最小值
90100用户取消
90101权限未授权
90102库加载失败
90103CDN失败
90104获取人脸配置失败
90105获取确认数据失败
90106相机失败
90107用户检测超时
90108用户检测追踪失败
90109设备不支持人脸检测
90110获取协议信息失败
90114用户点击其他验证方式(前置页)
90199用户系统错误
10000识别成功
10001参数错误
10002人脸特征检测失败
10003身份证号不匹配
10004公安比对人脸信息不匹配
10005正在检测中
10006appid 没有权限(后台验证部分)
10007后台获取图片失败
10008公安系统失败
10009公安未查到身份证照片比对源
10010照片质量不满足公安比对要求
10011身份证信息未开通公安比对权限
10012征信验证失败
10013征信系统错误
10014公安系统失败,征信系统成功
10015公安服务暂时不可用
10016存储用户图片失败
10017非法 identify_
10018用户信息不存在
10020认证超时
10021重复的请求,返回上一次的结果
10022用户信息错误,请检测 json 格式
10026用户身份证数据不在公安比对数据库中
10027语音识别失败
10028唇动检测失败
10029微警超时
10030绑定身份证失败
10031没有申请征信商户号或公众号/小程序没有设置昵称
10032用户身份证数据不再征信数据库中
10040请求数据编码不对,必须是 UTF8 编码
10041非法 user
10042请求过于频繁,稍后再重试
10045系统失败
10052请求数超时征信的限制
10057检测过程中人脸主体不一致
10066人脸流水号 bioid 重复
10069活体检测暂时不可用

# 5. 注意事项

微信后台校验 cert_infoopenid,不一致则返回对应的 errcode 而不是 verify_ret,防止身份信息被篡改。

核身通过的判断条件:errcode = 0verify_ret= 10000

cert_hashcert_info 生成,假设原始

cert_info: {"cert_type":"IDENTITY_CARD","cert_name":"张三","cert_no":"310101199801011234"},其计算规则如下:

cert_info 中的 cert_typecert_namecert_no 字段内容进行标准 base64(若存在中文等 Unicode 字符,需先进行 UTF-8 编码)。

按顺序拼接各个字段:cert_type=xxx&cert_name=xxx&cert_no=xxx,即“cert_type=SURFTlRJVFlfQ0FSRA==&cert_name=5byg5LiJ&cert_no=MzEwMTAxMTk5ODAxMDExMjM0”

对拼接串进行 SHA256 并输出十六进小写结果得到 cert_hash,即3c241f7ff324977aeb91f173bb2a7b06569e6fd784d5573db34a636d8671108b

# 6. 代码示例

请求示例

{
    "verify_id": "",
    "out_seq_no": "",
    "cert_hash": "",
    "openid": ""
}

返回示例

{
    "errcode": 0,
    "errmsg": "",
    "verify_ret": 0
}

# 7. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
84010缺少 out_seq_no 参数
84016缺少 openid 参数
84017openid 不匹配必须和 getVerifyId 接口传入的一致
84018cert_hash 无效或不匹配必须与getVerifyId 接口传入的 cert_info 一致
84019out_seq_no 已存在更换新的 out_seq_no
84020out_seq_no不匹配必须和 getVerifyId 接口传入的一致
84021缺少 verify_id 参数
84022verify_id 已过期verify_id 有效期为 1 小时

# 8. 适用范围

本接口暂未明确可调用账号类型,或在业务中根据调用传参自行确定是否可调用,请已实际调用情况为准。