收藏
评论

微信人脸核身接口能力官方

一、能力背景

近年来,国家在医疗挂号、APP注册、快递收寄、客运、运营商等多领域规定,需要用户实名才可办理业务,预计后续也会有越来越多的此类法规。因此,微信参照公安部“互联网+”可信身份认证服务平台标准,依托腾讯公司及微信的生物识别技术,建立微信“实名实人信息校验能力” ,即通过人脸识别+权威源比对,校验用户实名信息和本人操作(简称微信人脸核身)。

目前接口是beta版本,限定主体及行业类目开放公测,提供给资质符合要求的业务方,在合适的业务场景内使用。目前仅支持持二代身份证的大陆居民。

由于人脸核身功能涉及到用户的敏感、隐私信息,因此调用此接口的小程序,需要满足一定的条件。即:小程序的主体以及类目,需要在限定的类目范围内,且与小程序的业务场景一致。开展的业务也需要是国家相关法规、政策规定的需要“实名办理”的相关业务(其他未在范围内的业务,则暂不支持)。

以下为接口接入及开发的详细内容。如开发中遇到任何疑问,可以点击此处通过社区反馈,将有工作人员跟进回复。

现阶段微信人脸核验能力,针对小程序,开放的主体类目范围包含:

小程序一级类目 小程序二级类目 小程序三级类目 使用人脸核验接口所需资质
快递与邮政 寄件/收件 / 《快递业务经营许可证》
教育 学历教育(学校) / (2选1):1、公立学校:由教育行政部门出具的审批设立证明 或 《事业单位法人证书》;2、私立学校:《民办学校办学许可证》及营业执照
医疗 公立医疗机构 / 《医疗机构执业许可证》与《事业单位法人证书》
医疗 互联网医院 / 仅支持公立医疗机构互联网医院(2选1):1、卫生健康部门的《设置医疗机构批准书》;2、 合作医院的《医疗机构执业许可证》与执业登记机关的审核合格文件
医疗 私立医疗机构 / 仅支持三级以上私立医疗机构,提供《医疗机构执业许可证》、《营业执照》及《医院等级证书》
政务民生 所有二级类目 / 仅支持政府/事业单位,提供《组织机构代码证》或《统一社会信用代码证》。
金融 银行 / (2选1):1、《金融许可证》; 2、《金融机构许可证》。
金融 信托 / (2选1):1、《金融许可证》; 2、《金融机构许可证》。
金融 基金 公募基金 (3选1):1、《经营证券期货业务许可证》且业务范围必须包含“基金”;2、《基金托管业务许可证》; 3、《基金销售业务资格证书》。
金融 证券/期货 / 《经营证券期货业务许可证》
金融 保险 / (8选1):1、《保险公司法人许可证》;2、《经营保险业务许可证》;3、《保险营销服务许可证》;4、《经营保险代理业务许可证》;5、《经营保险经纪业务许可证》;6、《经营保险公估业务许可证》;7、《经营保险资产管理业务许可证》 ;8、《保险兼业代理业务许可证》。
金融 消费金融 / 银监会核准开业的审批文件与《金融许可证》与《营业执照》
出行与交通 打车(网约车) 快车/出租车/专车/其他网约车 (自营性网约车)提供《网络预约出租汽车经营许可证》。(网约车平台)提供与网约车公司的合作协议以及合作网约车公司的《网络预约出租汽车经营许可证》。
出行与交通 航空 / (航司)提供《公共航空运输企业经营许可证》。(机场)提供《民用机场使用许可证》
出行与交通 地铁 / 提供地铁公司《营业执照》
出行与交通 水运 / (船企)提供《水路运输许可证》。(港口)提供《港口经营许可证》
出行与交通 城市交通卡 / 提供交通卡公司《营业执照》
出行与交通 城市共享交通 / 仅支持共享单车,提供共享单车公司《营业执照》
出行与交通 火车 / 仅支持铁路局/公司官方,提供铁路局/公司《营业执照》
出行与交通 公交 公交公司 提供公交公司《营业执照》
出行与交通 长途客运 / (2选1):1、《道路运输经营许可证》(经营范围需含客运);2、官方指定联网售票平台(授权或协议或公开可查询文件)。
出行与交通 租车 / 运营公司提供《备案证明》与对应公司《营业执照》,且营业执照中包含汽车租赁业务
出行与交通 高速服务 / 仅支持ETC发行业务,(2选1):1、事业单位主体,需提供《事业单位法人证书》;2、官方指定的发行单位(一发单位),需提供“官方授权或协议,或公开可查询的文件”;
生活服务 生活缴费 / (供电类)提供《电力业务许可证》与《营业执照》,且《营业执照》且经营范围含供电。(燃气类)提供《燃气经营许可证》与《营业执照》,且《营业执照》且经营范围含供气。(供水类)提供《卫生许可证》与《营业执照》。
IT科技 基础电信运营商 / (2选1):1、基础电信运营商:提供《基础电信业务经营许可证》;2、运营商分/子公司:提供营业执照(含相关业务范围)。
IT科技 转售移动通信 / 仅支持虚拟运营商,提供《增值电信业务许可证》(业务种类需含通过转售方式提供移动通信业务)
旅游 酒店服务 / 仅支持酒店,提供《酒店业特种行业经营许可证》
商业服务 公证 / 仅支持公证处,提供《公证处执业许可证》
社交 直播 / (2选1):1、《信息网络传播视听节目许可证》;2、《网络文化经营许可证》(经营范围含网络表演)。

如对以上类目或资质有疑问,可点击参考小程序“非个人主体开放的服务类目”,详细了解小程序开放的服务类目及对应资质。

二、准备接入

满足第一节中描述的类目和主体的小程序,可申请微信人脸核验接口。目前微信人脸核身接口已改为线上自助申请方式,需按照如下图例指引,进行接口申请:

第一步:请通过mp.weixin.qq.com登录小程序账号在后台“功能-人脸核身”的路径,点击开通按钮——

第二步:仔细查阅《人脸识别身份信息验证服务条款》后,点击“同意并下一步”——

第三步:请正确填写服务信息,并上传该小程序类目下所要求的资质——

第四步:请按照业务实际需求填写使用人脸接口的场景和用途——

第五步:请完善测试信息和联系人——

第六步:提交后请耐心等待1-2天的审核期,审核结果将以站内信通知——

如申请期间遇到问题,可联系腾讯工作邮箱 wx_city@tencent.com,将会有相关工作人员进一步指引。

三、接口文档:

(一)接口描述
名称: wx.startFacialRecognitionVerify(OBJECT)
功能:请求进行基于生物识别的人脸核身
验证方式:在线验证
兼容版本:
读数字:android 微信6.5.4及以上版本, iOS 微信6.5.6及以上版本
屏幕闪烁:android 微信6.7.2及以上版本, iOS 微信6.7.2及以上版本
开放状态:未开放
开放范围:白名单

(二)参数说明

1、OBJECT参数说明:

参数 类型 必填 说明
name String 姓名
idCardNumber String 身份证号码
success Function 调用成功回调
fail Function 调用失败回调
complete Function 调用完成回调(成功或失败都会回调)
checkAliveType Number 人脸核验的交互方式,默认读数字(见表1)

表1:checkAliveType的值和对应的解释:

参数 解释
2 先检查是否可以屏幕闪烁,不可以则自动为读数字

2、CALLBACK返回参数

参数 类型 说明
errMsg String 错误信息
errCode Number 错误码
verifyResult String 本次认证结果凭据,第三方可以选择根据这个凭据获取相关信息

注 1:传递用户姓名和身份证有两种方式

  1. 业务方没有用户实名信息,用户需要在前端填写身份证和姓名,那么前端直接通过jsapi 调用传递 name 和 idCardNumber。
  2. 业务方已经有用户实名信息,后台通过微信提供的 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}"

参数说明

json 字段 中文显示
name 姓名
id card number 身份证号码

3、返回数据

参数 类 型 说明
errcode int 错 误码
errmsg string 错 误 信息
user_id_key string 用于后台交户表示用户姓名、身份证的凭证
expires_in uint32 user_id_key 有效期,过期需重新获取
{
"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、请求

参数 类型 是否必填 描述
verify_result String jsapi返回的加密key(凭据)

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 int 错误码, 0表示成功
errmsg string 错误信息
identify_ret int 认证结果
identify_time uint32 认证时间
validate_data string 用户读的数字(如是读数字)
openid string 用户openid
user_id_key string 用于后台交户表示用户姓名、身份证的凭证
finish_time uint32 认证结束时间
id_card_number_md5 string 身份证号的md5(最后一位X为大写)
name_utf8_md5 string 姓名MD5

2、错误码对应信息

errcode 备注
84001 非法identity_id
84002 用户信息过期
84003 用户信息不存在

五、小程序辅助接口:检查设备是否支持人脸检测

1、接口名称

接 口 :wx.checkIsSupportFacialRecognition(OBJECT)
功能:检查设备是否支持人脸检测
2、接口说明和使用

小程序调用该接口,可以检测当前手机设备是否具备支持人脸检测的能力,可与以上接口分开使用,为了用户体验,建议调用后对手机设备不支持的用户做对应功能处理。

3、接口说明和使用

01 OBJECT 参数说明:

参数 类型 是否必填 描述
success Function 调用成功回调
fail Function 调用失败回调
complete Function 调用完成回调(成功或失败都会回调)
checkAliveType Number 人脸核验的交互方式,默认读数字(见表 2)

表 2:checkAliveType 的值和对应的解释:

参数 解释
2 先检查是否可以屏幕闪烁,不可以则自动为读数字

02 CALLBACK 返回参数

参数 类型 说明
errMsg Boolean 错误信息
errCode Number 错误码

03 回调结果说明

回调类型 ErrCode 说明
sucess 0 支持人脸采集
fail 10001 不支持人脸采集:设备没有前置摄像头
fail 10002 不支持人脸采集:没有下载到必要模型
fail 10003 不支持人脸采集:后台控制不支持

04 示例代码

六、安全性说明

为保障业务可用性以及安全性,请详细研读微信人脸核身接口相关基础说明及安全说明文档:https://docs.qq.com/doc/DYnRKbEhoRmN0S3dZ

备注:如开发中遇到任何疑问,可以点击此处通过社区反馈,将有工作人员跟进回复。

七、案例展示及补充说明

安徽医科大学第二附属医院,微信人脸核验登录:

安徽医科大学第二附属医院,是三级甲等综合医院。其小程序为用户提供挂号、门诊费用、住院费用、检查报告、体检等医疗服务,同时也提供停车、餐饮等便民服务,是医疗小程序中完整的案例。

小程序使用了微信人脸核验能力作为登录的核验。满足医院管理要求,也满足国家对于实名就医的管理规则。

案例实现的截图效果如下:

针对近期少数小程序方面反馈的两类问题,也在本课程进行补充说明。

1、本接口的开放范围,即:可支持的主体类目,是否可以扩大?

说明:基于本接口整体使用范围的评估、相关法规的参考、监管策略的理解执行等,暂时未立刻进行扩大开放范围的工作。
但我们会持续基于不同行业的法规、政策及监管要求等,逐一进行研究考量,以便确认如何扩大开放范围。

2、小程序如果涉及用户本人的生物特征采集,(如本人人脸照片、人脸视频),或涉及采集用户本人生物特征信息并开展人脸核验功能,则存在被驳回的情况?

说明:近两年“人脸识别”技术在社会上掀起了热潮。人脸识别虽然作为摆脱“中间媒介”或“承载载体”的一种直接技术手段,解决了部分政务、交通、医疗、零售等证明“操作者是本人”的问题,但也因此,引入了新的更大的安全风险。

一是,虚假安全风险。
身份认证领域的安全三因素包括“我知道什么”、“我拥有什么”、“我的特征是什么”,通用的安全做法,是要双因素认证(2FA),人脸识别技术如仅凭“我的特征是什么”这一个因素,则容易被攻破或利用。表象给用户以安全的感觉,但实际并不能达到安全效果。

二是,信息泄漏的风险。
越来越多的组织或个人,在并非必需用户敏感信息、生物特征的情况下,采集并存储此类信息。在信息加密、传输、存储过程中,容易暴漏更多的网络节点,使得此类信息有更大的风险被网络黑客拦截、窃听、窃取,或直接被脱库。

三是,消除风险的难度大。
以往基于“中间媒介”或“承载载体”的方式,如出现丢失、被冒用、恶意盗用等风险,可以通过挂失、更换、使用新载体或新媒介等方式,快速排除一定的风险。C端主动,B端主动,都能解决一部分问题。但人脸识别做为更直接的方式,一旦出现冒用、盗用,受害者将面临更大的财产及人生安全风险,且C端用户更多时候无法主动消除风险。

基于以上问题风险,加之国家出台《网络安全法》、《用户隐私保护条例》等法律法规标准,网信办、公安部、工信部及市场监管总局等四部委发起的app获取隐私整治,结合平台安全、用户敏感隐私信息保护要求及监管,针对部分暂无相关法规或要求,需要采集或生物认证方式进行身份核验的,或以“追热点”或“尝鲜”为目的,采集用户生物特征或进行身份核验的,进行严格审核,必要时不予以支持。

最后一次编辑于  星期五 16:47
赞 10
收藏

176 个评论

  • cyz~
    cyz~
    2019-11-19

    你好,我们是企业类的小程序,针对自己公司员工使用的,人脸识别不能使用自己的技术么?一定要接入你们官方的这种?

    2019-11-19
    赞同 42
    回复 29
    • 天地
      天地
      2019-12-05
      同问
      2019-12-05
      7
      回复
    • 黄家少公子
      黄家少公子
      2019-12-09
      很迷,明明用的是自己的技术,甚至都没有用到身份核验功能,都在后台处理了
      2019-12-09
      7
      回复
    • xianbao
      xianbao
      2019-12-20回复黄家少公子
      同问
      2019-12-20
      5
      回复
    • Carol
      Carol
      2019-12-25
      同问,微信官方出来给个说法
      2019-12-25
      5
      回复
    • 疯疯
      疯疯
      2019-12-30
      同问
      2019-12-30
      2
      回复
    查看更多(24)
  • 小8
    小8
    2020-04-20

    明明没用使用人脸识别,为什么审核说用了人脸识别?就修改一个方案,然后一直提审都说人脸识别不让通过,你们家的人脸识别那高么级,非要逼着使用,这是不是霸王条款?

    2020-04-20
    赞同 38
    回复 2
    • 鸡米或者是哈里
      鸡米或者是哈里
      2020-11-25
      我们也是,就有一个功能涉及上传个人资料,还是后台人工审核的,直接打回来非要我们用人脸识别。
      2020-11-25
      回复
    • Akey
      Akey
      01-15
      设置一个Type,把人脸识别的入口隐藏,过审后修改后台数据库,再把入口显示出来,这样就好过审了。
      01-15
      5
      回复
  • Was
    Was
    2019-12-26
    脑残规定,还开放式生态。用户自己愿意上传,管得着吗?传一张照片做头像,也驳回?
    2019-12-26
    赞同 36
    回复
  • 登登
    登登
    2020-02-15
    我们有自己的人脸识别,接入的比对库比你们腾讯的权威,为什么审核不能通过?还要叫我们用腾信的?难道你们比国家还权威?
    2020-02-15
    赞同 27
    回复 15
    查看更多(10)
  • 上善若水
    上善若水
    2019-07-29
    verifyResultString本次认证结果凭据,第三方可以选择根据这个凭据获取相关信息

    1.这里面具体是什么信息呢? 有生成的base64图片吗?

    2.人脸识别的调用次数有限制吗?


    2019-07-29
    赞同 25
    回复 5
    • Karson
      Karson
      2020-07-21
      同问,怎么获取认证成功后的图片?
      2020-07-21
      1
      回复
    • 乐天⁸⁸⁰⁰⁶⁶⁷🐳
      乐天⁸⁸⁰⁰⁶⁶⁷🐳
      2020-10-27回复Karson
      一般开始人脸核身的金融行业,监管会要求上传采集到的照片,如果返回结果里没有,还得自己开发采集功能,如果腾讯这边通过后能返回,那就可以直接上传给监管系统,倒是挺方便。实际上有木有?谁调用过回答一下?
      2020-10-27
      回复
    • 光辉岁月
      光辉岁月
      2020-12-14
      你好,解决了吗,能获取照片不
      2020-12-14
      1
      回复
    • *无爱一身轻*
      *无爱一身轻*
      04-13
      你好,解决了吗?就剩下这个功能了
      04-13
      1
      回复
    • 上善若水
      上善若水
      04-16
      没解决,最后又自己做了个拍照页面,人脸识别后提示客户拍照上传
      04-16
      1
      回复
  • 陈志明
    陈志明
    2019-10-13

    这个认证是需要收费的不?

    2019-10-13
    赞同 18
    回复
  • 微微徐风
    微微徐风
    2020-01-15

    我们是政府授权开发的小程序,不能使用自己开发的人脸识别接口吗?希望微信官方给个详细说法。

    2020-01-15
    赞同 15
    回复 5
  • 寻路人
    寻路人
    2019-11-04
    政务民生类目,只能政府自己用企业统一信用或者机构代码证吗? 政府授权企业的方式能不能用人脸采集?
    2019-11-04
    赞同 12
    回复 8
    • Bi.ss
      Bi.ss
      2019-12-30
      同问~
      2019-12-30
      2
      回复
    • 王旭
      王旭
      2020-01-01
      同问
      2020-01-01
      回复
    • leo
      leo
      2020-02-27
      同问
      2020-02-27
      2
      回复
    • 街角的小巷
      街角的小巷
      2020-03-02
      腾讯回复只能政府主体,,什么时候可以给授权企业用啊
      2020-03-02
      1
      回复
    • [微信红包]恭喜发财,大吉大利!
      [微信红包]恭喜发财,大吉大利!
      2020-08-28
      同问
      2020-08-28
      1
      回复
    查看更多(3)
  • owencheung
    owencheung
    2020-02-01

    实名认证应该在国家层面做一个统一实名认证平台接口,腾讯做我都觉得不应该. 这样会有很大的安全风险和泄露个人隐私风险。实名认证全国只需要一个,可以对所有应用开放,但应严禁任何机构采集实名信息,直接调用统一认证接口,返回token做为认证凭据就可以了。否则将会有极大的风险。

    2020-02-01
    赞同 9
    回复 1
    • 🐮🐮🐮
      🐮🐮🐮
      2020-08-20
      CTID了解一下,全国统一身份认证
      2020-08-20
      2
      回复
  • 小薪
👪
    小薪 👪
    2019-12-23

    这个接口微信公众号能使用吗?h5的,政务系统

    2019-12-23
    赞同 9
    回复 16
    • 嫣儿
      嫣儿
      2020-04-28
      公众号h5可以接入,就是人脸识别的jsapi
      2020-04-28
      2
      回复
    • 小薪
👪
      小薪 👪
      2020-04-28回复嫣儿
      申请成功的时候回复了文档,已经上线一段时间了
      2020-04-28
      回复
    • 幻想
      幻想
      2020-05-07回复嫣儿
      麻烦问一下H5的人脸识别JSAPI在哪?
      2020-05-07
      2
      回复
    • william
      william
      2020-06-04回复嫣儿
      麻烦问一下H5的人脸识别JSAPI在哪?能发一下文档链接吗?
      2020-06-04
      回复
    • 嫣儿
      嫣儿
      2020-06-05回复william
      可发邮件到wx_city@tencent.com,获取公众号人脸接口开发文档
      2020-06-05
      回复
    查看更多(11)

正在加载...

登录 后发表内容

【专题课程】小程序行业能力(医疗)

课程标签