## OCR / Contas / CPFL</h3>
Extrai dados via OCR do PDF de conta de energia elétrica da CPFL (Companhia Piratininga de Força e Luz).

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



| Parameter   | Description                                                                      |
| ----------- | -------------------------------------------------------------------------------- |
| token*      | The token that will authenticate and authorize the request.                      |
| pdf_base64* | Arquivo PDF da conta de energia convertido 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/contas/cpfl",
    "parameters": {
      "pdf_base64_md5": "2c75dd8328a129c3bf9079292be2aab5"
    },
    "client_name": "Minha Empresa",
    "token_name": "Token de Produção",
    "billable": true,
    "price": "0.1",
    "requested_at": "2023-02-03T12:38:10.000-03:00",
    "elapsed_time_in_milliseconds": 236,
    "remote_ip": "111.111.111.111",
    "signature": "U2FsdGVkX1+i/fRzxJopXmEetRpEZwkub8eqUsjx+0/doEObKPmQhq8XVMeIVX/1qasTqUBySR7bXJr/Xrz0KA=="
  },
  "data_count": 1,
  "data": [
    {
      "ano": 2020,
      "aviso": "Exemplo de Texto",
      "cliente": {
        "cpf": "123.456.789-01",
        "cnpj": "12.345.678/9012-34",
        "rg": "11.111.111-1",
        "nome": "Exemplo de Nome",
        "instalacao": "1234567890",
        "classificacao": "Convencional B2 Rural Agropecuária Rural",
        "padrao_de_conexao": "Trifásico 220 / 127 V",
        "pn": "1234567890",
        "normalizado_cpf": "12345678901",
        "normalizado_cnpj": "12345678901234"
      },
      "codigo_barras": "123456789012345678901234567890123456789012345678",
      "distribuidora": "cpfl_paulista",
      "endereco": "Avenida Paulista, 807. São Paulo. SP. Brasil.",
      "energia": {
        "energia_ativa_injetada_te": "",
        "normalizado_energia_ativa_injetada_te": 0.0,
        "energia_ativa_injetada_te_quantidade": "",
        "energia_ativa_injetada_te_tarifa": "",
        "energia_ativa_injetada_te_valor_total": "",
        "energia_ativa_injetada_tusd_quantidade": "",
        "energia_ativa_injetada_tusd_tarifa": "",
        "energia_ativa_injetada_tusd_valor_total": "",
        "credito_adicional_bandeira": "",
        "saldo_energia_instalacao": "",
        "normalizado_saldo_energia_instalacao": 0.0,
        "tarifa_aneel_tusd": "0,22048000",
        "normalizado_tarifa_aneel_tusd": 0.22048,
        "tarifa_aneel_te": "0,23068000",
        "normalizado_tarifa_aneel_te": 0.23068,
        "bandeiras_tarifarias": [
          {
            "bandeira": "Verde",
            "dias": 12
          },
          {
            "bandeira": "Vermelha P2",
            "dias": 19
          }
        ],
        "historico_consumo": [
          {
            "periodo": "2020 DEZ",
            "kwh": "790",
            "dias": "31"
          },
          {
            "periodo": "NOV",
            "kwh": "1030",
            "dias": "29"
          },
          {
            "periodo": "OUT",
            "kwh": "760",
            "dias": "32"
          },
          {
            "periodo": "SET",
            "kwh": "1070",
            "dias": "31"
          },
          {
            "periodo": "AGO",
            "kwh": "510",
            "dias": "32"
          },
          {
            "periodo": "JUL",
            "kwh": "1080",
            "dias": "29"
          },
          {
            "periodo": "JUN",
            "kwh": "720",
            "dias": "29"
          },
          {
            "periodo": "MAI",
            "kwh": "1090",
            "dias": "32"
          },
          {
            "periodo": "ABR",
            "kwh": "1390",
            "dias": "30"
          },
          {
            "periodo": "MAR",
            "kwh": "1060",
            "dias": "31"
          },
          {
            "periodo": "FEV",
            "kwh": "1190",
            "dias": "28"
          },
          {
            "periodo": "JAN",
            "kwh": "1070",
            "dias": "32"
          },
          {
            "periodo": "2019 DEZ",
            "kwh": "1370",
            "dias": "29"
          }
        ],
        "saldo_a_expirar": "",
        "energia_ativa": [],
        "energia_ativa_injetada_tusd_ouc_mpt_quantidade": "",
        "energia_ativa_injetada_tusd_ouc_mpt_tarifa": "",
        "energia_ativa_injetada_tusd_ouc_mpt_valor_total": "",
        "energia_ativa_injetada_tusd_ouc_opt_quantidade": "",
        "energia_ativa_injetada_tusd_ouc_opt_tarifa": "",
        "energia_ativa_injetada_tusd_ouc_opt_valor_total": "",
        "energia_ativa_injetada_te_ouc_mpt_quantidade": "",
        "energia_ativa_injetada_te_ouc_mpt_tarifa": "",
        "energia_ativa_injetada_te_ouc_mpt_valor_total": "",
        "energia_ativa_injetada_te_ouc_opt_quantidade": "",
        "energia_ativa_injetada_te_ouc_opt_tarifa": "",
        "energia_ativa_injetada_te_ouc_opt_valor_total": "",
        "energia_ativa_injetada_tusd_ouc_opt_pta_quantidade": "",
        "energia_ativa_injetada_tusd_ouc_opt_pta_tarifa": "",
        "energia_ativa_injetada_tusd_ouc_opt_pta_valor_total": "",
        "energia_ativa_injetada_te_ouc_opt_pta_quantidade": "",
        "energia_ativa_injetada_te_ouc_opt_pta_tarifa": "",
        "energia_ativa_injetada_te_ouc_opt_pta_valor_total": "",
        "total_consolidado_valor": "553,34"
      },
      "itens_fatura": [
        {
          "cod": "1111",
          "item": "Consumo Uso Sistema -TUSD-18.00%",
          "mes_ref": "DEZ/20",
          "quant": "790,000",
          "unidade": "kWh",
          "preco_com_tributos": "0,28510127",
          "valor": "225,23",
          "base_icms": "225,23",
          "aliq_icms": "18,00",
          "icms": "40,54",
          "base_piscofins": "225,23",
          "pis": "0,00",
          "cofins": "8,65"
        },
        {
          "cod": "1111",
          "item": "Consumo - TE-18.00%",
          "mes_ref": "DEZ/20",
          "quant": "790,000",
          "unidade": "kWh",
          "preco_com_tributos": "0,29830380",
          "valor": "235,66",
          "base_icms": "235,66",
          "aliq_icms": "18,00",
          "icms": "42,42",
          "base_piscofins": "235,66",
          "pis": "0,00",
          "cofins": "9,05"
        },
        {
          "cod": "1111",
          "item": "Adicional de Bandeira Vermelha",
          "mes_ref": "DEZ/20",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "39,07",
          "base_icms": "39,07",
          "aliq_icms": "18,00",
          "icms": "7,03",
          "base_piscofins": "39,07",
          "pis": "0,00",
          "cofins": "1,50"
        },
        {
          "cod": "1111",
          "item": "Subvenção Tarifária",
          "mes_ref": "DEZ/20",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "101,19",
          "base_icms": "101,19",
          "aliq_icms": "18,00",
          "icms": "18,21",
          "base_piscofins": "101,19",
          "pis": "0,00",
          "cofins": "3,89"
        },
        {
          "cod": "1111",
          "item": "Juros de Mora",
          "mes_ref": "OUT/20",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "4,94",
          "base_icms": "",
          "aliq_icms": "",
          "icms": "",
          "base_piscofins": "",
          "pis": "0,00",
          "cofins": ""
        },
        {
          "cod": "1111",
          "item": "Multa por Atraso Pgto",
          "mes_ref": "OUT/20",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "9,36",
          "base_icms": "",
          "aliq_icms": "",
          "icms": "",
          "base_piscofins": "",
          "pis": "0,00",
          "cofins": ""
        },
        {
          "cod": "1111",
          "item": "Atualização Monetária",
          "mes_ref": "OUT/20",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "16,14",
          "base_icms": "",
          "aliq_icms": "",
          "icms": "",
          "base_piscofins": "",
          "pis": "0,00",
          "cofins": ""
        },
        {
          "cod": "1111",
          "item": "Total Distribuidora",
          "mes_ref": "",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "631,59",
          "base_icms": "",
          "aliq_icms": "",
          "icms": "",
          "base_piscofins": "",
          "pis": "0,00",
          "cofins": ""
        },
        {
          "cod": "1111",
          "item": "Credito de Subvenção Tarifária",
          "mes_ref": "",
          "quant": "",
          "unidade": "",
          "preco_com_tributos": "",
          "valor": "78,25-     ",
          "base_icms": "",
          "aliq_icms": "",
          "icms": "",
          "base_piscofins": "",
          "pis": "0,00",
          "cofins": ""
        }
      ],
      "leitura_data": "11/11/1111",
      "mes": 12,
      "normalizado_valor": 553.34,
      "nota_fiscal": {
        "numero_serie": "Nº 111111111 Série X",
        "apresentacao_data": "11/11/1111",
        "pis": "0,00",
        "cofins": "3,84%",
        "icms": "18,00"
      },
      "proxima_leitura_data": "11/11/1111",
      "valor": "553,34",
      "vencimento": "13/01/2021"
    }
  ],
  "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/contas/cpfl'
args = {
  "pdf_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.
