1、接口描述
针对营业执照图片,进行OCR检测,返回检测到的统一社会信用代码,注册号,名称,类型,住所,法定代表人,注册资金,成立日期,营业期限,实收资本。
2、请求方法
POST
3、接口要求
- 图片格式限制:图片格式支持 png、jpg、jpeg、bmp格式
- 图片大小限制:单张图片大小不超过 7MB
- 图片尺寸限制:图片像素尺寸应不小于 32x32,不大于 5000x5000
4、URI
/v1/aiop/api/2k8jo3ghhjwg/businesslicense/ocr/v1/BusinessLicense.json
5、请求参数
请求头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调用示例 |
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Action | 是 | String | 请求参数放置于http body中,action代表需要请求的具体算法,只能为"BusinessCardOCR" | BusinessCardOCR | |
ImageData | 是 | String | 一张图像Base64编码数据string。图片需要使用常规safe base64编码方式,不包含前缀"data:img/jpg;base64," |
6、请求代码示例
Curl -X POST "https://ai-global.ctapi.ctyun.cn/v1/aiop/api/2k8jo3ghhjwg/businesslicense/ocr/v1/BusinessLicense.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": "BusinessCardOCR","ImageData": "9j_4AAQSkZJRgABAQAAAQABAAD_4QAwRXhpZgAATU0AKgAAA..."}'
7、返回值说明
请求成功返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Int | 返回状态,返回0表示成功,返回错误代码参考下面的错误代码列表 | 0 | |
message | 是 | String | 如果statusCode为0,返回success;如果statusCode非0,则返回对应的可读错误信息 | success | |
returnObj | 是 | Object | 识别的结果字典,字典内包营业执照的整体判断信息以及统一社会信用代码、名称、住所等详细键值对信息 | returnObj |
表returnObj
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
license_type | 是 | String | 营业执照的整体判断信息,'Business License'表示图片是营业执照,'Not Business License'表示图片不是营业执照 | Business License | |
detail | 是 | Object | 返回结果键值集合,包含统一社会信用代码、名称、住所等信息 | - | detail |
表detail
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
union_id | 是 | String | 统一社会信用代码 | - | |
regist_no | 是 | String | 注册号 | - | |
name | 是 | String | 名称 | - | |
type | 是 | String | 类型 | - | |
addr | 是 | String | 住所 | - | |
legal_rep | 是 | String | 法定代表人 | - | |
regist_captial | 是 | String | 注册资金 | - | |
establish_date | 是 | String | 成立日期 | - | |
operation_period | 是 | String | 营业期限 | - | |
real_captial | 否 | String | 实收资本(检测到双列营业执照返回此项,单列营业执照无此项信息) | - |
请求失败返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Int | 错误码,参见本文档错误码说明部分 | 400009 | |
message | 是 | String | 返回对应的错误信息 | Action值设置错误 | |
details | 是 | String | 返回对应的错误描述 | Action值设置错误 | |
error | 是 | String | 返回对应的错误码 | AI_OP_400009 |
8、返回值示例
请求成功返回值示例
{
"statusCode": 0,
"message": "success",
"returnObj": {
"license_type": "Business License",
"detail": {
"union_id": "",
"regist_no": "32050XXXXXX8749",
"name": "苏州市XXXX有限公司",
"type": "有限公司(自然人控股)",
"addr": "苏州市相城区XXXXXXXXX",
"legal_rep": "潘X",
"regist_captial": "200万元人民币",
"establish_date": "2005年6月9日",
"operation_period": "2005年06月09日至2015年06月08日",
"real_captial": "200万元人民币"
}
}
}
请求失败返回值示例
{
"statusCode": 400009,
"message": "Action值设置错误",
"details": "Action值设置错误",
"error":"AI_OP_400009"
}
9、状态码
http状态码 | 描述 |
---|---|
200 | 表示请求成功 |
10、错误码说明
6 位错误码。4 开头为业务错误码,5 开头为服务错误码。全局请求返回错误码请参考章节API概览>状态码
错误码 | 错误信息 | 错误描述 |
---|---|---|
AI_OP_400003 | body内容为空 | Body请求数据为空,没有包含内容 |
AI_OP_400004 | body请求体非json格式 | body内容需要符合json要求 |
AI_OP_400005 | 请求体类型错误 | 请求体需为字典,不能为其他类型 |
AI_OP_400006 | 必传的参数未传 | 必须的参数('Action'、'ImageData')未传 |
AI_OP_400007 | 传递非法参数 | body字典内有除('Action'、'ImageData')外的参数 |
AI_OP_400008 | 请求体的字段类型错误 | 请求体的字段('Action'、'ImageData')类型错误,类型只能为字符串,不能为其他类型 |
AI_OP_400009 | Action值设置错误 | Action值设置错误 |
AI_OP_400010 | 'ImageData'字段值为空字符 | 'ImageData'字段的base64字符串转换字节码异常 |
AI_OP_400011 | 'ImageData'字段base64数据处理异常 | 'ImageData'字段base64数据处理异常 |
AI_OP_400012 | 请求文件格式不合法 | 仅支持 jpeg/png/jpg/bmp 格式 |
AI_OP_400013 | 图片文件大小不符合要求 | 该文件大小不符合要求,静态图片要求小于7M |
AI_OP_400014 | 图片解码错误 | 字节码解码为图片错误 |
AI_OP_400015 | 图片尺寸不符合要求 | 分辨率长宽尺寸应不高于5000不低于32 |
AI_OP_500001 | 服务接口异常,请联系管理员 | 需要联系管理员处理 |
11、base64 编码规则:使用常规的 safe base64 编码方式
- python 中推荐使用
base64.urlsafe_b64encode()
函数进行编码 - java 中推荐使用
BASE64.getUrlEncoder().encodeToString()
函数进行编码