一、接口文档
(一)接口描述
名称: wx.startFacialRecognitionVerify(OBJECT)
功能:请求进行基于生物识别的人脸核身
验证方式:在线验证
兼容版本:
读数字:android 微信6.5.4及以上版本, iOS 微信6.5.6及以上版本
屏幕闪烁:android 微信6.7.2及以上版本, iOS 微信6.7.2及以上版本
开放状态:未开放
开放范围:白名单
(二)参数说明
1、OBJECT参数说明:
表1:checkAliveType的值和对应的解释:
2、CALLBACK返回参数
注 1:传递用户姓名和身份证有两种方式
- 业务方没有用户实名信息,用户需要在前端填写身份证和姓名,那么前端直接通过jsapi 调用传递 name 和 idCardNumber。
- 业务方已经有用户实名信息,后台通过微信提供的 api(详情见文档后面“上传姓名身份证后台 api”)上传用户身份证姓名和身份证,api 返回 user_id_key 作为凭证传给前端,前端再调用 jsapi,用户姓名、身份证信息不需要经过前端,参数只需要传递 userIdKey。Tips:使用该功能需要小程序基础库版本号>=1.9.3。
3、回调结果说明
回调结果请参考以下释义:
4、示例代码
(三)上传用户姓名身份证的后台api
1、API说明
1.1说明
业务方上传用户姓名和身份证,获取用户凭证,把凭证给到前端通过 jsapi 调用。
Tips :使用该功能需要小程序基础库版本号>=1.9.3。
1.2请求URL
https://api.weixin.qq.com/cityservice/face/identify/getuseridkey?access_token={ac cess_token}
1.3请求方式
POST
2、请求数据格式
Json
{
"name" : “张三”,
"id_card_number" : "452122xxxxxxx43215"
}
请求示例
#!/bin/bash TOKEN='xxxxxxxxxxxx'
URL='https://api.weixin.qq.com/cityservice/face/identify/getuseridkey' JSON='{ "name": "张三", "id_card_number": "452344xxxxxxxxxxxxx234"}' curl "${URL}?access_token=${TOKEN}" -d "${JSON}"
参数说明
3、返回数据
{
"errcode" : 0, "errmsg" : "ok",
"user_id_key" : "id_key_xxxx", "expires_in": 3600
}
二、再次获取核验结果api
此接口是前端完成人脸核身后,基于前端返回的凭据,通过后台api再次进行核验结果的校验、确认之用。有助于提高安全性,请接入。
(一)API说明
1、说明
人脸核身之后,开发者可以根据jsapi返回的verify_result向后台拉取当次认证的结果信息。
2、请求URL
https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token={access_token}
3、请求方式
POST
4、请求格式
json
(二)请求数据说明
1、请求
2、数据返回 HTTP 头如下
Date: Mon, 06 Feb 2017 08:12:58 GMT
Content-Type: application/json; encoding=utf-8
Content-Length: 85
Connection: close
json示例
{
"errcode" : 0,
"errmsg" : "ok", "identify_ret" : 0,
"identify_time" : 1486350357
"validate_data": "8593"
(三)返回参数说明
1、返回参数
注:errcode和identify_ret同时为0,代表本次认证成功。
2、错误码对应信息
在人脸识别失败之后,点击关闭,startFacialRecognitionVerify没有回调,这个问题是什么原因,怎么解决?