# 营业执照识别

[调试诊断](https://developers.weixin.qq.com/console/devtools/debug?utm_source=api_tools)

> 接口应在服务器端调用，不可在前端（小程序、网页、APP等）直接调用，具体可参考[接口调用指南](/doc/oplatform/developers/dev/guide.md)。

接口英文名：bizlicenseOcr

本接口提供营业执照 OCR 识别能力

## 1. 调用方式

### HTTPS 调用

```bash
POST https://api.weixin.qq.com/cv/ocr/bizlicense?access_token=ACCESS_TOCKEN&img_url=ENCODE_URL
```

### 云调用

- 调用方法：ocr.businessLicense

- 出入参和 HTTPS 调用相同，调用方式可查看 [云调用](/doc/oplatform/developers/dev/cloudCall.md) 说明文档。

### 第三方调用

- 本接口支持第三方平台代商家调用。

- 该接口所属的权限集 id 为：117

- 服务商获得其中之一权限集授权后，可通过使用 [authorizer_access_token](/doc/oplatform/developers/dev/AuthorizerAccessToken.md) 代商家进行调用，具体可查看 [第三方调用](/doc/oplatform/Third-party_Platforms/2.0/Before_Develop/call_interface.md) 说明文档。

## 2. 请求参数

### 查询参数 `Query String Parameters`

```json
[
  {
    "参数名": "access_token",
    "类型": "string",
    "必填": "是",
    "示例": "ACCESS_TOCKEN",
    "说明": "接口调用凭证，可使用 [access_token](/doc/subscription/api/base/api_getaccesstoken)、[authorizer_access_token](/doc/oplatform/openApi/ticket-token/api_getauthorizeraccesstoken.md)"
  },
  {
    "参数名": "img_url",
    "类型": "string",
    "必填": "否",
    "示例": "ENCODE_URL",
    "说明": "要检测的图片 url，传这个则不用传 img 参数。"
  }
]
```

### 请求体 `Request Payload`

```json
[
  {
    "参数名": "img",
    "类型": "formdata",
    "必填": "是",
    "说明": "form-data 中媒体文件标识，有filename、filelength、content-type等信息，传这个则不用传 img_url。"
  }
]
```

## 3. 返回参数

### 返回体 `Response Payload`

```json
[
  {
    "参数名": "errcode",
    "类型": "number",
    "说明": "错误码"
  },
  {
    "参数名": "errmsg",
    "类型": "string",
    "说明": "错误信息"
  },
  {
    "参数名": "reg_num",
    "类型": "string",
    "说明": "注册号"
  },
  {
    "参数名": "serial",
    "类型": "string",
    "说明": "编号"
  },
  {
    "参数名": "legal_representative",
    "类型": "string",
    "说明": "法定代表人姓名"
  },
  {
    "参数名": "enterprise_name",
    "类型": "string",
    "说明": "企业名称"
  },
  {
    "参数名": "type_of_organization",
    "类型": "string",
    "说明": "组成形式"
  },
  {
    "参数名": "address",
    "类型": "string",
    "说明": "经营场所/企业住所"
  },
  {
    "参数名": "type_of_enterprise",
    "类型": "string",
    "说明": "公司类型"
  },
  {
    "参数名": "business_scope",
    "类型": "string",
    "说明": "经营范围"
  },
  {
    "参数名": "registered_capital",
    "类型": "string",
    "说明": "注册资本"
  },
  {
    "参数名": "paid_in_capital",
    "类型": "string",
    "说明": "实收资本"
  },
  {
    "参数名": "valid_period",
    "类型": "string",
    "说明": "营业期限"
  },
  {
    "参数名": "registered_date",
    "类型": "string",
    "说明": "注册日期/成立日期"
  },
  {
    "参数名": "cert_position",
    "类型": "object",
    "说明": "营业执照位置"
  },
  {
    "参数名": "img_size",
    "类型": "object",
    "说明": "图片大小"
  }
]
```

### Res.cert_position `Object Payload`

营业执照位置

```json
[
  {
    "参数名": "pos",
    "类型": "object",
    "说明": "位置信息"
  }
]
```

### Res.img_size `Object Payload`

图片大小

```json
[
  {
    "参数名": "w",
    "类型": "number",
    "说明": "宽度"
  },
  {
    "参数名": "h",
    "类型": "number",
    "说明": "高度"
  }
]
```

### Res.cert_position.pos `Object Payload`

位置信息

```json
[
  {
    "参数名": "left_top",
    "类型": "object",
    "说明": "左上角位置"
  },
  {
    "参数名": "right_top",
    "类型": "object",
    "说明": "右上角位置"
  },
  {
    "参数名": "right_bottom",
    "类型": "object",
    "说明": "右下角位置"
  },
  {
    "参数名": "left_bottom",
    "类型": "object",
    "说明": "左下角位置"
  }
]
```

### Res.cert_position.pos.left_top `Object Payload`

左上角位置

```json
[
  {
    "参数名": "x",
    "类型": "number",
    "说明": "x坐标"
  },
  {
    "参数名": "y",
    "类型": "number",
    "说明": "y坐标"
  }
]
```

### Res.cert_position.pos.right_top `Object Payload`

右上角位置

```json
[
  {
    "参数名": "x",
    "类型": "number",
    "说明": "x坐标"
  },
  {
    "参数名": "y",
    "类型": "number",
    "说明": "y坐标"
  }
]
```

### Res.cert_position.pos.right_bottom `Object Payload`

右下角位置

```json
[
  {
    "参数名": "x",
    "类型": "number",
    "说明": "x坐标"
  },
  {
    "参数名": "y",
    "类型": "number",
    "说明": "y坐标"
  }
]
```

### Res.cert_position.pos.left_bottom `Object Payload`

左下角位置

```json
[
  {
    "参数名": "x",
    "类型": "number",
    "说明": "x坐标"
  },
  {
    "参数名": "y",
    "类型": "number",
    "说明": "y坐标"
  }
]
```

## 4. 注意事项

- 支持已认证的订阅号、服务号、企业号、小程序可直接调用，次数限制为100次/天。如有更高额度调用需求，可前往[服务平台](https://fuwu.weixin.qq.com/service/detail/000ce4cec24ca026d37900ed551415)进行购买。
- 使用 Tips 此接口为后台接口，可基于自有业务承载情况，搭配小程序的拍照、相册选照等一起使用，即可完成身份证照片的采集、上传、识别、信息返回等流程，用于需要基于身份证、银行卡等实体卡或证，采集照片或文字信息等的业务场景。
- 图片说明 ，文件大小限制：小于2M
- 返回字段仅包含当前营业执照图片中存在的字段，若对应字段不存在则不返回

## 5. 代码示例

### 5.1 上传文件请求

请求示例

``` bash
curl -F 'img=@test.jpg' "https://api.weixin.qq.com/cv/ocr/bizlicense?access_token=ACCESS_TOCKEN" 
```

返回示例

``` json
{
    "errcode": 0, 
    "errmsg": "ok", 
    "reg_num": "123123",//注册号
    "serial": "123123",//编号
    "legal_representative": "张三", //法定代表人姓名
    "enterprise_name": "XX饮食店", //企业名称
    "type_of_organization": "个人经营", //组成形式
    "address": "XX市XX区XX路XX号", //经营场所/企业住所
    "type_of_enterprise": "xxx", //公司类型
    "business_scope": "中型餐馆(不含凉菜、不含裱花蛋糕，不含生食海产品)。", //经营范围
    "registered_capital": "200万", //注册资本
    "paid_in_capital": "200万", //实收资本
    "valid_period": "2019年1月1日", //营业期限
    "registered_date": "2018年1月1日", //注册日期/成立日期
    "cert_position": { //营业执照位置
        "pos": {
            "left_top": {
                "x": 155, 
                "y": 191
            }, 
            "right_top": {
                "x": 725, 
                "y": 157
            }, 
            "right_bottom": {
                "x": 743, 
                "y": 512
            }, 
            "left_bottom": {
                "x": 164, 
                "y": 525
            }
        }
    }, 
    "img_size": { //图片大小
        "w": 966, 
        "h": 728
    }
}
```

### 5.2 上传链接请求

请求示例

``` bash
curl "https://api.weixin.qq.com/cv/ocr/bizlicense?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN"
```

返回示例

``` json
{
    "errcode": 0, 
    "errmsg": "ok", 
    "reg_num": "123123",//注册号
    "serial": "123123",//编号
    "legal_representative": "张三", //法定代表人姓名
    "enterprise_name": "XX饮食店", //企业名称
    "type_of_organization": "个人经营", //组成形式
    "address": "XX市XX区XX路XX号", //经营场所/企业住所
    "type_of_enterprise": "xxx", //公司类型
    "business_scope": "中型餐馆(不含凉菜、不含裱花蛋糕，不含生食海产品)。", //经营范围
    "registered_capital": "200万", //注册资本
    "paid_in_capital": "200万", //实收资本
    "valid_period": "2019年1月1日", //营业期限
    "registered_date": "2018年1月1日", //注册日期/成立日期
    "cert_position": { //营业执照位置
        "pos": {
            "left_top": {
                "x": 155, 
                "y": 191
            }, 
            "right_top": {
                "x": 725, 
                "y": 157
            }, 
            "right_bottom": {
                "x": 743, 
                "y": 512
            }, 
            "left_bottom": {
                "x": 164, 
                "y": 525
            }
        }
    }, 
    "img_size": { //图片大小
        "w": 966, 
        "h": 728
    }
}
```

### 5.3 云函数调用示例

请求示例

``` js
cloud.openapi.ocr.businessLicense({
  img: {
    contentType: 'image/png',
    value: Buffer
  }
})
```

返回示例

``` json
{
    "errcode": 0,
    "errmsg": "ok",
    "reg_num": "123123",                                                     //注册号
    "serial": "123123",                                                      //编号
    "legalRepresentative": "张三",                                          //法定代表人姓名
    "enterprise_name": "XX饮食店",                                           //企业名称
    "typeOfOrganization": "个人经营",                                      //组成形式
    "address": "XX市XX区XX路XX号",                                           //经营场所/企业住所
    "typeOfEnterprise": "xxx",                                             //公司类型
    "businessScope": "中型餐馆(不含凉菜、不含裱花蛋糕，不含生食海产品)。",  //经营范围
    "registeredCapital": "200万",                                           //注册资本
    "paidInCapital": "200万",                                              //实收资本
    "validPeriod": "2019年1月1日",                                          //营业期限
    "registeredDate": "2018年1月1日",                                       //注册日期/成立日期
    "certPosition": {                                                       //营业执照位置
        "pos": {
            "left_top": {
                "x": 155,
                "y": 191
            },
            "right_top": {
                "x": 725,
                "y": 157
            },
            "right_bottom": {
                "x": 743,
                "y": 512
            },
            "left_bottom": {
                "x": 164,
                "y": 525
            }
        }
    },
    "imgSize": { //图片大小
        "w": 966,
        "h": 728
    }
}
```

## 6. 错误码

以下是本接口的错误码列表，其他错误码可参考 [通用错误码](/doc/oplatform/developers/errCode/README.md)；调用接口遇到报错，可使用官方提供的 [API 诊断工具](https://developers.weixin.qq.com/console/devtools/debug?utm_source=api_errcode) 辅助定位和分析问题。

```json
[
  {
    "错误码": "-1",
    "错误描述": "system error",
    "解决方案": "系统繁忙，此时请开发者稍候再试"
  },
  {
    "错误码": "40001",
    "错误描述": "invalid credential  access_token isinvalid or not latest",
    "解决方案": "获取 access_token 时 AppSecret 错误，或者 access_token 无效。请开发者认真比对 AppSecret 的正确性，或查看是否正在为恰当的公众号调用接口"
  },
  {
    "错误码": "101000",
    "错误描述": "invalid image url",
    "解决方案": ""
  },
  {
    "错误码": "101001",
    "错误描述": "certificate not found",
    "解决方案": ""
  },
  {
    "错误码": "101002",
    "错误描述": "decode image failed",
    "解决方案": "图片大小超过限制，resp_type = 0: 2MB，resp_type = 1: 10MB"
  },
  {
    "错误码": "101003",
    "错误描述": "not enough market quota",
    "解决方案": ""
  }
]
```

## 7. 适用范围

本接口在不同账号类型下的可调用情况：

```json
[
  {
    "小程序": "✔",
    "公众号": "仅认证",
    "服务号": "仅认证"
  }
]
```

- ✔：该账号可调用此接口。
- 仅认证：表示仅允许企业主体已认证账号调用，未认证或不支持认证的账号无法调用。
- 其他未明确声明的账号类型，如无特殊说明，均不可调用此接口。
