# 获取人脸核身视频

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

接口英文名:getFaceIdentifyVideo

调用方后台根据人脸核身会话唯一标识 verifyId 字段调用 getImage接口拉取本次核身图片。

# 1. 调用方式

# HTTPS 调用

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

# 云调用

  • 本接口不支持云调用。

# 第三方调用

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

# 2. 请求参数

# 查询参数 Query String Parameters

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

# 请求体 Request Payload

参数名类型必填说明
verify_idstringjsapi 返回的人脸核身会话唯一标识
out_seq_nostring业务方系统外部流水号,必须和 getVerifyId 接口传入的一致。
cert_hashstring根据 getVerifyId 中传入的证件信息生成的
openidstringjsapi 返回的人脸核身会话唯一标识

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
-buffer成功会直接返回视频文件
errcodenumber错误码
errmsgstring错误描述

# 4. 注意事项

  • 微信后台校验 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
    • 按顺序拼接各个字段:cert_type=xxx&cert_name=xxx&cert_no=xxx,即“cert_type=SURFTlRJVFlfQ0FSRA==&cert_name=5byg5LiJ&cert_no=MzEwMTAxMTk5ODAxMDExMjM0”
    • 对拼接串进行 SHA256 并输出十六进小写结果得到 cert_hash,即3c241f7ff324977aeb91f173bb2a7b06569e6fd784d5573db34a636d8671108b

# 5. 代码示例

# 5.1 正确返回

请求示例

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

返回示例

Date: Mon, 06 Feb 2017 07:47:48 GMT
Content-Type: video/jpeg
Content-Length: 129142
Cache-Control: no-cache, must-revalidate
Connection: close
Content-disposition: attachment; filename="${verify_id}.mp4"
[Binary Data Stream / 视频文件流]

# 5.2 错误返回

请求示例

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

返回示例

Date: Mon, 06 Feb 2017 08:05:56 GMT
Content-Type: application/json; encoding=utf-8
Content-Length: 71
Connection: close
{
  "errcode" : 84001,
  "errmsg" : "invalid identify id hint: [sLqipa0356ss_1]"
}

# 6. 错误码

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

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

# 7. 适用范围

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