文档目录
{{firstLevelDirectoryName}}
{{secondLevelDirectoryName}}
{{thirdLevelDirectoryName}}
1.1 背景简介
二代身份证作为法定电子证件,在设计之初已具有在网上应用的功能,但受当时环境及条件所限,相应功能没有开通。随着互联网的发展和技术的进步,二代身份证网上应用已经具备可行性。“互联网+”可信身份认证平台是二代身份证作为基于二代身份证实现网上身份认证的功能,提供实名两项、实人两项和实人四项身份认证接口,在公安、电子政务、互联网金融、电子商务等行业经过了充分验证。在个人身份隐私信息保护、网络身份认证等方面应用效果良好,得到社会的广泛认同,从源头上解决网上身份认证隐私保护和数据安全问题。
1.2 适用范围
本文档适用于第三方客户接入熵基科技可信身份认证平台API接口的开发者。
1.3 相关术语
术语 |
说明 |
appKey |
应用唯一标识 |
appSecret |
应用对应的凭证密匙 |
简项信息 |
调用CTID“互联网+”可信身份认证接口,核验姓名+身份证号码,返回认证结果 |
复合信息 |
在简项信息基础上增加二代身份证件有效期限信息。 |
人像+简项信息 |
调用CTID“互联网+”可信身份认证接口,核验姓名+身份证号码+人像,返回认证结果 |
人像+复合信息 |
调用CTID“互联网+”可信身份认证接口,核验姓名+身份证号码+身份证有效期+人像,返回认证结果 |
网证 |
调用CTID“互联网+”可信身份认证接口,通过网证副本,返回认证结果 |
人像+网证 |
调用CTID“互联网+”可信身份认证接口,通过人像+网证,返回认证结果 |
人像+网证+复合信息 |
调用CTID“互联网+”可信身份认证接口,通过人像+网证+姓名+身份证号码+身份证有效期,返回认证结果 |
实体证件+人像+网证 |
调用CTID“互联网+”可信身份认证接口,通过实体证件+人像+网证,返回认证结果 |
网证下载 |
调用CTID"互联网+“可信身份认证接口,通过ID验证数据、网证下载模式说明的参数下载网证副本 |
二维码赋码 |
调用CTID"互联网+“可信身份认证接口,通过请求核验数据赋码返回二维码码图流 |
二维码验码 |
调用CTID"互联网+“可信身份认证接口,通过ID验证数据和网证验码模式说明的参数返回核验结果 |
1.4 调用规范
- 业务系统调用CTID“互联网+”可信身份认证接口时,不允许对单个公民的信息进行频繁认证(压测),否则可能会导致系统预警并暂停对其提供身份认证服务。
-
除获取token令牌接口外,调用CTID"互联网+“可信身份认证身份核验接口时请求头部需要携带token,token的有效期为60分钟,每次调用核验接口请求和返回信息头(Headers)中均带有token信息,可做为再次调用接口的令牌,如果有效期内未使用导致令牌过期,可重新调用【获取token令牌】接口重新获取,头部信息(Headers)如下:
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
- 接口调用结果返回值code编码一共8位,每一位数值符号代表不同的认证结果,详见附表A。
- 数据加密(可选):调用CTID“互联网+”可信身份认证接口时,可将身份证信息进行加密处理,把appSecret转换成二进制byte数组作为加密凭证密匙,即对payload参数(包括大括号)使用128位AES/ECB/PKCS5Padding加密为16进制,平台优先读取加密后的data参数,data为空时再读取payload参数。
Java加密示例
public static String aesEncrypt(String content, String appSecret) throws Exception {
byte[] key = parseHexStr2Byte(appSecret); //凭证转二进制byte数组
SecretKeySpec keySpec = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); //算法/模式/补码方式
cipher.init(Cipher.ENCRYPT_MODE, keySpec); //初始化
byte[] result = cipher.doFinal(content.getBytes("UTF-8"));
return byteToHexString(result); //结果转16进制
}
常规调用示例
{
"lang": "zh-CN",
"payload": { //对红色字体含大括号进行AES加密;
"params": {
"name":"陈某某",
"cardNum":"3505****************"
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..." // 对payload参数加密后的字符串;
}
2.1 获取token令牌
接口功能
业务系统调用可信身份认证时,通过appKey和appSecret获取token。
请求地址
https://api.zkbiowhois.com/apiv1/auth/login
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
appKey |
String |
是 |
应用唯一标识 |
appSecret |
String |
是 |
应用对应密匙 |
返回参数
参数 |
类型 |
说明 |
token |
String |
令牌 |
code |
String |
正常返回编码:00000000 |
请求示例
{
"lang": "zh-CN",
"payload": {
"params": {
"appKey":"c59cd49a36d711e7a9xxxxxxxxxx",
"appSecret":"FzIpz2Apuxxxxxxxxxxxxx"
}
}
}
成功返回
{
"code": "00000000",
"payload": {
"dataFmt": "1",
"results": {
"token": "eyJhbGciOiJIUzUxMiJ9..."
}
}
}
错误返回
{
"code": "EPAS0003",
"message": "appKey和appSecret不正确,请重试"
}
2.2.1 简项信息(原实名两项认证)
接口功能
调用CTID“互联网+”可信身份认证接口,核验用户的姓名+身份证号码,返回身份认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/2Info
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
name |
String |
是 |
姓名 |
cardNum |
String |
是 |
身份证号码 |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:00000XXX认证失败返回值:详见附表A |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"name":"陈**",
"cardNum":"3505****************"
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000XXX",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443126F60A0D1CC8D5"
}
}
}
2.2.2 人像+简项信息(原实人两项认证)
接口功能
调用公安可信身份认证接口,核验人像+姓名+身份证号码,返回身份认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/pic2Info
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
name |
String |
是 |
姓名 |
cardNum |
String |
是 |
身份证号码 |
picData |
String |
是 |
人像base64编码,最大不超过40KB |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:000000XX认证失败返回值:详见附表A |
rxfs |
String |
人像分数 |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"name":"陈**",
"cardNum":"3505****************",
"picData":"/9j/4AAQSkZJRgABAQEASABIAAD/4QN..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "000000XX",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443226F60A2B088D89"
}
}
}
2.2.3 人像+复合信息(原实人四项认证)
接口功能
调用CTID“互联网+”可信身份认证接口,核验人像+姓名+身份证号码+身份证有效期,返回身份认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/pic4Info
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
name |
String |
是 |
姓名 |
cardNum |
String |
是 |
身份证号码 |
picData |
String |
是 |
人像base64编码,最大不超过40KB |
startTime |
String |
是 |
身份证有效期起始时间(yyyyMMdd) |
endTime |
String |
是 |
身份证有效期截止时间(yyyyMMdd);身份证有效期止为长期需转换00000000 |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:000000XX认证失败返回值:详见附表A |
rxfs |
String |
人像分数 |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"name":"陈**",
"cardNum":"3504**************",
"startTime":"20100916",
"endTime":"20200916",
"picData": "/9j/4AAQSkZJRgABAQEASABIAAD/4QN..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "000000XX",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443226F60A2B088D89"
}
}
}
2.3.1 获取网证业务流水号
接口功能
通过网证认证模式代码和网证下载模式代码,获取网证模式相对应随机数和业务流水号。
请求地址
https://api.zkbiowhois.com/apiv1/credible/getRandom
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
网证认证模式
模式代码 |
说明 |
0x64 |
网证 |
0x06 |
人像 + 网证 |
0x16 |
人像 + 网证 + 复合信息 |
0x0f |
实体证件 + 人像 + 网证 |
网证下载模式
模式代码 |
说明 |
0x10 |
不读卡 + 网证口令 |
0x01 |
读卡 |
0x02 |
读卡 + 人像 |
0x03 |
读卡 + 网证口令 |
0x11 |
复合信息 + 网证口令 |
0x12 |
复合信息 + 人像 |
0x14 |
简项信息 + 人像 |
复合信息:姓名+身份证号码+身份证有效开始时间+身份证号码有效结束时间简项信息:姓名+身份证号码
请求参数
参数 |
类型 |
必选 |
说明 |
authMode |
String |
是 |
模式代码 |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
randomNumber |
String |
随机数 |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"authMode":"0x10"
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000000",
"payload": {
"dataFmt": "1",
"results": {
"randomNumber": "N0Y5QUFEOUM2OTJDNTM0NAAWMEUCIDftHWqvbDx9jySmwyKrslrbkSdpWzfyjApoYuEZrRzi AiEAzbMGWdX+SHOfPQ4OBx1jsH9oFTysRJgE93EgNU9tSco=",
"businessNumber": "4531273E093A058759"
}
}
}
错误返回
{
"code": "0EU***",
"message": "错误码:EU30001 ERROR INFO ***",
"payload": {
"dataFmt": "1",
"results": {}
}
}
2.3.2 网证下载
接口功能
调用CTID"互联网+“可信身份认证接口,通过ID验证数据、网证下载模式说明的参数下载网证副本。
请求地址
https://api.zkbiowhois.com/apiv1/credible/ctidDownload
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
模式说明
模式代码 |
说明 |
实体证件 |
人像 |
网证口令 |
复合信息 |
简项信息 |
0x10 |
不读卡+网证口令 |
|
|
√ |
√ |
|
0x01 |
读卡 |
√ |
|
|
|
|
0x02 |
读卡+人像 |
|
|
√ |
√ |
|
0x03 |
读卡+网证口令 |
√ |
|
√ |
|
|
0x11 |
复合信息+网证口令 |
|
|
√ |
√ |
|
0x12 |
复合信息+人像 |
|
√ |
|
√ |
|
0x14 |
简项信息+人像 |
|
√ |
|
|
√ |
复合信息:姓名+身份证号码+身份证有效开始时间+身份证号码有效结束时间简项信息:姓名+身份证号码
请求参数
参数 |
类型 |
必选 |
说明 |
businessNumber |
String |
是 |
业务流水号 |
name |
String |
否 |
姓名 |
cardNum |
String |
否 |
身份证号码 |
startTime |
String |
否 |
身份证有效开始时间 |
endTime |
String |
否 |
身份证有效结束时间,身份证号码有效期止为长期需转换00000000 |
authCode |
String |
否 |
网证口令;通过“官方身份认证控件接口定义文档”中的getAuthCodeData接口生成; |
idcardAuthData |
String |
是 |
ID验证数据;通过“官方身份认证控件接口定义文档”中的getAuthIDCardData接口生成; |
authMode |
String |
是 |
下载模式 |
picData |
String |
否 |
人像Base64 编码 |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
result |
String |
网证下载成功返回值:0;无法下载返回值:详见附表B; |
ctidInfo |
String |
网证副本数据 |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"authMode": "0x11",
"businessNumber": "4831273A1027025C2B",
"idcardAuthData": "MIIB+QYKKoEcz1UGAQQCA6CCAekwggHlAAMYHRMIHOAgEAMD...",
"name": "金阳",
"cardNum": "11010219781027232X",
"startTime": "20041027",
"endTime": "20241026",
"authCode": "uAFNSUlCUmdZS0tvRWN6MVVHQVFRQ0E2Q0NBVFl3Z2dFeUFnRUFNWU..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000XXX",
"message": "下载成功",
"payload": {
"dataFmt": "1",
"results": {
"result": "0",
"ctidInfo": "BWYyYTE1N2IwZWY3NzRmYzc4YzRkMDllM...",
"businessNumber": "4531273E0A2A1D8793"
}
}
}
错误返回
{
"code": "0000XXXX",
"message": "网证不存在",
"payload": {
"dataFmt": "1",
"results": {
"result": "23",
"ctidInfo": "",
"businessNumber": "4532273E0B00297DB5"
}
}
}
注:code在0x02、0x12模式下返回“00XX”(正确)和 “XXXX”(错误);其他模式下返回“0XXX”(正确)和 “XXXX”(错误)。
2.3.3 网证
接口功能
调用CTID“互联网+”可信身份认证接口,核验网证副本,返回网证认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/ctidInfo
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
businessNumber |
String |
是 |
业务流水号 |
idcardAuthData |
String |
是 |
ID验证数据,详见附表B;通过“官方身份认证控件接口定义文档”中的getAuthIDCardData接口生成; |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:0000XX0X认证失败返回值:详见附表A |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"businessNumber": "4831273A1027025C2B",
"idcardAuthData": "MIIB+QYKKoEcz1UGAQQCA6CCAekwggHlAAMYHRMIHOAgEAMD..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "0000XX0X",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443226F60F313BD746"
}
}
}
2.3.4 人像+网证
接口功能
调用CTID“互联网+”可信身份认证接口,核验人像+网证,返回身份认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/picCtidInfo
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
businessNumber |
String |
是 |
业务流水号 |
picData |
String |
是 |
人像Base64 编码 |
idcardAuthData |
String |
是 |
ID验证数据;通过“官方身份认证控件接口定义文档”中的getAuthIDCardData接口生成; |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:0000X00X认证失败返回值:详见附表A |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"businessNumber": "4831273A1027025C2B",
"picData": "/9j/4AAQSkZJRgABAQEASABIAAD/4QN...",
"idcardAuthData": "MIIB+QYKKoEcz1UGAQQCA6CCAekwggHlAAMYHRMIHOAgEAMD..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "0000X00X",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443226F60F313BD746"
}
}
}
2.3.5 人像+网证+复合信息
接口功能
调用CTID“互联网+”可信身份认证接口,核验人像+网证+姓名+身份证号码+身份证有效期,返回身份认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/picCtid4Info
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
businessNumber |
String |
是 |
业务流水号 |
name |
String |
是 |
姓名 |
cardNum |
String |
是 |
身份证号码 |
startTime |
String |
是 |
身份证有效开始时间 |
endTime |
String |
是 |
身份证号码有效结束时间,身份证有效期止为长期需转换00000000 |
picData |
String |
是 |
人像Base64 编码 |
authCode |
String |
是 |
网证口令;通过“官方身份认证控件接口定义文档”中的getAuthCodeData接口生成; |
idcardAuthData |
String |
是 |
ID验证数据;通过“官方身份认证控件接口定义文档”中的getAuthIDCardData接口生成; |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:0000X00X认证失败返回值:详见附表A |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"businessNumber": "4831273A1027025C2B",
"name": "金阳",
"cardNum": "11010219781027232X",
"startTime": "20041027",
"endTime": "20241026",
"picData": "/9j/4AAQSkZJRgABAQEASABIAAD/4QN...",
"authCode": "uAFNSUlCUmdZS0tvRWN6MVVHQVFRQ0E2Q0NBVFl3Z2dFeUFnRUFNWU...",
"idcardAuthData": "MIIB+QYKKoEcz1UGAQQCA6CCAekwggHlAAMYHRMIHOAgEAMD..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "0000X00X",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443226F60F313BD746"
}
}
}
2.3.6 实体证件+人像+网证
接口功能
调用CTID“互联网+”可信身份认证接口,核验实体证件+人像+网证,返回身份认证结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/cardPicCtidInfo
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
businessNumber |
String |
是 |
业务流水号 |
picData |
String |
是 |
人像Base64 编码 |
authCode |
String |
是 |
网证口令;通过“官方身份认证控件接口定义文档”中的getAuthCodeData接口生成; |
idcardAuthData |
String |
是 |
ID验证数据;通过“官方身份认证控件接口定义文档”中的getAuthIDCardData接口生成; |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:0000000X认证失败返回值:详见附表A |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"businessNumber": "4831273A1027025C2B",
"picData": "/9j/4AAQSkZJRgABAQEASABIAAD/4QN...",
"authCode": "uAFNSUlCUmdZS0tvRWN6MVVHQVFRQ0E2Q0NBVFl3Z2dFeUFnRUFNWU...",
"idcardAuthData": "MIIB+QYKKoEcz1UGAQQCA6CCAekwggHlAAMYHRMIHOAgEAMD..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "0000000X",
"message": "认证成功",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "443226F60F313BD746"
}
}
}
2.4.1 获取二维码赋码流水号
接口功能
通过赋码申请数据获取二维码赋码随机数和业务流水号。
请求地址
https://api.zkbiowhois.com/apiv1/credible/getCreateRandom
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
applyData |
String |
是 |
申请数据;通过“官方身份认证控件接口定义文档”中的getApplyData接口生成; |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
randomNumber |
String |
随机数 |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"applyData":"MIIBVgYKKoEcz1UGAQQCA6C..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000000",
"payload": {
"dataFmt": "1",
"results": {
"randomNumber": "N0Y5QUFEOUM2OTJDNTM0NAAWMEUCIDftHWqv...",
"businessNumber": "4531273E093A058759"
}
}
}
错误返回
{
"code": "0101011001",
"message": "请求包数据异常-包格式错误",
"payload": {
"dataFmt": "1",
"results": {}
}
}
2.4.2 二维码赋码
接口功能
调用CTID"互联网+“可信身份认证接口,通过请求核验数据赋码返回二维码。
请求地址
https://api.zkbiowhois.com/apiv1/credible/createCode
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
businessNumber |
String |
是 |
业务流水号 |
checkData |
String |
是 |
申请数据;通过“官方身份认证控件接口定义文档”中的getApplyData接口生成; |
isPic |
String |
否 |
0-不生成图片;1-生成图片流;2-生成图片文件;默认0 |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:00000000认证失败返回值:详见附表C |
businessNumber |
String |
业务流水号 |
codeContent |
String |
二维码内容(base64 编码) |
imgStream |
String |
二维码图片流 |
width |
String |
位图边长 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"businessNumber":"4531273E093A058759",
"checkData":"N0Y5QUFEOUM2OTJDNTM0NAAWMEUCIDftHWqv..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000000",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "4531273E093A058759",
"codeContent": "****",
"imgStream": "BWYyYTE1N2IwZWY3NzRmYzc4YzRkMDllM...",
"width": "120"
}
}
}
错误返回
{
"code": "0101011001",
"message": "请求包数据异常-包格式错误",
"payload": {
"dataFmt": "1",
"results": {}
}
}
2.4.3 获取二维码验码流水号
接口功能
通过验码模式代码和验码申请数据获取随机数和业务流水号。
请求地址
https://api.zkbiowhois.com/apiv1/credible/getValidateRandom
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
请求参数
参数 |
类型 |
必选 |
说明 |
authMode |
String |
是 |
验码模式代码 |
applyData |
String |
是 |
申请数据;通过“官方身份认证控件接口定义文档”中的getApplyData接口生成; |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
randomNumber |
String |
随机数 |
businessNumber |
String |
业务流水号 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"authMode": "1",
"applyData": "MIIBVgYKKoEcz1UGAQQCA6C..."
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000000",
"payload": {
"dataFmt": "1",
"results": {
"randomNumber": "N0Y5QUFEOUM2OTJDNTM0NAAWMEUCIDftHWqvbDx9jySmwyKrslrbkSdpWzfyjApoYuEZrRziAiEAzbMGWdX+SHOfPQ4OBx1jsH9oFTysRJgE93EgNU9tSco=",
"businessNumber": "4531273E093A058759"
}
}
}
错误返回
{
"code": "0101011001",
"message": "请求包数据异常-包格式错误",
"payload": {
"dataFmt": "1",
"results": {}
}
}
2.4.4 二维码验码
接口功能
调用CTID"互联网+“可信身份认证接口,通过网证验码模式说明的参数返回核验结果。
请求地址
https://api.zkbiowhois.com/apiv1/credible/validateCode
接口方法
POST
请求头部
Content-Type: application/json
token: eyJhbGciOiJIUzUxMiJ9...
模式说明
模式代码 |
说明 |
业务流水号 |
ID验证数据 |
网证口令 |
人像 |
二维码 |
0 |
二维码 |
√ |
√ |
|
|
|
1 |
二维码+网证口令 |
√ |
√ |
√ |
|
|
2 |
二维码+人像 |
√ |
√ |
|
√ |
|
3 |
二维码+网证口令+人像 |
√ |
√ |
√ |
√ |
|
4 |
便携二维码 |
|
|
|
|
√ |
5 |
便携二维码+人像 |
|
|
|
√ |
√ |
请求参数
参数 |
类型 |
必选 |
说明 |
authMode |
String |
是 |
模式代码 |
businessNumber |
String |
否 |
业务流水号 |
qrCode |
String |
否 |
二维码内容(base64 编码) |
idcardAuthData |
String |
否 |
ID验证数据;通过“官方身份认证控件接口定义文档”中的getAuthIDCardData接口生成; |
authCode |
String |
否 |
网证口令;通过“官方身份认证控件接口定义文档”中的getAuthCodeData接口生成; |
picData |
String |
否 |
人像base64 编码 |
data |
String |
否 |
当data非空时,读取data参数;当data为空时,读取payload参数; |
返回参数
参数 |
类型 |
说明 |
code |
String |
认证成功返回值:00000000认证失败返回值:详见附表D |
businessNumber |
String |
业务流水号 |
name |
String |
姓名 |
cardNum |
String |
身份证号码 |
常规调用示例
{
"lang": "zh-CN",
"payload": {
"params": {
"businessNumber": "49C827290E293B1A24",
"idcardAuthData": "MIIBVgYKKoEcz1UGAQQCA6C...",
"picData": "/9j/4AAQSkZJRgABAQAAA...",
"authMode": "***"
}
}
}
加密调用示例
{
"lang": "zh-CN",
"data": "dd4b374de6822799..."
}
成功返回
{
"code": "00000000",
"message": "验码通过",
"payload": {
"dataFmt": "1",
"results": {
"businessNumber": "4531273E093A058759",
"name":"金阳",
"cardNum":"11010219781027232X"
}
}
}
错误返回
{
"code": "0101011001",
"message": "请求包数据异常-包格式错误",
"payload": {
"dataFmt": "1",
"results": {}
}
}
3.1 附表A
code位数 |
说明 |
第一字符 |
保留位 |
第二字符 |
保留位 |
第三字符 |
保留位 |
第四字符 |
保留位 |
第五字符 |
0 |
身份信息有效 |
5 |
身份信息未查到 |
6 |
参数错误 |
7 |
系统错误 |
9 |
公安接口认证次数限制 |
A |
穿网调用超时 |
E |
公安接口调用异常 |
T |
公安接口调用超时 |
X |
未执行 |
Z |
穿网限制 |
第六字符 |
0 |
同一人 |
1 |
非同一人 |
2 |
疑似为本人 |
A |
数据库操作错误 |
B |
人像比对异常 |
C |
输入参数错误 |
D |
无人像信息 |
E |
图像格式不支持 |
F |
待比对图像建模失败 |
G |
现场照片质量不合格 |
H |
活体检测控件版本过期 |
I |
活体检测数据校验失败 |
J |
现场照片小于 5K |
K |
公安制证照片质量不佳 |
T |
人像引擎超过 |
W |
系统其它错误 |
X |
未执行 |
第七字符 |
0 |
网证状态正常 |
1 |
网证已经被注销 |
2 |
该身份证没有申请二代身份证网证 |
3 |
网证不匹配 |
4 |
认证码异常 |
5 |
该网证已经被冻结 |
6 |
身份信息不匹配 |
7 |
业务流水号异常 |
8 |
网证已过期 |
9 |
输入参数错误 |
J |
验签失败 |
B |
下载设备ID不匹配 |
C |
系统异常 |
D |
网证不在库中 |
G |
数据库异常 |
E |
系统异常 |
X |
未执行 |
第八字符 |
X |
未执行 |
3.2 附表B
返回代码 |
代码说明 |
可能出现原因 |
0 |
副本下载成功 |
|
1 |
无法下载 |
网证已冻结 |
2 |
无法下载 |
网证已注销 |
3 |
无法下载 |
网证口令异常(为空或长度不合法) |
4 |
无法下载 |
输入参数异常(为空或长度不合法) |
21 |
无法下载 |
网证不匹配 |
22 |
无法下载 |
业务流水号异常 |
23 |
无法下载 |
网证未开通 |
25 |
无法下载 |
网证不在白名单 |
C |
无法下载 |
新网证生成异常 |
J |
无法下载 |
调用签名服务器异常 |
G |
无法下载 |
数据库异常 |
77 |
无法下载 |
系统异常 |
3.3 附表C
错误码 |
错误描述 |
0101011001 |
请求包数据异常-包格式错误 |
0101011002 |
签名验签失败 |
0101011003 |
请求包数据异常-数据字段值非法 |
0101011004 |
请求包数据异常-申请、请求两包业务流水号不匹配 |
0101011005 |
请求包数据异常-申请、请求两包随机数不匹配 |
0101011006 |
数据解密失败 |
0101011007 |
请求次数过高,触发限流 |
0101012008 |
网证不存在 |
0101012009 |
网证已注销 |
0101012010 |
网证已冻结 |
0101012011 |
网证已失效 |
0101012012 |
系统异常,请联系系统管理员 |
3.4 附表D
错误码 |
错误描述 |
0101021001 |
请求包数据异常-包格式错误 |
0101021002 |
签名验签失败 |
0101021003 |
请求包数据异常-数据字段值非法 |
0101021004 |
请求包数据异常-申请、请求两包业务流水号不匹配 |
0101021005 |
请求包数据异常-申请、请求两包随机数不匹配 |
0101021006 |
数据解密失败 |
0101021007 |
请求次数过高,触发限流 |
0101022008 |
系统异常,请联系系统管理员 |
0101021901 |
二维码已失效或已过期 |
0101021902 |
认证码比对不通过 |
0101021903 |
网证不存在 |
0101021904 |
人像对比不通过 |