Boleto Utils CLI

This package exposes functionalities provided by the create [boleto-utils] as a CLI.

As the subject of this project is specific to Brazil, this document is written in brazilian portuguese.

Instalação

sh $ cargo install boleto-utils-cli

Garanta que ~/.cargo/bin está no seu PATH para que binários instalados com cargo install possam ser chamados diretamente no seu terminal.

Uso

Ajuda

```sh $ boleto --help

USAGE: boleto [SUBCOMMAND]

OPTIONS: -h, --help Print help information -V, --version Print version information

SUBCOMMANDS: digito-verificador Calcula o dígito verificador de um código de barras validando apenas o mínimo de dados necessário para realizar o cálculo [aliases: dv] help Print this message or the help of the given subcommand(s) info Analisa o código de barra retornando os dados extraídos [aliases: i] ```

Informações

Para ajuda em como usar o subcomando info basta usar o comando boleto info --help

```sh $ boleto info --help Analisa o código de barra retornando os dados extraídos

USAGE: boleto info [OPTIONS]

ARGS: Código de barras ou linha digitável

OPTIONS: -f, --format Formato da saída [default: text] [possible values: text, json, yaml] -h, --help Print help information -V, --version Print version information

```

Passando um código de barras:

```sh $ boleto info 30195917700001452780000000002310237287225104

        Tipo: Cobrança

Código de barras: 30195917700001452780000000002310237287225104 Linha digitável: 30190000030000231023372872251045591770000145278 Banco: [301] BPP Instituição de Pagamento S.A. Moeda: Real Valor: 1452.78 Data Vencimento: 2022-11-22 ```

Passando uma linha digitável:

```sh $ boleto info 868900000015238626752850720221223001810200058809

        Tipo: Arrecadação

Código de barras: 86890000001238626752857202212230081020005880 Linha digitável: 868900000015238626752850720221223001810200058809 Segmento: Carnês Valor: 123.86 ```

Retornando como JSON (usando --format json ou -f json):

```sh $ boleto info 30195917700001452780000000002310237287225104 --format json

        Tipo: Cobrança

Código de barras: 30195917700001452780000000002310237287225104 Linha digitável: 30190000030000231023372872251045591770000145278 Banco: [301] BPP Instituição de Pagamento S.A. Moeda: Real Valor: 1452.78 Data Vencimento: 2022-11-22 ```

Retornando como YAML (usando --format yaml ou -f yaml):

```sh $ boleto info 30195917700001452780000000002310237287225104 --format yaml

tipo: cobranca dados: codbarras: '30195917700001452780000000002310237287225104' linhadigitavel: '30190000030000231023372872251045591770000145278' infobanco: id: 301 nome: BPP Instituição de Pagamento S.A. codmoeda: Real data_vencimento: 2022-11-22 valor: 1452.78 ```

Dígitos verificadores

O subcomando digito-verificador ou dv recebe um código de barras ou linha digitável possivelmente inválidos e retorna o código de barras, a linha digitável, o dígito verificador geral e os dígitos verificadores dos campos da linha digitável calculados.

Obs.: o mínimo de campos é validado para que seja possível calcular os dígitos verificadores, ou seja, o código de barras e linha digitável retornados tem seus dígitos verificadores válidos porém não é garantido que outros campos sejam válidos. Se você quer validar todos os campos de um input, você deve usar o comando info.

Para ver ajuda do comando:

```sh $ boleto dv --help

Calcula o dígito verificador de um código de barras validando apenas o mínimo de dados necessário para realizar o cálculo

USAGE: boleto digito-verificador [OPTIONS]

ARGS: Código de barras ou linha digitável

OPTIONS: -f, --format Formato da saída [default: text] [possible values: text, json, yaml] -h, --help Print help information -V, --version Print version information ```

Calculando valores de código de barras:

```sh $ boleto dv 12345678901234567890123456789012345678901234

    DV geral: 5
   DV campos: 0 | 3 | 3

Código de barras: 12345678901234567890123456789012345678901234 Linha digitável: 12340123405678901234356789012343567890123456789

$ boleto dv 80800000000000000000000000000000000000000000

    DV geral: 7
   DV campos: 7 | 0 | 0 | 0

Código de barras: 80870000000000000000000000000000000000000000 Linha digitável: 808700000007000000000000000000000000000000000000 ```

Calculando valores de linha digitável:

```sh $ boleto dv 12345678901234567890123456789012345678901234567

    DV geral: 5
   DV campos: 0 | 3 | 3

Código de barras: 12345678901234567890123456789012345678901234 Linha digitável: 12340123405678901234356789012343567890123456789

$ boleto dv 808000000000000000000000000000000000000000001111

    DV geral: 9
   DV campos: 7 | 0 | 0 | 2

Código de barras: 80890000000000000000000000000000000000000111 Linha digitável: 808900000007000000000000000000000000000000001112 ```