
接口描述:
该API的功能是将活体检测SDK返回的加密文件中的活体数据与自拍照片进行比对,来判断是否同一个人。配合活体检测SDK使用,活体检测通过后,对活体加密数据做人脸比对检验,返回人脸比对分值,客户可根据分值判断是否为同一个人。
自拍照要求:
请求URL:
https://market.juncdt.com/smartmarket/api/identityVerify/liveNessSelfie
请求方式:
Post
请求Body参数(参数格式:form-data):
参数名 | 必选 | 类型 | 说明 |
selfieFile | 否 | file | 选择照片,上传本地图片进行检测时选取此参数 |
selfieUrl | 否 | string | 选择照片的网络地址,采用抓取网络图片方式时需选取此参数 |
selfieImageId | 否 | string | 自拍照片的id,在云端上传过自拍照片可采用选取此参数 |
selfieAutoRotate | 否 | boolean | 开启图片自动旋转功能。开通:true,不开通:false。默认false |
selfieAutoHack | 否 | boolean | 开启防hack功能。开通:true,不开通:false。默认false,不开通 |
liveNessEncryptData | 否 | file | 活体检测SDK返回的加密文件,上传本地文件时选取此参数。加密文件大小不可超过10M |
liveNessEncryptDataUrl | 否 | string | 活体检测SDK返回的加密文件的url。采用抓取网络文件方式时选取此参数 |
liveNessEncryptDataId | 否 | string | 活体检测SDK返回的加密文件的id。已上传过加密文件的可选取此参数 |
accessKey | 否 | string | 人脸比对 API调用密钥 |
accessSecret | 否 | string | 人脸比对 API调用密钥 |
说明: 请求参数 selfieFile , selfieUrl与 selfieImageId 三选一,如同时传入多个参数,优先级:selfieImageId、selfieFile、selfieUrl 请求参数 liveNessEncryptData, liveNessEncryptDataUrl与 liveNessEncryptDataId 三选一。 如同时传入多个参数,本API使用顺序为liveNessEncryptDataId 优先,其次liveNessEncryptData、liveNessEncryptDataUrl。
成功返回示例:
成功返回示例的参数说明:
参数名 | 类型 | 说明 |
code | number | 响应的code码 |
msg | string | 响应信息 |
reqNo | string | 请求编号 |
charge | number | 是否收费 0 不收费 1收费 |
faceScore | number | 人脸比对置信度值为 0~1,值越大表示两张照片是同一个人的可能性越大。 |
hackScore | number | 防hack得分(auto_hack=true时返回)取值范围是0~1。值越大表示被hack的可能性越大 |
liveNessEncryptDataId | string | 云端加密文件的id |
imageId | string | 使用file、url方式上传公安部后台预留返回的公安部后台预留的带水印照片的id |
success | boolean | 是否执行成功 |
faceScore置信度阈值与错误率对应关系:
阈值 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 |
错误率 | 十分之一 | 百分之一 | 千分之一 | 万分之一 | 十万分之一 | 百万分之一 |
错误代码参照:
code | msg | 说明 |
0000 | 调用成功 | 成功 |
1000 | 验签失败 | 验签失败 |
1001 | 参数非UTF-8编码 | 参数非UTF-8编码 |
1002 | 请求参数错误 | 请求参数错误 |
1003 | 加密文件错误 | liveness_data 出错 |
1004 | 未检测出人脸 | 图片未检测出人脸 |
1005 | 网络图片获取超时 | 网络地址图片获取超时 |
1006 | 网络图片获取失败 | 网络地址图片获取失败 |
1007 | 应用冻结 | 未授权 |
1008 | 应用过期 | 账号过期 |
1009 | 调用频率过高 | 调用频率超出限额 |
1010 | 免费次数用尽 | 调用次数超出限额 |
1011 | 服务无权限 | 无调用权限 |
1012 | 请求路径错误 | 请求路径错误 |
1013 | 图片体积过大 | 图片体积过大 |
1014 | 图片不存在 | 图片不存在 |
1015 | 文件不是图片或已损坏 | 文件不是图片文件或已经损坏 |
1016 | 图片大小或格式不符合要求 | 图片大小或格式不符合要求 |
9999 | 其他错误 | 服务器内部错误 |
接口描述:
获取刷脸地址进行人脸识别认证。
业务流程:
接入需要用户输入自己的身份证姓名和身份证号码后调用该接口,该接口会返回一个链接,该链接为认证链接,用户通过该链接进行刷脸认证。
请求地址:
https://market.juncdt.com/smartmarket/api/identityVerify/faceRecognition
请求方式:
POST
请求参数类型:
application/json;charset=UTF-8
请求参数:
请求参数 | 类型 | 是否必填 | 参数类型 | 参数说明 |
idNo | String | 是 | body | 身份证号(大陆二代身份证) |
name | String | 是 | body | 姓名 |
callbackUrl | String | 是 | body | 认证成功后重定向地址,网页端接入可以直接传入网页地址,app接入传入app schema地址 |
faceauthMode | String | 是 | body | ZHIMACREDIT 支付宝认证 TENCENT 腾讯云认证 WECHAT 微信认证(生成只有微信客户端可以打开的链接) |
accessKey | String | 是 | body | 身份验证key,联系客服获取 |
accessSecret | String | 是 | body | 身份验证secret,联系客服获取 |
请求示例:
返回参数:
请求参数 | 类型 | 参数说明 |
code | Number | 状态码0则为成功 1为失败 |
msg | String | 错误状态说明 |
data | string | 返回数据 |
data.resultId | String | 请求记录ID |
data.status | String | 初步认证状态 |
data.originalUrl | String | 获取个人刷脸实名认证长链接。有效时长30分钟 |
data.expire | Long | 链接失效时间,毫秒值 结果依据实际的刷脸方式为准: 支付宝 30分钟 腾讯云 2分钟 微信 2小时 |
返回示例:
接口描述:
该API的功能是将活体检测SDK返回的加密文件中的活体数据与身份证件照片进行比对,来判断是否同一个人。配合活体检测SDK使用,活体检测通过后,对活体加密数据做人证比对检验,返回人脸和证件比对分值,客户可根据分值判断是否匹配为同一个人。
自拍照要求:
请求方式:
Post
请求Body参数:
参数名 | 必选 | 类型 | 说明 |
name | 是 | string | 姓名 |
idNumber | 是 | string | 身份证号 |
autoHack | 否 | boolean | 开启防hack功能。开通:true,不开通:false。默认false,不开通 |
liveNessEncryptData | 否 | file | 活体检测SDK返回的加密文件,上传本地文件时选取此参数。加密文件大小不可超过10M |
liveNessEncryptDataUrl | 否 | string | 活体检测SDK返回的加密文件的url。采用抓取网络文件方式时选取此参数 |
liveNessEncryptDataId | 否 | string | 活体检测SDK返回的加密文件的id。已上传过加密文件的可选取此参数 |
accessKey | 是 | string | 人脸比对 API调用密钥 |
accessSecret | 是 | string | 人脸比对 API调用密钥 |
说明:当checkResult为1时,会返回idNameResult,当idNameResult为1时,会返回photoResult,当photoResult为1时,会返回certificateScore;当checkResult为2时,不返回idNameResult、photoResult、certificateScore的内容;当idNameResult非1时,不返回photoResult、certificateScore的内容;当photoResult非1时,不返回certificateScore的内容 hackScore阈值为0.98,由行业大数据训练得到,大于0.98是hack行为,小于等于0.98是正常活人。
成功返回示例:
成功返回示例的参数说明:
参数名 | 类型 | 说明 |
code | int | 响应的code码 |
msg | string | 响应信息 |
reqNo | string | 请求编号 |
charge | int | 是否收费 0 不收费 1收费 |
checkResult | int | 查询结果 1人证比对查得 2图片质量校验不合格 |
idNameResult | int | 1姓名身份证号一致 2姓名身份证号不一致 3库无 |
photoResult | int | 图片校验结果 1比对成功 2库中无照片 3特征提取失败 |
certificateScore | double | 人脸和证件照比对结果系统判断为不同人:[0,40) 不确定是否为同一人:[40,45) 系统判断为同一人:[45,100] |
hackScore | double | 防hack得分(auto_hack=true时返回)取值范围是0~1。值越大表示被hack的可能性越大 |
liveNessEncryptDataId | string | 云端加密文件的id |
success | boolean | 是否执行成功 |
错误代码参照:
code | msg | 说明 |
0000 | 调用成功 | 成功 |
1000 | 验签失败 | 验签失败 |
1001 | 参数非UTF-8编码 | 参数非UTF-8编码 |
1002 | 请求参数错误 | 请求参数错误 |
1003 | 加密文件错误 | liveness_data 出错 |
1004 | 未检测出人脸 | 图片未检测出人脸 |
1005 | 网络图片获取超时 | 网络地址图片获取超时 |
1006 | 网络图片获取失败 | 网络地址图片获取失败 |
1007 | 应用冻结 | 未授权 |
1008 | 应用过期 | 账号过期 |
1009 | 调用频率过高 | 调用频率超出限额 |
1010 | 免费次数用尽 | 调用次数超出限额 |
1011 | 服务无权限 | 无调用权限 |
1012 | 请求路径错误 | 请求路径错误 |
1013 | 图片体积过大 | 图片体积过大 |
1014 | 图片不存在 | 图片不存在 |
1015 | 文件不是图片或已损坏 | 文件不是图片文件或已经损坏 |
1016 | 图片大小或格式不符合要求 | 图片大小或格式不符合要求 |
9999 | 其他错误 | 服务器内部错误 |
请求报文格式:
HTTP方法 | 类型 | URL |
POST | - | https://market.juncdt.com/smartmarket/api/identityVerify/livenessHackDectect |
报头 | 描述 | |
Accept | application/json | |
Content-Type | application/json;charset=utf-8 | |
消息体 | 描述 | |
accessKey | string | API调用账号(必填,从云极平台获取) |
accessSecret | string | API调用密钥(必填,从云极平台获取) |
livenessEncryptData | File | 活体检测SDK返回的加密文件,上传本地文件时选取此参数。 加密文件大小不可超过10M |
livenessEncryptDataId | string | 活体检测SDK返回的加密文件的id。已上传过加密文件的可选取此参数 |
livenessEncryptDataUrl | string | 活体检测SDK返回的加密文件的url。采用抓取网络文件方式时选取此参数 |
注: 请求参数 livenessEncryptData, livenessEncryptDataUrl与 livenessEncryptDataId 三选一。如同时传入多个参数,本API使用顺序为livenessEncryptDataId优先,其次livenessEncryptData、livenessEncryptDataUrl
响应报文格式:
响应体 | 类型 | 描述 |
code | string | 结果响应码 |
msg | string | 结果消息描述 |
fee | Int | 是否收费:0不收费,1收费 |
livenessEncryptDataId | string | 云端加密文件的id |
hackScore | double | 防hack得分取值范围是0~1。值越大表示被hack的可能性越大 |
响应示例——核查一致响应:
核查不一致响应:
接口描述:
该API功能为验证用户自拍照是否活体。
请求方式:
POST
请求 URL:
https://market.juncdt.com/smartmarket/api/v2/identityVerify/selfieHackDetect
请求参数:
字段 | 类型 | 必需 | 描述 |
accessKey | string | 是 | API 账户 |
accessSecret | string | 是 | API 密钥 |
file | file | 见下方注释 | 需上传的图片文件,上传本地图片进行检测时选取此参数 |
url | string | 见下方注释 | 图片网络地址,采用抓取网络图片方式时需选取此参数 |
image_id | string | 见下方注释 | 图片的id,在云端上传过图片可采用此参数 |
请求参数 file,url与 image_id 三选一。
url 目前支持 http/https 等协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。 参数 file 需把图片文件的内容以 multipart/form-data 的形式放到 POST 消息体中。
备注:hack_score阈值为0.98,由行业大数据训练得到,大于0.98是hack行为,小于等于0.98是正常活人。
字段 | 类型 | 描述 |
request_id | string | 本次请求的id |
status | string | 状态,正常为 OK,其他值表示失败,详见错误码 |
score | float | 分数。取值范围是0~1。值越大,表示被hack的可能性越大 |
image_id | string | 图片上传云端后的id 。使用file、url方式提交图片会返回此参数 |
reason | string | 具体原因 |
返回参数:
错误返回样例:
错误代码参照:
status字段 | 说明 |
ENCODING_ERROR | 参数非UTF-8编码 |
DOWNLOAD_TIMEOUT | 网络地址图片获取超时 |
DOWNLOAD_ERROR | 网络地址图片获取失败 |
IMAGE_ID_NOT_EXIST | 图片不存在 |
IMAGE_FILE_SIZE_TOO_BIG | 图片体积过大 |
CORRUPT_IMAGE | 文件不是图片文件或已经损坏 |
INVALID_IMAGE_FORMAT_OR_SIZE | 图片大小或格式不符合要求 |
INVALID_ARGUMENT | 请求参数错误 |
NO_FACE_DETECTED | 上传的图片未检测出人脸 |
UNAUTHORIZED | 账号或密钥错误 |
KEY_EXPIRED | 账号过期 |
RATE_LIMIT_EXCEEDED | 调用频率超出限额 |
NO_PERMISSION | 无调用权限 |
OUT_OF_QUOTA | 调用次数超出限额 |
NOT_FOUND | 请求路径错误 |
INTERNAL_ERROR | 服务器内部错误 |