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

服务端验证结果

此方式适用于: 合作伙伴服务端生成签名,并调用身份证识别服务端查询结果,鉴权完成后返回结果(服务端上传 order_no 和 WBappid 查询)。

合作方后台生成签名

准备步骤

前置条件:请合作方确保 SIGN ticket 已经正常获取,获取方式见 SIGN ticket 获取
合作方为身份证 OCR 识别服务生成签名,需要具有以下参数:
参数
说明
来源
WBappid
业务流程唯一标识
参考 获取 WBappid 指引在人脸核身控制台内申请
order_no
订单号,字母/数字组成的字符串,本次人脸核身合作伙伴上传的订单号,唯一标识
合作方自行分配,不要带有特殊字符
version
默认值:1.0.0
-
ticket
合作伙伴服务端缓存的 ticket,注意是 SIGN 类型
获取方式见 SIGN ticket 获取
nonceStr
32位随机字符串,字母和数字
合作方自行生成,不要带有特殊字符

基本步骤

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

身份证 OCR 识别结果查询接口

请求

请求URL:https://miniprogram-kyc.tencentcloudapi.com/api/server/getOcrResult
请求方法:GET
请求参数:
参数
说明
类型
长度(字节)
是否必填
app_id
请您 点此链接 扫描二维码添加腾讯云人脸核身小助手,进行线下对接获取
String
腾讯服务分配
order_no
订单号,字母/数字组成的字符串,合作方订单的唯一标识
String
32
get_file
是否需要获取身份证 OCR 图片文件。
值为1则返回文件;其他则不返回
String
1
nonce
随机数
String
32
version
版本号,默认值:1.0.0
String
20
sign
签名值,使用本页第一步生成的签名
String
40
get_native
是否需要映射身份证号籍贯信息,值为1则返回映射信息
String
1
请求示例:
https://miniprogram-kyc.tencentcloudapi.com/api/server/getOcrResult?app_id=xxx&nonce=xxx&order_no=xxx&version=1.0.0&sign=xxx&get_file=xxxx

响应

响应参数:
参数
类型
说明
frontCode
String
“0” 说明人像面识别成功
backCode
String
“0” 说明国徽面识别成功
orderNo
String
订单编号
name
String
frontCode为 0 返回:证件姓名
sex
String
frontCode为 0 返回:性别
nation
String
frontCode为 0 返回:民族
birth
String
frontCode为 0 返回:出生日期(例:19920320)
address
String
frontCode为 0 返回:地址
idcard
String
frontCode为 0 返回:身份证号
validDate
String
backCode为 0 返回:证件的有效期(例:20160725-20260725)
authority
String
backCode为 0 返回:发证机关
frontPhoto
Base 64
String
人像面照片,转换后为 JPG 格式
backPhoto
Base 64
String
国徽面照片,转换后为 JPG 格式
frontCrop
Base 64
String
人像面切边照片,切边图在识别原图少边或者存在遮挡的情况有小概率可能会导致切图失败,该字段会返回空;如切边图为空时建议可使用原图替代
backCrop
Base 64
String
国徽面切边照片,切边图在识别原图少边或者存在遮挡的情况有小概率可能会导致切图失败,该字段会返回空;如切边图为空时建议可使用原图替代
headPhoto
Base 64
String
身份证头像照片
frontWarnCode
String
人像面告警码,在身份证有遮挡、缺失、信息不全时会返回告警码;当 frontCode 为0时才会出现告警码,告警码的含义请参考 身份证 OCR 错误码
backWarnCode
String
国徽面告警码,在身份证有遮挡、缺失、信息不全时会返回告警码;当 backCode 为0时才会出现告警码,告警码的含义请参考 身份证 OCR 错误码
operateTime
String
做 OCR 的操作时间(例:2020-02-27 17:08:03)
frontMultiWarning
String
正面多重告警码,含义请参考 身份证 OCR 错误码
backMultiWarning
String
反面多重告警码,含义请参考 身份证 OCR 错误码
frontClarity
String
正面图片清晰度
backClarity
String
反面图片清晰度
nativePlace
String
籍贯信息
响应示例:
{
"code":"0",
"msg":"请求成功",
"bizSeqNo":"21062120001184438417355807876765",
"result":{
"bizSeqNo":"21062120001184438417355807876765",
"transactionTime":"20210621173558",
"backCode":"0",
"orderNo":"h1jw98k72ffe3de249qmf1723673v31v",
"name":"xxx",
"sex":"男",
"nation":"汉",
"birth":"19881001",
"address":"xxxxxxxxxx",
"idcard":"xxxxxxxxxxxxxxxxxx",
"validDate":"20190128-20390128",
"authority":"xxxxxx",
"operateTime":"2021-06-21 17:35:27",
"frontWarnCode":"00000000",
"backWarnCode":"00000000",
"frontMultiWarning":"00000000",
"backMultiWarning":"00000000",
"frontClarity":"64",
"backClarity":"72",
"nativePlace":"xxxxxxxxxx",
"success":false,
"frontCode":"0"
},
"transactionTime":"20210621173558"
}
注意
身份证照片信息作为存证,合作伙伴可以通过此接口拉取识别结果和文件,需要注意请求参数的 get_file 需要设置为 1;如果不上传参数或者参数为空,默认不返回照片信息。为确保用户操作整体流程顺利完成,部分情况下获取照片会有1秒左右的延迟。
照片均为 Base64 位编码,其中照片解码后格式一般为 JPG。
对于身份证 OCR 识别有部分遮挡、缺失、信息不全的情况,请参考 frontWarnCode 和 backWarnCode,详情请参见 身份证 OCR 错误码
success:false 无意义,合作伙伴可忽略,无需处理。