栏目

系统知识

System Knowledge

当前位置:首页 > 系统知识

实人认证API接口文档合集

2022-09-29
人脸对比API文档

接口描述:

该API的功能是将活体检测SDK返回的加密文件中的活体数据与自拍照片进行比对,来判断是否同一个人。配合活体检测SDK使用,活体检测通过后,对活体加密数据做人脸比对检验,返回人脸比对分值,客户可根据分值判断是否为同一个人。

自拍照要求:

  • 1.格式为 JPG(JPEG),BMP,PNG,GIF,TIFF
  • 2.宽和高大于 8px,小于等于4000px
  • 3.小于等于 5 MB

请求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。

成功返回示例:

  • <font size="2" face="微软雅黑" color="">{
  • "code": 0,
  • "msg": "调用成功",
  • "data": null,
  • "charge": 1,
  • "faceScore": 0.9642921090126038,
  • "hackScore": 0.2335787539442074,
  • "liveNessEncryptDataId": "f8a23314fbfa42958dd90053bcd308fb",
  • "imageId": "f4890624c97b4eeab5f87ffed86bb82e",
  • "reqNo": "TIDa72c0221ff077f94e522a934059950d0",
  • "success": true
  • }</font>

成功返回示例的参数说明:

参数名 类型 说明
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 其他错误 服务器内部错误
人脸识别API文档

接口描述:

获取刷脸地址进行人脸识别认证。

业务流程:

接入需要用户输入自己的身份证姓名和身份证号码后调用该接口,该接口会返回一个链接,该链接为认证链接,用户通过该链接进行刷脸认证。

请求地址:

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,联系客服获取

请求示例:

  • <font size="2">{
  • {“accessKey”:”a8f0******dde”,
  • “accessSecret”:”8b5f9*****5ee7”,
  • “idNo”:”341*********31”,
  • “name":"袁*冰",
  • "faceauthMode":"ZHIMACREDIT",
  • "callbackUrl":"www.baidu.com"}</font>

返回参数:

请求参数 类型 参数说明
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小时

返回示例:

  • {
  • "code": 0,
  • "msg": "",
  • "data": {
  • "resultId": "ER20220512191137117001",
  • "status": true,
  • "originalUrl": "https://openapi.alipay.com/gateway.do?alipay_sdk=alipay-sdk-java-3.7.105.ALL&app_id=2021001155661340&biz_content=%7B%22certify_id%22%3A%22acfa1fb66b4083af13f14b6699c397de%22%7D&charset=UTF-8&format=JSON&method=alipay.user.certify.open.certify&sign=CTN%2BTYvgBL7O%2F7BvxoBM60xP3aRSLDZ%2Bweer0hLcJFzPwJ3JSCnxg8rcqwqFnbqRnzvL7Oy2rIDkDGejmwnYmeeXDFJQwPNfc4kiLp7OVvs5FLeCkXPkI7G31SaeB%2B05onTE%2ByoRQPV3MAVNJVpva1BqF3DvHkDodwSZEvX3XbnJK09jokmHTcdkqBi9G76U50YnxlrI7JYNdkEAhM7mNsA2KHlOWMHCq4bJLb3LjKKRw1EKMQvZcmfiWjo4Lg7iIfYpj4KAuyWm0dK1aEB0WK73MknN7Da0v2Gag0rzmDSciP7D4pnAadn5z8Q2AgweQy2n5HmFpPd2v3a93345Ug%3D%3D&sign_type=RSA2×tamp=2022-05-12+19%3A11%3A37&version=1.0",
  • "expire": "1652354018094"
  • }
  • }
人证比对API文档

接口描述:

该API的功能是将活体检测SDK返回的加密文件中的活体数据与身份证件照片进行比对,来判断是否同一个人。配合活体检测SDK使用,活体检测通过后,对活体加密数据做人证比对检验,返回人脸和证件比对分值,客户可根据分值判断是否匹配为同一个人。

自拍照要求:

  • 1.格式为 JPG(JPEG),BMP,PNG,GIF,TIFF
  • 2.宽和高大于 8px,小于等于4000px
  • 3.小于等于 2 MB,建议100KB以内
  • 4.人脸双眼间距不小于30像素,建议90像素以上
  • 5.图像中人脸图像较清晰,不因镜头散焦或运动而模糊
  • 6.眼睛的瞳孔清晰可见,镜面无反光,禁止戴墨镜,且眼镜框不得遮挡眼睛,不要带宽框眼镜
  • 7.人脸光线均匀且无阴影,亮度在200-800Lux,面部无明显反光、逆光、侧光
  • 8.要求头发及饰物不能遮挡人脸,禁止戴口罩,帽子
  • 9.表情自然、放松、无夸张动作,脸部区域完整、轮廓清晰、人脸比例不失真
  • 10.照片中只允许有1张人脸,且背景简单,无复杂场景
  • 11.人脸姿态要求,平面旋转(roll)±15°,俯仰变化(pitch)±10°,姿态偏转(yaw)±15°

请求方式:

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": 0,
  • "msg": "调用成功",
  • "data": null,
  • "reqNo": "AI1660282723487728",
  • "charge": 1,
  • "checkResult": 1,
  • "idNameResult": 1,
  • "photoResult": 1,
  • "certificateScore": 87.62500000000001,
  • "hackScore": 0.2335787539442074,
  • "liveNessEncryptDataId": "5d27d3c689b74fcf99f9a309dbbb054b",
  • "success": true
  • }

成功返回示例的参数说明:

参数名 类型 说明
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 其他错误 服务器内部错误
活体检测API文档

请求报文格式:

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的可能性越大

响应示例——核查一致响应:

  • <font face="微软雅黑" size="2">{
  • "code": 0,
  • "msg": "处理成功",
  • "data": {
  • "requestId": "TID852b31530e0d448c736c8bae847d24d9",
  • "fee": 1,
  • "hackScore": 0.3230995176216805,
  • "livenessEncryptDataId": "dcf5983cf9d94001b64dea7cc2864fac"
  • },
  • "success": true
  • }</font>

核查不一致响应:

  • <font face="微软雅黑" size="2">{
  • "code": 1,
  • "msg": "1003加密文件错误",
  • "data": {
  • "requestId": "TID2cc0f162d54426bbae419a249c1553eb",
  • "fee": 0,
  • "hackScore": 0.0,
  • "livenessEncryptDataId": "null"
  • },
  • "success": false
  • }
  • </font>
防Hack API文档

接口描述:

该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 具体原因

返回参数:

  • {
  • "code": 0,
  • "msg":"OK"
  • "data":{
  • "score":0.9851567641368569
  • "image_id":"cdbdd7ea0e4c48c39763abe8f77a2622"
  • "request_id":"TID84ab00ae31edfe324da9a771019ca7b3"
  • "status":"OK"
  • }
  • "success":true
  • }

错误返回样例:

  • {
  • "code": 1,
  • "msg":"上传的图片未检测出人脸"
  • "data":{
  • "request_id":"TID454215ce708e638a1036d49dac3593f3"
  • "status":"NO_FACE_DETECTED"
  • }
  • "success":false
  • }

错误代码参照:

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 服务器内部错误