天翼云护照识别API文档
文档简介:
1、接口描述。
针对新版护照图片,进行OCR检测,返回检测到的护照号码、姓名、性别等信息。本接口不适用于老版护照图片。
备注:接口只允许单张图片请求,不允许图片list。
1、接口描述
针对新版护照图片,进行OCR检测,返回检测到的护照号码、姓名、性别等信息。本接口不适用于老版护照图片。
备注:接口只允许单张图片请求,不允许图片list。
2、请求方法
POST
3、接口要求
- 目前仅支持 base64 编码方式请求,暂不支持 url 方式请求。一次请求仅支持一条数据。
- 图片格式限制:目前仅支持 jpg、jpeg、png、bmp 等常见格式。
- 图片大小限制:图片大小不超过 7 MB。
- 图片尺寸限制:图片像素尺寸应不小于 32x32,不大于 5000x5000。
4、请求URL
/v1/aiop/api/2k8jsx0rzxmo/passport/ocr/v1/Passport.json
5、请求参数
请求头header参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Content-Type | 是 | string | json 格式 | "application/json" | |
appkey | 是 | string | 诸葛 AI 应用 appkey | "562b89493b1a40e1b97ea05e50dd8170" |
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Action | 是 | string | 算法名称,只能为“PassportOCR” | PassportOCR | |
ImageData | 是 | string | 图片 Base64 编码数据,图片需要使用常规 safe base64 编码方式,不包含前缀 "data:img/jpg;base64," | "_9j_4AAQSkZJRgA" |
6、请求代码示例
Curl -X POST
"https://ai-global.ctapi.ctyun.cn/v1/aiop/api/2k8jsx0rzxmo/passport/ocr/v1/Passport.json"
-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": "PassportOCR","ImageData": "_9j_4AAQSkZJRgA......Zuv_9k="}复制
7、返回值说明
请求成功返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
code | 是 | int | 返回状态,返回 0 表示成功,返回错误代码参考下面的错误代码列表。 | 0 | |
message | 是 | string | 如果 code 为 0,返回 success;如果 code 非 0,则返回对应的可读错误信息。 | "success" | |
result | 是 | object | 返回的新版护照识别结果对象 | result |
表result
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
license_type | 是 | string | 护照的整体判断信息,"New_Passport"表示图片是新版护照,"Not Passport"表示图片不是护照 | "New_Passport" | |
detail | 是 | object | 返回结果键值集合,包含护照号码、姓名、性别等信息 | ||
detail.country_code | 是 | string | 国家码 | "CHN" | |
detail.passport_no | 是 | string | 护照号码 | "EXXXX7053" | |
detail.name | 是 | string | 姓名 | "陈XX" | |
detail.name_pinyin | 是 | string | 姓名拼音 | "CHEN,XXXXXXXX" | |
detail.sex | 是 | string | 性别 | "男/M" | |
detail.nationality | 是 | string | 国籍 | "中国/CHINESE" | |
detail.date_of_birth | 是 | string | 出生日期 | "19XXXX01" | |
detail.plate_of_birth | 是 | string | 出生地点 | "山东/SHANDONG" | |
detail.date_of_issue | 是 | string | 签发日期 | "2013XX24" | |
detail.plate_of_issue | 是 | string | 签发地点 | "上海/SHANGHAI" | |
detail.date_of_expiry | 是 | string | 有效期至 | "2023XX23" | |
detail.authority | 是 | string | 签发机关 | "公安部出入境管理局" | |
detail.mrzcode1 | 是 | string | MRZ代码1 | ||
detail.mrzcode2 | 是 | string | MRZ代码2 |
请求失败返回响应参数
参数 | 是否必填 | 参数类型 | 说明 |
---|---|---|---|
code | 是 | int | 错误码,放置API对应的错误码 |
message | 是 | string | 返回对应的错误信息 |
details | 是 | string | 返回对应的错误描述 |
8、返回值示例
请求成功返回值示例
{
"code": 0,
"message": "success",
"result": {
"license_type": "New_Passport",
"detail":
{
"country_code": "CHN",
"passport_no": "EXXXX7053",
"name": "陈XX",
"name_pinyin": "CHEN,XXXXXXXX",
"sex": "男/M",
"nationality": "中国/CHINESE",
"date_of_birth": "19XXXX01",
"plate_of_birth": "山东/SHANDONG",
"date_of_issue": "2013XX24",
"plate_of_issue": "上海/SHANGHAI",
"date_of_expiry": "2023XX23",
"authority": "公安部出入境管理局",
"mrzcode1": "POCHNCHEN<<XXXXXXXX<<<<<<<<<<<<<<<<<<<<<<<<<",
"mrzcode2": "EXXXX70537CHNXXXX018M23XX235MCXXXXXX<<<<AXX0"
}
}
}
}复制
请求失败返回值示例
{
"code": 400003,
"message": "body内容为空",
"details": "Body 请求数据为空,没有包含内容"
}复制
9、状态码
状态码 | 描述 |
---|---|
200 | 表示请求成功。 |
10、错误码说明
6 位错误码。4 开头为业务错误码,5 开头为服务错误码。
错误码 | 错误信息 | 错误描述 |
---|---|---|
400003 | Body 内容为空 | Body 请求数据为空,没有包含内容 |
400006 | 必传的参数未传 | 必须的参数(Action、ImageData)未传 |
400008 | 请求体的字段类型错误 | 请求体的字段(Action、ImageData)类型错误,类型只能为字符串,不能为其他类型 |
400009 | Action 值设置错误 | Action 值设置错误 |
400010 | ImageData 字段值为空字符 | ImageData 字段值为空字符 |
400011 | ImageData 字段 base64 数据处理异常 | ImageData 字段的 base64 字符串转换字节码异常 |
400012 | 请求文件格式不合法 | 仅支持 jpeg/png/jpg/bmp 格式 |
400013 | 图片文件大小不符合要求 | 该文件大小不符合要求,静态图片要求小于 7M |
400014 | 图片解码错误 | 字节码解码为图片错误 |
400015 | 图片尺寸不符合要求 | 分辨率长宽尺寸应不高于 5000 不低于 32 |
500001 | 服务接口异常,请联系管理员 | 需要联系管理员处理 |
11、支持的证件示例
本接口支持新版护照图片,如图所示:
本接口不适用于老版护照图片。以下图片不支持:
12、base64 编码规则:使用常规的 safe base64 编码方式
- python 中推荐使用 base64.urlsafe_b64encode() 函数进行编码。
- java 中推荐使用 BASE64.getUrlEncoder().encodeToString() 函数进行编码。