# 人脸核身
### 注意事项
- 获取结果的方式分为 **请求url传回** 和 **重定向带回**
- **请求url传回** 通常适用于“业务端”与“验证端”在不同设备,例如pc端做业务,手机端扫码进入活体核身;**重定向带回** 通常适用于“业务端”与“验证端”在同一浏览器窗口。
- 请调用方根据业务情景选择获取结果的方式
### 调用流程
1. 接入方调用 `faceCheckInit` 接口初始化人脸小程序sdk
| 参数名称 |类型|传入/传出| 说明 |
| -------- |--------|-------- |-------- |
| errcode | int | 传出 |非0为异常情况 |
| errmsg | **String** |传出 | 异常情况下的错误信息|
2. 初始化成功后,调用 `applyUrlToken` 接口换取token(该接口其它参数详见[接口文档](https://docs.qq.com/doc/DWHpQRUZiUk5wSGZa))
| 参数名称 |类型| 说明 |
| -------- |--------|-------- |
| action | String |固定传空 |
| bizContent | **String** | 见下表bizContent参数,**注意将json对象转字符串** |
| bizContent参数 |是否必传| 说明 |
| -------- | -------- | -------- |
| mode |是| 视频类型
动作活体:ACTION
数字活体:LIP
静默活体:SILENT |
| idNum |条件必传| 身份证号 |
| name |条件必传| 姓名 |
| origin |条件必传| 图片文件类型
base64传输:self
来自文件服务器:fds (**带压缩效果,推荐使用,详见[fds使用文档](../file/文件服务器接口.md))**
链接:uri |
| data |条件必传| 文件内容(base64,文件服务器文件名或链接) |
| | | **idNum和name一组,origin和data一组,两组数据必传一组,不能同时传两组** |
| feedback |是| 传url链接,根据feedbackWay的值使用该链接 |
| feedbackWay |否| feedback的使用方式
redirect:**重定向带回**,人脸验证完成重定向回feedback;
空:**请求url传回**,人脸验证完成post feedback 的url带回结果|
2. 收到token后,调用方传入token信息,调用`startFaceCheck`方法采集人脸,完成核身流程,生态平台查询并存储核身结果,然后给调用方返回Id\Key\Token信息,调用方通过Id\Key\Token调用 `feedback2UrlToken` 接口换取核验结果。
### `startFaceCheck`接口
| 参数名称 |类型|传入/传出| 说明 |
| -------- |--------|-------- |-------- |
| token | String | 传入 |访问token,上一步申请的token |
| errcode | int | 传出 |非0为异常情况 |
| errmsg | **String** |传出 | 异常情况下的错误信息|
### 获取结果
* 请求url传回
* 用户录完视频得到核验结果后,浏览器将带上以下三个参数post请求 feedback的url。
| 参数名称 | 类型 | 说明 |
| -------- | -------- | -------- |
| token | String | 访问token,上一步申请的token |
| id | String | 对应的反馈信息id,回调时反馈 |
| key | String | 对应的反馈信息密钥,回调时反馈 |
* 得到三个参数后,调用方调用 `feedback2UrlToken` 接口换取核验结果(详见[接口文档](https://docs.qq.com/doc/DWHpQRUZiUk5wSGZa))
* 页面显示核验结果
* 重定向带回
* 用户录完视频得到核验结果后,浏览器将feedback拼接上token,id,key三个参数,再跳回到新的feedback。
` [feedback]?token=[######]&id=[######]&key=[######]`
* 得到三个参数后,调用方调用 `feedback2UrlToken` 接口换取核验结果(详见[接口文档](https://docs.qq.com/doc/DWHpQRUZiUk5wSGZa))