注意
如果因自身业务需要对人脸核身的影像文件进行存储或其他用途,请合作方务必自行保存订单号,通过订单号拉取人脸核身的影像文件是唯一方式。
生成签名
准备步骤
前置条件:请合作方确保 SIGN ticket 已经正常获取,获取方式见 SIGN ticket 获取 。
合作方为人脸验证服务生成签名,需要具有下表中的参数:
参与签名的数据需要和使用该签名的接口中的请求参数保持一致。
参数 | 说明 | 来源 |
appId | 业务流程唯一标识 | |
orderNo | 订单号,字母/数字组成的字符串,本次人脸验证合作伙伴上传的订单号,唯一标识 | 合作方自行分配 |
name | 姓名 | 使用自带源比对时:姓名+证件号 可不输入 |
idNo | 证件号码 | 使用自带源比对时:姓名+证件号 可不输入 |
userId | 用户唯一标识,同一个用户的 userId 请保持一致,不同用户请不要使用同一个 userId,我们会根据 userId 来做登录态校验 | 合作方自行分配 |
version | 1.0.0 | - |
ticket | 合作伙伴服务端缓存的 ticket,注意是 SIGN 类型 | 获取方式见 SIGN ticket 获取 |
基本步骤
1. 将 appId、orderNo、name、idNo、userId、version、ticket(SIGN 类型)共7个参数的值进行字典序排序。
2. 将排序后的所有参数字符串拼接成一个字符串。
3. 将排序后的字符串进行 SHA1 编码,编码后的40位字符串作为签名(sign)。
注意
参考示例
请求参数:
参数名 | 参数值 |
appId | appId001 |
orderNo | 19959248596551 |
name | testName |
idNo | 4300000000000 |
userId | 19959248596551 |
version | 1.0.0 |
ticket | duSz9ptwyW1Xn7r6gYItxz3feMdJ8Na5x7JZuoxurE7RcI5TdwCE4KT2eEeNNDoe |
字典排序后的参数为:
[1.0.0, 19959248596551, 19959248596551, 4300000000000, appId001, duSz9ptwyW1Xn7r6gYItxz3feMdJ8Na5x7JZuoxurE7RcI5TdwCE4KT2eEeNNDoe, testName]
拼接后的字符串为:
1.0.019959248596551199592485965514300000000000appId001duSz9ptwyW1Xn7r6gYItxz3feMdJ8Na5x7JZuoxurE7RcI5TdwCE4KT2eEeNNDoetestName
计算 SHA1 得到签名:
该字符串就是最终生成的签名(40位),不区分大小写。
11670F8BD6181CF71FB4656534253A0627D835CF
合作方后台上传身份信息
请求
请求 URL:https://kyc1.qcloud.com/api/server/h5/geth5faceid?orderNo=xxx
注意
为方便查询耗时,该请求 url 后面请拼接 orderNo 订单号参数。
请求方法:POST
报文格式:
Content-Type: application/json
请求参数:参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
appId | String | 8 | 是 | |
orderNo | 订单号,字母/数字组成的字符串,由合作方上传,每次唯一,不能超过32位 | String | 不能超过32位 | 是 |
name | 姓名 | String | - | 使用权威源比对时:姓名+证件号 必须输入 使用自带源比对时:姓名+证件号 可不输入 |
idNo | 证件号码 | String | - | 使用权威源比对时:姓名+证件号 必须输入 使用自带源比对时:姓名+证件号 可不输入 |
userId | 用户 ID ,用户的唯一标识(不能带有特殊字符),需要跟生成签名的 userId 保持一致。同一个用户的 userId 请保持一致,不同用户请不要使用同一个userId,我们会根据 userId 来做登录态校验 | String | 不能超过32位 | 是 |
sourcePhotoStr | 比对源照片 1. 原始图片不能超过500k,且必须为 JPG 或 PNG、BMP 格式。 2. 参数有值:使用合作伙伴提供的比对源照片进行比对,照片是正脸可信照片,照片质量由合作方保证。 3. 参数为空:根据身份证号+姓名使用权威数据源比对 | Base64 String | 1048576 | 否 请使用标准的图片转base64方法,base64编码不可包含换行符,不需要加前缀 注意:只有您需要使用自带比对源比对时上传,使用权威比对源比对时请不要上传该字段 |
sourcePhotoType | 比对源照片类型 参数值为1:水纹正脸照 参数值为2:高清正脸照 重要提示:照片上无水波纹的为高清照,请勿传错,否则影响比对准确率。如有疑问,请联系腾讯云技术支持线下确认 | String | 1 | 否,提供比对源照片需要传 注意:只有您需要使用自带比对源比对时上传,使用权威比对源比对时请不要上传该字段 |
version | 默认参数值为:1.0.0 | String | 20 | 是 |
sign | 签名:使用上面生成的签名 | String | 40 | 是 |
水纹照示例
响应
响应参数:
参数 | 类型 | 说明 |
code | String | 0:成功 非0:失败 |
msg | String | 请求结果描述 |
bizSeqNo | String | 请求业务流水号 |
orderNo | String | 订单编号 |
h5faceId | String | 此次刷脸用户标识 |
transactionTime | String | 接口请求的时间 |
optimalDomain | String | 启动 H5 人脸核身步骤中调用 login 接口使用的域名 |
响应示例:
{"code": "0","msg": "请求成功","bizSeqNo": "21062120001184438418322908010297","result": {"bizSeqNo": "21062120001184438418322908010297","transactionTime": "20210621183229","orderNo": "1617091885609174325769165850","h5faceId": "wb0375fa5243984381ea7b7013f13795","optimalDomain": "kyc1.qcloud.com","success": false},"transactionTime": "20210621183229"}
说明
success:false 无意义,合作伙伴可忽略,无需处理。
h5faceId 有效期为5分钟,每次进行人脸核身都需要重新获取。