人脸实名认证
1. 接口介绍
基于用户授权,将用户姓名、身份证号和现场采集的人脸图像,与权威数据源进行比对,判断用户身份真实性,防止身份信息被顶替、冒用。
2. 请求
2.1 请求地址
- 国内:
https://api.open.tuputech.com/v3/recognition/face/verify/<secretId>
提示
<secretId>
需替换为您的应用 SID
,请联系客户经理为您开通及配置。关于 SID
详见 常见问题(FAQ)。
2.2 请求方法
POST
2.3 请求头
参数名称 | 值 | 是否必需 | 说明 |
---|---|---|---|
Content-Type | application/json | 是 | 请求的数据类型 |
危险
由于模型基于请求流量动态伸缩,在空闲一定时间后会关闭(部分专用模型空闲一定时间后会关闭全部实例)。
由于模型冷启动耗时较长,部分请求可能无法处理,最终返回非 200
HTTP 状态码或业务状态码 101
。该现象可能在以下情况下出现:
- 初次请求
- 长时间未调用后再次请求
- 请求流量突增
- 请求存在规律性的流量波动(例如每隔超过 5 分钟请求一批数据,或仅在工作日期间有大量请求)
针对以上情况,我们分别建议您:
- 间隔 2~3 分钟后重试
- 间隔 2~3 分钟后重试,并且后续保持至少每分钟 1 次调用
- 提前进行预热,或及时联系我们扩容
- 调整业务请求时间间隔到 5 分钟内,或联系我们调整实例保持策略。若您的业务仅在工作日期间有大量请求,节假日期间较少,请务必联系我们
2.4 请求参数说明
参数名称 | 类型 | 是否必需 | 说明 |
---|---|---|---|
image | String | 是 | 图片链接或 base64 数据 |
imageType | String | 是 | url 或者 base64 |
name | String | 是 | 姓名 |
idNo | String | 是 | 身份证号码 |
timestamp | Int | 是 | 当前服务器的 Unix 时间戳。 |
nonce | Int | 是 | 随机数。 |
signature | String | 是 |
|
3. 返回结果
3.1 响应参数说明 🔥🔥
字段 | 类型 | 是否必需 | 说明 |
---|---|---|---|
json | String | 是 | 审核结果序列化字符串 |
signature | String | 是 | 签名 |
json 参数说明
字段 | 类型 | 是否必需 | 说明 |
---|---|---|---|
code | Int | 是 | 状态码 |
message | String | 是 | 状态信息 |
label | Int | 是 | 结果标签,详见返回标签说明 |
rate | Float | 是 | 标签置信度,取值在 0.0 - 1.0 之间 |
review | Boolean | 是 | 是否复审 |
featureId | String | 否 | 人脸特征 ID,认证通过时返回,如 6da8741182ccbfb9084a7e7c4bffe144 |
3.2 返回标签说明
Label 值 | 说明 |
---|---|
-1 | 其他错误,详细查看 message 的内容 |
0 | 认证通过 |
1 | 认证不通过:人脸质量不符合要求 |
2 | 认证不通过:非活体 |
3 | 认证不通过:实名认证失败 |
4 | 身份证号格式错误 |
5 | 名字格式错误 |
6 | 身份证号和名字不匹配 |
3.4 任务结果示例
{
"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
}