Quando algo dá errado¶
A CLI escreve os erros em stderr, em português, com a explicação que o banco deu e, quando
há o que sugerir, uma linha que começa com dica:. O primeiro passo é ler a mensagem inteira.
O segundo é o código de saída, que diz a categoria do
problema.
Ver o que a CLI está fazendo¶
Com -v, e com -vv para mais detalhes, a CLI mostra em stderr cada requisição: o método, o
caminho, o status e o tempo. Ela nunca mostra tokens, segredos nem o corpo das respostas,
então a saída serve para pedir ajuda.
$ inter-pj -v saldo
O arquivo de configuração não é lido¶
O erro mais comum, no Windows, é um caminho entre aspas duplas. No TOML, a barra invertida
começa um escape, e "C:\Users\..." não é um arquivo válido:
PS> inter-pj config mostrar
erro: arquivo de configuração inválido (C:\Users\voce\AppData\Roaming\inter-pj\config.toml, linha 7): o valor de certificado está entre aspas duplas e tem uma barra invertida, que em TOML começa um escape; nos caminhos do Windows, use aspas simples (certificado = 'C:\pasta\arquivo')
dica: `inter-pj config verificar` mostra a correção de cada linha; com `--corrigir`, ele a aplica e guarda uma cópia do arquivo original
O config verificar aponta cada problema com a linha e a correção:
PS> inter-pj config verificar
Arquivo: C:\Users\voce\AppData\Roaming\inter-pj\config.toml
erro linha 7, certificado: caminho do Windows entre aspas duplas: em TOML, a barra invertida começa um escape (\U pede 8 dígitos hexadecimais), e o arquivo não é lido
corrija para: certificado = 'C:\Users\voce\inter\certificado.crt'
erro linha 8, chave_privada: caminho do Windows entre aspas duplas: em TOML, a barra invertida começa um escape (\U pede 8 dígitos hexadecimais), e o arquivo não é lido
corrija para: chave_privada = 'C:\Users\voce\inter\chave.key'
2 erros e 0 avisos.
Para trocar as aspas: inter-pj config verificar --corrigir
erro: a configuração tem 2 erros
Com --corrigir, ele troca as aspas duplas dos caminhos do Windows por aspas simples e guarda o
original em config.toml.bak:
PS> inter-pj config verificar --corrigir
O comando sai com o código 3 se encontrar algum erro, e --json dá o resultado para scripts. O
client_secret nunca aparece, e a conta corrente sai mascarada, como no config mostrar.
Os exemplos acima são ilustrativos
Os caminhos e os números de linha são de um arquivo de exemplo. As mensagens da sua máquina terão os seus caminhos.
Credenciais, escopos e acesso negado (código 4)¶
client_idouclient_secreterrados: rodeinter-pj auth token --escopo extrato.read. Ele valida as credenciais sem fazer mais nada.- Escopo que a integração não tem: o banco recusa o token inteiro. Habilite o escopo na
integração, no Internet Banking PJ, ou tire-o da lista
escoposdo perfil. - Ambiente errado: confira com
inter-pj config mostrarse oambientedo perfil é o da integração que você criou. - Segredo ausente: defina
INTER_CLIENT_SECRET. Oconfig verificarmostra se oclient_secretestá definido e de onde ele vem, sem revelá-lo.
O certificado ou a chave¶
O config verificar confere se o certificado e a chave são lidos e aceitos pela biblioteca TLS.
A CLI recusa uma chave privada protegida por senha, com uma mensagem explicando. Se a CLI
avisar que o arquivo de configuração (com o client_secret) ou a chave podem ser lidos por
outros usuários, o aviso traz o comando que resolve: chmod 600 no arquivo.
O limite de requisições (código 6)¶
O endpoint de token do Inter aceita 5 chamadas por minuto. Se um script esgotou o limite,
a CLI espera e tenta de novo, respeitando o Retry-After; se o banco pedir uma espera maior
do que a CLI aceita aguardar, ela desiste na hora, com a dica de esperar. Veja
tokens e o limite de chamadas.
Uma consulta rejeitada pela API (código 5)¶
A API recusou os parâmetros (400, 404, 409 ou 422). A mensagem traz a explicação do
banco.
No extrato, um período de mais de 90 dias a CLI confere antes de chamar a API.
--dividir-periodo consulta períodos maiores em partes, como mostra o
guia do extrato.
Pedindo ajuda¶
Abra uma issue com a versão
(inter-pj --version), o sistema, o comando e a saída com -v. Antes de colar qualquer
coisa, remova os dados identificáveis: números de conta, CPF e CNPJ, nomes e respostas reais
da API. Nunca cole credenciais.
Uma falha de segurança não vai numa issue pública: veja segurança e privacidade.