接口描述
针对驾驶证主页图片,进行OCR检测,返回检测到的驾驶证号、姓名、性别、国籍、住址、出生日期、初次领证日期、准驾车型、有效期限。驾驶证识别只支持主页识别。
备注:接口只允许单张图片请求,不允许图片list。
请求方法
POST
接口要求
- 目前仅支持 base64 编码方式请求,一次请求仅支持一条数据。
- 图片格式限制:目前仅支持 jpg、jpeg、png、bmp 格式。
- 图片大小限制:base64 编码后,图片大小不超过 7 MB。
- 图片尺寸限制:图片像素尺寸应不小于 32x32,不大于 5000x5000。
请求URI
/v1/aiop/api/3131mkjqbqck/driver-lisence/ocr/detect
请求参数
1.请求头header参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Content-Type | 是 | String | json 格式 | application/json | |
appkey | 是 | String | 平台应用appkey | 562b89493b1a40e1b97ea05e50dd8170 | |
ctyun-eop-request-id | 是 | String | 用户请求 id,由用户构造,用户可以通过 uuid 等方法自行生成唯一字符串,用于日志请求追踪。 详见文档:Python3调用示例 |
33dfa732-b27b-464f-b15a-21ed6845afd5 | |
eop-date | 是 | String | 请求时间,由用户构造,形如 yyyymmddTHHMMSSZ。 详见文档:Python3调用示例 |
20211221T163014Z | |
host | 是 | String | 终端节点域名,固定字段 | ai-global.ctapi.ctyun.cn | |
Eop-Authorization | 是 | String | 由天翼云官网 accessKey 和 securityKey 经签名后生成,参与签名生成的字段包括天翼云官网 accessKey 、securityKey、平台应用的appkey(非必须),用户请求 id(非必须),请求时间,终端节点域名(非必须)以及请求体内容。 签名逻辑详见文档:认证鉴权和Python3调用示例 |
2.请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Action | 是 | String | 算法名称,固定值“DriversLicense” | DriversLicense | |
ImageData | 是 | String | 图片 Base64 编码数据,图片需要使用常规 safe base64 编码方式,不包含前缀 "data:img/jpg;base64," | _9j_4AAQSkZJRgA... |
请求代码示例
Curl -X POST
"https://ai-global.ctapi.ctyun.cn/v1/aiop/api/3131mkjqbqck/driver-lisence/ocr/detect"
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.ctyun.cn"
--data '{"Action": "DriversLicense","ImageData": "_9j_4AAQSkZJRgA..."}'
返回值说明
1.请求成功返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Int | 请求响应状态码,返回 0 表示成功,返回错误代码参考下面的错误代码列表 | 0 | |
message | 是 | String | 如果statusCode为0,返回success;如果statusCode非0,则返回对应的可读错误信息 | success | |
returnObj | 是 | Object | 返回的驾驶证识别结果对象 | returnObj |
表returnObj
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
No | 是 | String | 身份证号 | 3101151992XX24XXXX | |
name | 是 | String | 姓名 | 刘XX | |
sex | 是 | String | 性别 | 男 | |
nation | 是 | String | 国籍 | 中国 | |
address | 是 | String | 住址 | 上海市长宁区XXX路900号 | |
date_birth | 是 | String | 出生日期 | 1992-12-24 | |
date_first | 是 | String | 初次领证日期 | 2020-10-25 | |
class | 是 | String | 准驾车型 | C1 | |
period | 是 | String | 有效期限 | 2020-10-25至2026-10-25 |
2.请求失败返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Int | 错误码,放置API对应的错误码 | 400003 | |
message | 是 | String | 返回对应的错误信息 | body内容为空 | |
details | 是 | String | 返回对应的错误描述 | Body请求数据为空,没有包含内容 |
返回值示例
1.请求成功返回值示例
{
"statusCode": 0,
"message": "success",
"returnObj": {
"No": "3101151992XX24XXXX",
"name": "刘XX",
"sex": "男",
"nation": "中国",
"address": "上海市长宁区XXX路900号",
"date_birth": "1992-12-24",
"date_first": "2020-10-25",
"class": "C1",
"period": "2020-10-25至2026-10-25"
}
}
2.请求失败返回值示例
{
"statusCode": 400003,
"message": "body内容为空",
"details": "Body请求数据为空,没有包含内容"
}
状态码
状态码 | 描述 |
---|---|
200 | 表示请求成功。 |
错误码说明
6 位错误码。4 开头为业务错误码,5 开头为服务错误码。
错误码 | 错误信息 | 错误描述 |
---|---|---|
400001 | 请求路径错误 | 请求路径错误 |
400002 | 请求方法错误 | 请求方法错误,请使用POST请求 |
400003 | 请求体内容为空 | 请求体请求数据为空,没有包含内容 |
400004 | 请求体非json格式 | 请求体内容需要符合json请求 |
400005 | 请求体类型错误 | 请求体需为字典,不能为其他类型 |
400006 | 必传的参数未传 | 必须的参数(Action、ImageData)未传 |
400008 | 请求体的参数字段类型错误 | Action、ImageData字段应该是String类型 |
400009 | 请求体的参数字段值为空 | Action、ImageData字段值为空字符 |
400010 | 请求体的参数字段值设置错误 | Action值设置错误 |
400011 | base64数据处理异常 | ImageData字段的base64字符串转换字节码异常 |
400012 | 文件格式不合法 | 仅支持 jpeg/png/jpg/bmp 格式 |
400013 | 文件大小不符合要求 | 该文件大小不符合要求,图片要求小于7M |
410001 | 图片解码错误 | 字节码解码为图片错误 |
410002 | 图片尺寸不符合要求 | 分辨率长宽尺寸应不高于5000不低于32 |
500001 | 服务接口异常,请联系管理员 | 需要联系管理员处理 |
base64 编码规则:使用常规的 safe base64 编码方式
- python 中推荐使用
base64.urlsafe_b64encode()
函数进行编码。 - java 中推荐使用
BASE64.getUrlEncoder().encodeToString()
函数进行编码。