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

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、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

人脸核身验证结果

枚举值描述
90001设备不支持人脸检测
90002用户取消
90003用户取消
90004用户取消
90005用户取消
90006用户取消
90007网络错误
90008相机权限未授权
90009麦克风权限未授权
90010相机和麦克风权限都未授权
90011人脸数据采集无效
90012网络错误上传失败
90013人脸数据采集无效
90014人脸数据采集无效
90017识别过程超时
90018系统错误
90104获取人脸配置失败
90105获取确认数据失败
90106相机失败
90107用户检测超时
90109设备不支持人脸检测
90110获取协议信息失败
90199用户系统错误
10000识别成功
10001参数错误
10002人脸特征检测失败
10003身份证号不匹配
10004比对人脸信息不匹配
10005正在检测中
10006appid 没有权限
10007后台获取图片失败
10008系统失败
10010照片质量较低
10012比对验证失败
10013系统错误
10014系统失败
10015系统失败
10016存储用户图片失败
10017非法 Id
10018用户信息不存在
10020认证超时
10021重复的请求,返回上一次的结果
10026用户身份数据不在权威源比对库中
10029请求超时
10040请求数据编码不对,必须是 UTF8 编码
10041非法用户
10042请求过于频繁,稍后再重试
10045系统失败
10052请求超时

# 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. 适用范围

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