功能描述
支持中国大陆居民二代身份证正反面所有字段的识别,包括姓名、性别、民族、出生日期、住址、公民身份证号、签发机关、有效期限;具备身份证照片、人像照片的裁剪功能和翻拍、PS、复印件告警功能,以及边框和框内遮挡告警、临时身份证告警和身份证有效期不合法告警等扩展功能。
说明:
- 当前身份证识别的图片限制为:要求图片经 Base64 编码后不超过7M,分辨率建议500 × 800以上,支持 PNG、JPG、JPEG、BMP 格式。建议卡片部分占据图片2/3以上。
- 身份证识别为付费服务,计费详情请参见 内容识别费用。
- 该功能目前仅提供 API 使用方式。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
请求
上传时处理
身份证图片上传时识别的请求包与 COS 简单上传文件接口一致,只需增加相关处理参数,即可在图片上传时返回识别结果,并可将原图存入到 COS。
PUT /<ObjectKey>?ci-process=IDCardOCR&CardSide=<CardSide>&Config=<Config> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
说明:Authorization: Auth String (详情请参见 请求签名 文档)。
云上数据处理
云上数据处理请求能够对已存储在 COS 的身份证图片进行相应处理操作,返回识别结果。
GET /<ObjectKey>?ci-process=IDCardOCR&CardSide=<CardSide>&Config=<Config> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
说明:Authorization: Auth String (详情请参见 请求签名 文档)。
请求参数
参数名称 | 描述 | 类型 | 是否必选 |
---|---|---|---|
ObjectKey | 对象文件名,例如:folder/document.jpg | String | 是 |
ci-process | 对象存储处理能力,身份证识别固定为 IDCardOCR | String | 是 |
CardSide | 该参数如果不填,将为您自动判断身份证正反面 |
String | 否 |
Config | 以下可选字段均为 bool 类型,默认 false: 参数设置方式参考: Config = {"CropIdCard":true,"CropPortrait":true} |
String | 否 |
请求头
此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。
请求体
该请求无请求体。
响应
响应头
此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。
响应体
该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<IdInfo>
身份证识别信息
</IdInfo>
<AdvancedInfo>
身份证识别信息
</AdvancedInfo>
</Response>
具体的数据内容如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
Response | 无 | 保存结果的容器 | Container |
Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
IdInfo | Response | 身份证识别信息 | Container |
AdvancedInfo | Response | 扩展信息,不请求则不返回 | Container |
IdInfo身份证识别信息中包含如下内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
Name | IdInfo | 姓名(人像面) | String |
Sex | IdInfo | 性别(人像面) | String |
Nation | IdInfo | 民族(人像面) | String |
Birth | IdInfo | 出生日期(人像面) | String |
Address | IdInfo | 地址(人像面) | String |
IdNum | IdInfo | 身份证号(人像面) | String |
Authority | IdInfo | 发证机关(国徽面) | String |
ValidDate | IdInfo | 证件有效期(国徽面) | String |
AdvancedInfo扩展信息信息中包含如下内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
IdCard | AdvancedInfo | 裁剪后身份证照片的 Base64 编码,设置 Config.CropIdCard 为 true 时返回 | String |
Portrait | AdvancedInfo | 身份证头像照片的 Base64 编码,设置 Config.CropPortrait 为 true 时返回 | String |
Quality | AdvancedInfo | 图片质量分数,设置 Config.Quality 为 true 时返回(取值范围:0~100,分数越低越模糊,建议阈值≥50) | String |
BorderCodeValue | AdvancedInfo | 身份证边框不完整告警阈值分数,设置 Config.BorderCheckWarn 为 true 时返回(取值范围:0~100,分数越低边框遮挡可能性越低,建议阈值≥50) | String |
WarnInfos | IdInfo | 告警信息,Code 告警码列表和释义: 可能存在多个 WarnInfos |
String |
实际案例
请求
GET /test.jpg?ci-process=IDCardOCR&CardSide=FRONT&Config={"CropIdCard":true, "CropIdCard":true} HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0e****
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
响应
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 414641
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-image
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
<Response>
<IdInfo>
<Name>李明</Name>
<Sex>男</Sex>
<Nation>汉</Nation>
<Birth>1987/1/1</Birth>
<Address>北京市石景山区高新技术园腾讯大楼</Address>
<IdNum>440524198701010014</IdNum>
</IdInfo>
<AdvancedInfo>
<IdCard>裁剪后身份证照片的 Base64 编码</IdCard>
<Portrait>身份证头像照片的 Base64 编码</Portrait>
</AdvancedInfo>
</Response>
错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误信息请参见 错误码 文档。
错误码 | 描述 |
---|---|
FailedOperation.DownLoadError | 文件下载失败 |
FailedOperation.EmptyImageError | 图片内容为空 |
FailedOperation.IdCardInfoIllegal | 身份证信息不合法(身份证号、姓名字段校验非法等) |
FailedOperation.ImageBlur | 图片模糊 |
FailedOperation.ImageDecodeFailed | 图片解码失败 |
FailedOperation.ImageNoIdCard | 图片中未检测到身份证 |
FailedOperation.ImageSizeTooLarge | 图片尺寸过大,请参考输出参数中关于图片大小限制的说明 |
FailedOperation.MultiCardError | 照片中存在多张卡 |
FailedOperation.OcrFailed | OCR 识别失败 |
FailedOperation.UnKnowError | 未知错误 |
FailedOperation.UnOpenError | 服务未开通 |
InvalidParameter.ConfigFormatError | Config 格式错误 |
InvalidParameterValue.InvalidParameterValueLimit | 参数值错误 |
LimitExceeded.TooLargeFileError | 文件内容太大 |
ResourcesSoldOut.ChargeStatusException | 计费状态异常 |