跳到主要内容

人脸实名认证

1. 接口介绍

基于用户授权,将用户姓名、身份证号和现场采集的人脸图像,与权威数据源进行比对,判断用户身份真实性,防止身份信息被顶替、冒用。

2. 请求

2.1 请求地址

  • 国内: https://api.open.tuputech.com/v3/recognition/face/verify/<secretId>
提示

<secretId> 需替换为您的应用 SID,请联系客户经理为您开通及配置。关于 SID 详见 常见问题(FAQ)

2.2 请求方法

POST

2.3 请求头

参数名称是否必需说明
Content-Typeapplication/json请求的数据类型
危险

由于模型基于请求流量动态伸缩,在空闲一定时间后会关闭(部分专用模型空闲一定时间后会关闭全部实例)。 由于模型冷启动耗时较长,部分请求可能无法处理,最终返回非 200 HTTP 状态码或业务状态码 101。该现象可能在以下情况下出现:

  • 初次请求
  • 长时间未调用后再次请求
  • 请求流量突增
  • 请求存在规律性的流量波动(例如每隔超过 5 分钟请求一批数据,或仅在工作日期间有大量请求)

针对以上情况,我们分别建议您:

  • 间隔 2~3 分钟后重试
  • 间隔 2~3 分钟后重试,并且后续保持至少每分钟 1 次调用
  • 提前进行预热,或及时联系我们扩容
  • 调整业务请求时间间隔到 5 分钟内,或联系我们调整实例保持策略。若您的业务仅在工作日期间有大量请求,节假日期间较少,请务必联系我们

2.4 请求参数说明

参数名称类型是否必需说明
imageString图片链接或 base64 数据
imageTypeStringurl 或者 base64
nameString姓名
idNoString身份证号码
timestampNumber当前服务器的 Unix 时间戳。
nonceNumber随机数。
signatureString

RSA-SHA256 算法签名。签名步骤:

  1. 将参与签名的参数(secretIdtimestampnonce)用英文半角逗号 , 拼接,得到 SignString
  2. 使用您的私钥以 RSA-SHA256 算法对 SignString 签名,然后进行 Base64 编码,得到 signature 字符串。
  • 点击 数字证书 下载私钥。私钥有 rsapkcs8 两种格式,通常 Golang,Python 使用 rsa 格式私钥,Java 使用 pkcs8 格式私钥
  • 点击 签名及验证示例 查看签名示例

3. 返回结果

3.1 响应参数说明

字段类型是否必需说明
jsonString审核结果序列化字符串
signatureString签名

json 参数

字段类型是否必需说明
codeInt状态码
messageString状态信息
labelInt结果标签,详见返回标签说明
rateFloat标签置信度,取值在 0.0 - 1.0 之间
reviewBoolean是否复审
featureIdString人脸特征 ID,认证通过时返回,如 6da8741182ccbfb9084a7e7c4bffe144

3.2 返回标签说明

Label 值说明
-1其他错误,详细查看 message 的内容
0认证通过
1认证不通过:人脸质量不符合要求
2认证不通过:非活体
3认证不通过:实名认证失败
4身份证号格式错误
5名字格式错误
6身份证号和名字不匹配

3.3 响应示例

{
"signature": "signature_from_tupu_service",
"json": "{\"code\":0,\"message\":\"success\",\"nonce\":\"0.5442530125172196\",\"timestamp\":1595318082309}"
}

json 字段示例

{
"rate": 0.9927366971969604,
"label": 0,
"review": false,
"code": 0,
"featureId": "6da8741182ccbfb9084a7e7c4bffe144",
"message": "success",
"nonce": "0.5442530125172196",
"timestamp": 1595318082309
}