# 票据识别

- url：/common/invoices/recognize
- method：POST
- 数据格式：JSON

# 说明

> - 异步批量票据识别接口。
> - 可以用[票据识别结果轮询接口](./invoice_identify.md)查看本批次票据的完成情况。
> - 接口支持普通票据识别、海关票识别。
> - 接口单次调用最多传入100份附件url。
> - 接口处理发票文件验签，请配置好相关文件验签配置。
> - 接口处理税额相关计算，请配置好相关税额配置。
> - 接口会进行发票抬头校验，请配置好相关发票抬头校验配置。
> - 接口会检查是否重复导入，对于重复导入票据会记录查验失败和错误信息invoice_message。

# 请求参数

| 字段名称      | 字段类型 | 字段描述                       | 是否必填 |
| :------------ | :------- | :----------------------------- | :------- |
| bizId         | String   | 业务唯一识别码                 | true     |
| data     | Object     | 本次识别参数 | true     |
| data.user_name     | String     | 用户名 | 用户名和员工号选填一个     |
| data.employee_number     | String     | 员工号 | 用户名和员工号选填一个  |
| data.language     | String     | 语言（默认zh_CN） | false     |
| data.file_name     | String[]     | 附件url（不能超过一百个） | true     |
| data.ocr_type     | String     | 具体请看[识别类型](#识别类型) |  false    |
| data.purchase_invoice     | String     | 采购发票（为Y时代表该票据放入采购发票池, 默认N） | false     |

# 响应参数

| 字段名称      | 字段类型 | 字段描述                       |
| :------------ | :------- | :----------------------------- |
| bizId         | String   | 业务唯一识别码（使用入参bizId返回） |
| resCode         | Integer   | 响应状态 （200000代表处理成功）|
| resMsg         | String   | 错误信息 （处理失败时会返回错误信息） |
| data         | Object   | 本次识别返回参数 |
| data.identification_id         | String   | 本次批量识别的标识id |



# 请求&响应结构示例

## 通用识别请求示例

```json
{
  "bizId": "33f03b40-abcb-4cc8-b1c0-358c022abb74",
  "data": {
    "employee_number": "yrhch6@163.com",
    "file_name": [
      "3bbe052a-94b8-403a-a911-c6c23f17c0f7.pdf",
      "31d7ab96-12f9-413f-90e1-5bfd0d37fb45.png"
    ]
  }
}
```

## 海关票识别请求示例

```json
{
  "bizId": "33f03b40-abcb-4cc8-b1c0-358c022abb74",
  "data": {
    "employee_number": "yrhch6@163.com",
    "file_name": [
      "3bbe052a-94b8-403a-a911-c6c23f17c0f7.pdf",
      "31d7ab96-12f9-413f-90e1-5bfd0d37fb45.png"
    ],
    "ocr_type": "customs"
  }
}
```

## 处理成功时响应示例

```json
{
  "bizId": "33f03b40-abcb-4cc8-b1c0-358c022abb74",
  "resCode": 200000,
  "resMsg": "导入票据成功！",
  "data": {
    "identification_id": "69f0022e-ef21-4ba3-b60b-0c031bd2babf"
  }
}
```

## 处理失败时响应示例

需要注意的是，不同的失败情况会提供不同的resCode与resMsg

```json
{
  "bizId": "33f03b40-abcb-4cc8-b1c0-358c022abb74",
  "resCode": 500000, 
  "resMsg": "导入票据失败！"
}
```

# 其它

## 识别类型

| 类型      | 描述 |
| :------------ | :------- |
| common         | 通用票据识别（默认的识别方式）   |
| customs         | 海关票识别（弃用，已经迁移到通用票据识别）   |
