合作伙伴服务端验证结果
此方式用于:合作伙伴服务端生成签名,并调用意愿核身服务端查询结果,鉴权完成后返回结果(服务端上送 orderNo 和 appId 查询)。
合作方后台生成签名
准备步骤
参数 | 说明 | 来源 |
appId | 腾讯服务分配的 Appid | |
orderNo | 订单号,本次意愿核身合作伙伴上送的订单号,唯一标识,字母/数字组成的字符串 | 合作方自行分配 |
version | 默认值:1.0.0 | - |
api ticket | 合作伙伴服务端缓存的 ticket,注意是 SIGN 类型 | 获取方式见 SIGN ticket 获取 |
nonceStr | 32位随机字符串,字母和数字 | 合作方自行生成 |
基本步骤
1. 生成一个32位的随机字符串 nonceStr(其为字母和数字,登录时也要用到)。
2. 将 appId、orderNo、version 连同 ticket、nonceStr 共五个参数的值进行字典序排序。
3. 将排序后的所有参数字符串拼接成一个字符串。
4. 将排序后的字符串进行 SHA1 编码,编码后的40位字符串作为签名(sign)。
注意
意愿核身识别结果查询接口
请求
请求 URL:
https://kyc1.qcloud.com/api/server/getWillFaceResult?orderNo=xxxxx
请求方法:POST
报文格式:
Content-Type: application/json
请求参数:
参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
appId | 腾讯服务分配的 Appid | 字符串 | 腾讯服务分配 | 是 |
orderNo | 订单号,合作方订单的唯一标识,字母/数字组成的字符串 | 字符串 | 32 | 是 |
nonce | 随机数 | 字符串 | 32 | 是 |
version | 版本号,默认值:1.0.0 | 字符串 | 20 | 是 |
sign | 签名值,使用本页第一步生成的签名 | 字符串 | 40 | 是 |
getFile | 是否需要获取人脸识别的视频和文件,值为1则返回视频和照片、值为2则返回照片、值为3则返回视频;其他则不返回 | 字符串 | 40 | 是 |
getWillFile | 是否需要获取意愿表达的音视频文件,默认值为1 值为1-返回所有音视频文件,值为2-不返回完整的视频文件,返回其他音视频文件 | 字符串 | 40 | 是 |
响应参数:
参数 | 类型 | 说明 |
code | String | 0代表成功 |
msg | String | 返回结果描述 |
faceCode | String | 人脸核身结果 |
faceMsg | String | 人脸核身结果描述 |
willCode | String | 意愿表达结果 |
willMsg | String | 意愿表达结果描述 |
bizSeqNo | String | 业务流水号 |
transactionTime | String | 请求接口的时间 |
orderNo | String | 订单编号 |
liveRate | String | 活体检测得分 |
riskInfo | object | 后台返回的刷脸风险信息 |
similarity | String | 人脸比对得分 |
occurredTime | String | 进行刷脸的时间 |
photo | String | 人脸核身时的照片,base64 位编码 |
video | String | 人脸核身时的视频,base64 位编码 注:该视频为活体阶段的1秒短视频。 |
sdkVersion | String | 人脸核身时的 sdk 版本号 |
appId | String | 腾讯云控制台申请的 appid |
willUserAudio | String | 意愿表达用户音频 意愿表达阶段的音频文件,base64 位编码 注:该字段仅在单轮问答情况下返回,多轮问答请查看字段 willTurnsData。 |
willReadAudio | String | 意愿表达播报音频 意愿表达阶段的音频文件,base64 位编码 注:该字段仅在单轮问答情况下返回,多轮问答请查看字段 willTurnsData。 |
willScrnShotImage | String | 意愿表达阶段的屏幕画面图,base64 位编码 |
willUserVideo | String | 意愿核身完整视频:从用户播报音频到回复音频过程,base64 位编码 注:如果功能配置为 SDK 返回视频,则本字段返回为空。 |
willStandText | String | ASR 客户初始化上送的文字信息 |
willStandAnswer | String | ASR 客户初始化上送的答案文字信息 |
willUserAnswer | String | ASR 识别结果文本信息 |
willTurnsData | object | 多轮问答模式下,问答内容明细结果信息 |
willTurnsData 字段明细内容如下:
参数 | 类型 | 说明 |
willTurnsData:id | String | 问答轮次 |
willUserAudio | String | 意愿表达用户音频 意愿表达阶段的音频文件,base64 位编码 |
willReadAudio | String | 意愿表达播报音频 意愿表达阶段的音频文件,base64 位编码 |
willStandText | String | ASR 客户初始化上送的文字信息 |
willStandAnswer | String | ASR 客户初始化上送的答案文字信息 |
willUserAnswer | String | ASR 识别结果文本信息 |
{"code": "0","msg": "请求成功","bizSeqNo": "22071420001184453211072324316763","result": {"bizSeqNo": "22071420001184453211072324316763","transactionTime": "20220714110723","appId": "IDAXXXXX","orderNo": "13213545132","similarity": "94.94","liveRate": "99","occurredTime": "20220714110147","riskInfo": {"deviceInfoLevel": "1","deviceInfoTag": ""},"faceCode": "0","faceMsg": "请求成功","willCode": "0","willMsg": "请求成功","willUserAudio": "UklGRiR2AgBXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAAZGF0YQB2AgAAAAAAAAACAAgAGwA7AFEA","willReadAudio": "UklGRqRIBQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YYBIBQAAAAAAAAAAAAAAAAAAAAAAAAAA","willUserVideo": "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAOLGttZGF0AAACXQYF//9Z3EXpve","willStandText": "本人知情以下号码开户,知晓出售、出租、转让等方式提供电话卡供他人使用的法律风险。请回答:同意","willStandAnswer": "嗯|好的|是的","willUserAnswer": "是的","trtcFlag": "Y","success": false"willTurnsData": [{"id": "0","willUserAudio": "UklGRiSwBABXQVZFZm10IBAAAAABAAEAgLsAAAB3AQ","willReadAudio": "UklGRqRpAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAAC","willStandText": "请回答:是的请回答","willStandAnswer": "是的","willUserAnswer": "是的"},{"id": "1","willUserAudio": "UklGRiSRBQBXQVZFZm10IBAAAAABAAEAgLsAAAB3AQAC","willReadAudio": "UklGRoSxAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAAC","willStandText": "这是第2轮这是第2轮:请回答:是的请回答","willStandAnswer": "是的","willUserAnswer": "是的"}]}"transactionTime": "20220714110723"}
注意事项
code 非0时,有时不返回图片和视频。
照片和视频信息作为存证,合作伙伴可以通过此接口拉取视频等文件,需要注意请求参数的 get_file 需要设置为1;如果不上送参数或者参数为空,默认不返回视频和照片信息。为确保用户操作整体流程顺利完成,部分情况下获取视频和照片会有1秒左右的延迟。
由于照片和视频信息有可能超过1M,考虑传输的影响,建议合作伙伴在使用时注意,建议获取比对结果用于后续流程处理和存证使用分开调用。避免网络传输带来的影响。目前我们的查询接口是异步查询,返回的文件可能会有1/2s的延迟。
如果合作方是完成人脸核身流程后马上去拉取视频/照片,建议在查询接口加上一个查询机制:判断图片是否存在,轮询3次,每次2s。
照片和视频均为 base64位编码,其中照片解码后格式一般为 JPG 和 PNG。视频格式解码后一般为 MP4。
服务端验证结果接口返回66660011无此查询结果的可能原因:66660017 验证次数超限后被风控,风控后的订单为无效,查询结果为无此查询结果。
用户中途退出刷脸,没有完成人脸验证的流程,没有比对,查询结果为无此查询结果。
操作超时,请退出重试 无此 ID 的用户身份信息,H5faceid 5分钟有效期,失效后无法进入刷脸流程,查询结果为无此查询结果。
66660016 视频格式或文件大小不合法,无法进行比对,查询结果为无此查询结果。
上传的视频非实时录制,被时间戳校验拦截,查询结果为无此查询结果。
查询超过3天的订单返回无此查询结果。
响应参数请勿做强校验,后续可能会有扩展。
RiskInfo 对象说明
RiskInfo 是用来给合作方传递刷脸风险信息的对象。其中 RiskInfo 对象的各个字段意义如下表所示:
字段名 | 类型 | 字段含义 | 说明 |
deviceInfoLevel | String | 设备风险等级 | 设备风险级别,如果命中风险则显示 |
deviceInfoTag | String | 设备风险标签 | 设备风险等级描述 |
riskInfoLevel | String | 身份风险等级 | 如果命中身份风险则显示风险等级 |
riskInfoTag | String | 身份风险标签 | 身份风险等级描述 |