## OCR / CNH (Carteira Nacional de Habilitação)</h3>
Extrai dados via OCR de uma imagem de CNH. A imagem enviada pode ter apenas a frente, apenas o verso ou os dois lados do documento de identificação.

### Request</h4>
URL for POST: `https://api.infosimples.com/api/v2/imagens/ocr/cnh`



| Parameter     | Description                                                                                      |
| ------------- | ------------------------------------------------------------------------------------------------ |
| token*        | The token that will authenticate and authorize the request.                                      |
| image_base64* | Arquivo (foto ou documento digitalizado) da CNH convertida para uma string codificada em Base64. |

> * Required parameter.

> ** Optional parameter. Sometimes it is necessary to set at least one of the optional parameters for the service to work properly.


### Response examples (OK)
```json
{
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": {
    "api_version": "v2",
    "product": "Imagens",
    "service": "ocr/cnh",
    "parameters": {
      "image_base64_md5": "bf12fd72075cf2eb64c38dd6c7453cd9"
    },
    "client_name": "Infosimples",
    "token_name": "Produção",
    "billable": true,
    "price": "0.0",
    "requested_at": "2021-12-03T08:33:12.000-03:00",
    "elapsed_time_in_milliseconds": 338,
    "remote_ip": "111.111.111.111",
    "signature": "U2FsdGVkX18ue8zQpzn42/kg+6+3BQtcnyC88m4DVXISqeGcapJhZJlBRZMALlHwn8G0O4MGKKR2ADqIhbNmGg=="
  },
  "data_count": 1,
  "data": [
    {
      "campos": {
        "foto": {
          "tipo": "imagem",
          "titulo": "Foto 3x4",
          "valor_base64": "imagem_codificada_em_base64"
        },
        "filiacao": {
          "tipo": "texto",
          "titulo": "Filiação",
          "valor": "NOME DE EXEMPLO UM\nNOME DE EXEMPLO DO\nIS",
          "score": 0.9
        },
        "validade": {
          "tipo": "texto",
          "titulo": "Data de Validade",
          "valor": "11/11/1111",
          "score": 0.9
        },
        "identidade": {
          "tipo": "texto",
          "titulo": "Documento de Identidade / Órgão Emissor / UF",
          "valor": "111111111 SSP/SP",
          "score": 0.9
        },
        "nascimento": {
          "tipo": "texto",
          "titulo": "Data de nascimento",
          "valor": "11/11/1111",
          "score": 0.9
        },
        "nome": {
          "tipo": "texto",
          "titulo": "Nome",
          "valor": "NOME DE EXEMPLO",
          "score": 0.9
        },
        "cpf": {
          "tipo": "texto",
          "titulo": "CPF",
          "valor": "111.111.111-11",
          "score": 0.9
        },
        "registro": {
          "tipo": "texto",
          "titulo": "Nº do Registro",
          "valor": "11111111111",
          "score": 0.9
        },
        "espelho": {
          "tipo": "texto",
          "titulo": "Nº Espelho",
          "valor": "1111111111",
          "score": 0.9
        },
        "data_1_habilitacao": {
          "tipo": "texto",
          "titulo": "Data 1ª Habilitação",
          "valor": "11/11/1111",
          "score": 0.9
        },
        "categoria": {
          "tipo": "texto",
          "titulo": "Categoria de Habilitação",
          "valor": "B",
          "score": 0.9
        },
        "permissao": {
          "tipo": "texto",
          "titulo": "Permissão",
          "valor": null,
          "score": 0.0
        },
        "acc": {
          "tipo": "texto",
          "titulo": "Autorização para Conduzir Ciclomotor (ACC)",
          "valor": null,
          "score": 0.0
        }
      },
      "image_base64": "imagem_codificada_em_base64",
      "keypoints": [
        [
          -0.34298038482666,
          3.87362337112427
        ],
        [
          623.470642089844,
          11.7902812957764
        ],
        [
          619.660522460938,
          456.531890869141
        ],
        [
          0.80883526802063,
          449.067901611328
        ]
      ],
      "tipo": "cnh_frente"
    }
  ],
  "site_receipts": []
}
````

### Code examples for API integration

#### Python
```python
# Tested with: Python 3.10.19, Python 3.14.0
import requests
import base64

url = 'https://api.infosimples.com/api/v2/imagens/ocr/cnh'
args = {
  "image_base64": base64.b64encode(open("path/to/file", "rb").read()).decode("ascii"),
  "token":        "INFORME_AQUI_O_TOKEN_DA_CHAVE_DE_ACESSO"
}

response = requests.post(url, args)
response_json = response.json()
response.close()

if response_json['code'] == 200:
  print("Successful result: ", response_json['data'])
elif response_json['code'] in range(600, 799):
  mensagem = "Unsuccessful result. Read on to learn more: \n"
  mensagem += "Code: {} ({})\n".format(response_json['code'], response_json['code_message'])
  mensagem += "; ".join(response_json['errors'])
  print(mensagem)

print("Response headers: ", response_json['header'])
```


## We are ready to help
Still have questions or need help with your integration? Contact us at <a href="mailto:suporte@infosimples.com.br">suporte@infosimples.com.br</a> and receive help from our highly qualified technical team.
