有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

生成签名

前置条件

说明
参与签名的数据需要和使用该签名的接口中的请求参数保持一致。
请合作方确保 SIGN ticket 已经正常获取,获取方式见 获取 SIGN ticket。合作方根据本次意愿核身的如下参数生成签名,需要签名的参数信息如下:
参数名
说明
来源
appId
业务流程唯一标识
参考 获取 WBappid 指引在意愿核身控制台内申请
userId
用户唯一标识
合作方自行分配,需跟用户绑定,32位以内,不包含特殊字符
version
参数值为:1.0.0
-
ticket
合作伙伴服务端获取的 ticket,注意是 SIGN 类型
获取方式见  获取 SIGN ticket
nonce
必须是 32 位随机数
合作方自行生成

基本步骤

1. 生成一个 32 位的随机字符串 nonce(其为字母和数字,登录时也要用到)。
2. 将 appId、userId、version 连同 ticket、nonce 共五个参数的值进行字典序排序。
3. 将排序后的所有参数字符串拼接成一个字符串。
4. 将排序后的字符串进行 SHA1 编码,编码后的 40 位字符串作为签名(sign)。
注意
签名算法可参考 签名算法说明 。

参考示例

请求参数:
参数名
参数值
appId
IDAXXXXX
userId
userID19959248596551
nonce
kHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T
version
1.0.0
ticket
XO99Qfxlti9iTVgHAjwvJdAZKN3nMuUhrsPdPlPVKlcyS50N6tlLnfuFBPIucaMS
字典排序后的参数为:
[1.0.0,IDAXXXXX,XO99Qfxlti9iTVgHAjwvJdAZKN3nMuUhrsPdPlPVKlcyS50N6tlLnfuFBPIucaMS, kHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T, userID19959248596551]
拼接后的字符串为:
1.0.0IDAXXXXXXO99Qfxlti9iTVgHAjwvJdAZKN3nMuUhrsPdPlPVKlcyS50N6tlLnfuFBPIucaMSkHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7TuserID19959248596551
计算 SHA1 得到签名:
D7606F1741DDCF90757DA924EDCF152A200AC7F0
该字串就是最终生成的签名(40 位),不区分大小写。

合作方后台上传信息

请求 URL:https://kyc.qcloud.com/api/server/getWillFaceId?orderNo=xxx
注意
为方便查询耗时,该请求url后面请拼接 orderNo 订单号参数。
请求方法:POST报文格式:Content-Type: application/json请求参数:
参数
说明
类型
长度(字节)
是否必填
appId
业务流程唯一标识,即 appid,可参考 获取 WBappid 指引在意愿核身控制台内申请
String
8
orderNo
订单号,由合作方上传,字母/数字组成的字符串,每次唯一,不能超过 32 位
String
不能超过 32 位
version
默认参数值为:1.0.0
String
20
sign
签名:使用上面生成的签名
String
40
nonce
随机数
String
32
name
姓名
String
-
使用权威源比对时:姓名+证件号,必须输入
使用自带源比对时:姓名+证件号,可不输入
idNo
证件号码
String
-
使用权威源比对时:姓名+证件号,必须输入
使用自带源比对时:姓名+证件号,可不输入
userId
用户 ID ,用户的唯一标识(不能带有特殊字符),需要跟生成签名的 userId 保持一致
String
不能超过 32 位
sourcePhotoStr
比对源照片,注意:原始图片不能超过500k,且必须为 JPG 或 PNG、BMP 格式参数有值:使用合作伙伴提供的比对源照片进行比对,必须注意是正脸可信照片,照片质量由合作方保证参数为空 :根据身份证号 + 姓名使用权威数据源比对
BASE64String
1048576
否,非必填请使用标准的图片转 base64方法,base64编码不可包含换行符,不需要加前缀
sourcePhotoType
比对源照片类型参数值为1 时是:水纹正脸照参数值为 2 时是:高清正脸照重要提示:照片上无水波纹的为高清照,请勿传错,否则影响比对准确率。如有疑问,请联系腾讯云技术支持线下确认
String
1
否,提供比对源照片需要传
liveService
应用模式意愿核身默认上传 2
String
32
liveInterType
参数值为1时,表示仅使用实时检测模式,不兼容的情况下回调错误码3005参数值为0时,表示优先使用实时检测模式,不兼容情况自动降级为视频录制模式不传或传入为空,默认为仅使用强制实时检测模式
String
32
willType
意愿核身类型产品服务类型为“2”时,需要填写参数,配置参数:0-问答模式,1-播报模式默认配置为0
String
32
willLanguage
意愿核身语言产品服务类型为“2”时,需要填写参数配置:0-中文普通话默认配置为0
String
32
willContentList
意愿核身过程中播报文本/问题、用户朗读/回答的文本,当前支持一个播报文本+回答文本
List
-
willContentList.id
从下标0开始
String
32
willContentList.question
系统播报问题文本/问题长度为120个字以内示例:“ 您好,为确保您本人操作,此次签约全程录音录像。请问您本次业务是本人自愿办理吗?请回答:我确认 ”
String
32
willContentList.answer
用户朗读/回答的文本,用于识别用户朗读/回答的语音与文本是否一致。长度为10个字以内支持多个文本作为识别内容,文本之间用"|" 分割。示例:我确认
String
32
speed
播报问题文字语速:默认为1.0倍速"-1"代表0.8倍;"0"代表1.0倍(默认);"1"代表1.2倍;"1.5"代表1.35倍;"2"代表1.5倍
string
32
willMidAnswer
liveInterType=0 时为必填项,用于意愿降级模式用户回答提示语,请保持与播报内容让用户回答的内容一致
string
32


响应

响应参数:
参数
类型
说明
code
String
0:成功,非0:失败<br>详情请参见 SaaS 服务错误码
msg
String
请求结果描述
bizSeqNo
String
请求业务流水号
orderNo
String
订单编号
faceId
String
此次唯一标识,调用时传入
optimalDomain
String
启动 H5 意愿核身步骤中调用 login 接口使用的域名
响应示例:
{
  "code": 0,
  "msg": "成功",
  "result": {
         "bizSeqNo":"业务流水号"
         "orderNo":"合作方订单号",
         "faceId":"cc1184c3995c71a731357f9812aab988"
"optimalDomain":"kyc.qcloud.com"
  }
}