GF - Como Fazer - Open Banking para Banco Itaú

De CIGAM WIKI
Revisão de 17h22min de 21 de março de 2022 por Claudia.Felles (discussão | contribs) (Serviços Disponíveis pela API do Banco nesta Versão)


Índice

O que significa Open Banking?

Open Banking é um conceito relativamente novo na realidade do mercado financeiro brasileiro. Porém, ele tem ganhado cada vez mais atenção em todo o mundo. Traduzido, o termo significa “banco aberto”, mas uma tradução mais precisa seria “sistema financeiro aberto”. O conceito em si trata de algo de simples compreensão. Basicamente, Open Banking é a defesa de que o sistema financeiro adote a tecnologia de forma mais ampla e padronizada, como forma de incentivar e ampliar a oferta e a qualidade dos produtos e serviços financeiros. A base do Open Banking está na premissa de que os dados pertencem aos consumidores. Logo, caso eles autorizem, esses dados devem ser disponibilizados para que eles possam ter acesso a produtos e serviços que forem mais convenientes. Na prática, há um pedido para que as instituições abram suas API’s (sigla em inglês para Interface de Programação de Aplicativos) para que terceiros desenvolvam e aprimorem os sistemas e suas funcionalidades. O objetivo do Open Banking é desenvolver sistemas integrados, que facilitem o controle e transferência de informações de dados, histórico, contas, empréstimos etc. Todo o tipo de produto e serviço oferecido pelos bancos seria integrado de maneira a evitar processos complicados e dispendiosos. À primeira vista, pode parecer que com o Open Banking as informações dos clientes ficarão soltas e desprotegidas. No entanto, os bancos e instituições financeiras ainda serão responsáveis pela proteção de dados sigilosos.

Serviços Disponíveis pela API do Banco nesta Versão

SERVIÇO COBRANÇA
Registro de Boleto via API SIM
Open Banking PIX no Boleto NÃO
Retorno de Cobrança via API NÃO
Alteração de Juros via API NÃO
Alteração de Multa via API NÃO
Alteração de Vencimento via API NÃO
Alteração de Baixa via API NÃO

Como obter as Credenciais para utilizar a última versão da Funcionalidade Open Banking?

A partir de 01/01/2022

Pré-requisitos

Visual Studio Code
Java
OpenSSL

Solicitação de Abertura de Chamado

Para iniciar o processo de obtenção de credenciais será necessário entrar em contato com o seu gerente de cash (quem gerencia a sua conta corrente que fará os registros de boleto) e solicitar a abertura de um chamado para o uso das APIs, no caso da cobrança será a API de Cash Management.
Após a solicitação de abertura do chamado, o cliente receberá as orientações do processo por e-mail.

Orientações

1- Acessar o Portal Developers com o usuário do responsável da conta corrente e ler a documentação CASH MANAGEMENT voltada para a API - Cobrança;

Todas APIS
Todas APIS Itau.png


API cash_management
API Cash Management.png


Documentações API cash_management
Documentacoes API Cash Management.png


2- Utilizar-se do SANDBOX para seus testes estruturais;

3- Para geração de Certificado se faz necessário a criação da Chave Pública e envio para o Itaú para serem criados a Credencial e o Token, necessários para o processo.

Chave Pública

Nesta etapa iremos obter o par de chaves gerando a Chave Pública, dando origem à um arquivo ".pem" que deve ser enviado ao gerente de cash para que o mesmo entre em contato com o time de atendimento e dê continuidade ao processo de abertura do chamado. O Par de Chaves sera utilizado para criptografar e decifrar o Token Temporário(access_token_tmp) e o Client ID(CLIENT_ID) quando enviados por e-mail.

Para visualizar o documento no Portal Developers faça login com a conta do seu Gerente de Cash e siga os próximos passos:

Todas APIS
Todas APIS Itau.png


API cash_management
API Cash Management.png


Documentações API cash_management
Documentacoes API Cash Management.png


Documentação Obtenção do par de chaves
Obtencao do par de chaves.png


Orientações para obter o Par de Chaves

Verificação OpenSSL

Execute o seguinte comando em um terminal de seu sistema operacional para verificar se possui o OpenSSL instalado:

    openssl version
    OpenSSL 1.1.1c  28 May 2019 #deverá ser apresentado a versão instalada no ambiente
    


No exemplo deste manual utilizaremos o Terminal Git Bash no Visual Studio Code para o processo de geração do Par de Chaves.

Terminal Git Bash >>>AJUSTE<<<
Terminal Git Bash.png


Retorno do comando >>>>AJUSTE<<<<
Verificacao OpenSSL.png


Caso não obtenha retorno, instale o aplicativo OpenSSL e tente novamente.

Comando - Par de Chaves RSA

Para gerar seu par de chaves RSA, execute o seguinte comando. Você necessitará gerar a chave privada (para decifrar) e a pública (para criptografar):

    openssl genpkey -out private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048
    openssl rsa -in private.pem -pubout -out public.pem
    



Execução do Comando


Arquivos Gerados


Após os passos anteriores, informe ao time de atendimento o conteúdo do arquivo public.pem (gerado no passo anterior)

Exemplo do arquivo public.pem:

    BEGIN PUBLIC KEY
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwtCm21MHeGMHN8e4uAZi U/pKoIrtLoyOuoLmpogmWdiV2OJz3OjysQf7JLE1o7xmkwHI8JGg41wuUv+CF6Ax 0kk3EwV6AVkLnI2lOAY2LbrgwDtsGQh6gslIUJhiadHqwwnezBanTIgV+Z4sa02O SWZGbWufXJ9PVP91LXy/d4oyHGbKMVUQlyK350+iL8Pw0reTy6MiKKPrdSaKkj87 PhrE/Fd3vIE1ANqhJjIgHNtB4iqo4VF8bBZKohkShu8IA5Y3uV2OkMz3lD/jNtJn 8J7D7uKYCB8Xy9Sy/8O+rwvyly7i7nWLG1zpVz7KD7+3KWrnmuf2o1gefCin1FLv pwIDAQAB
    END PUBLIC KEY

Recebimento do Token Temporário

O primeiro passo para a ativação do certificado é solicitar o token temporário access_token_tmp e o client id CLIENT_ID através dos canais de suporte, combinados com o seu representante comercial Itaú, para possibilitar a geração do arquivo de certificado que será enviado nas chamadas de nossas APIs.
Para solicitar essas informações, é necessário, previamente, ter um par de chaves RSA, obtidos no passo anterior (Orientações para obter o Par de Chaves). Você pode enviar um único e-mail contendo sua chave pública, do par RSA que o Itaú irá criptografar seu token temporário access_token_tmp e client id CLIENT_ID e encaminha-los para que consiga seguir o fluxo. Em posse do email, será necessário decriptar os dados recebidos (Decifrar credenciais) com sua chave privada, do par RSA.
O prazo para a resposta da equipe de atendimento com o envio do token é de até 1 dia útil e o envio também será feito para o e-mail do responsável pelo envio da solicitação.
Vale ressaltar que o Token enviado tem validade de 7 dias para o início do fluxo de geração de certificado e caso o token não seja utilizado dentro desse período você precisará enviar novamente a requisição pelo formulário e aguardar o tempo de resposta.
Fique muito atento à resposta do e-mail com o envio do token. O SLA médio de resposta é de 1 dia útil e a validade do token temporário é de apenas 7 dias.

    Fique muito atento à resposta do e-mail com o envio do token. O SLA médio de resposta é de 1 dia útil e a validade do token temporário é de apenas 7 dias.
    

Decifrar credenciais

Pré-requisito → JDK 8+

Após o envio das credenciais pelo time de atendimento, chegará em seu endereço de email, uma mensagem parecida com essa:

     E-mail de credenciais
    
    Olá parceiro, seja bem vindo ao Itaú_
    
    Você já pode gerar seu certificado dinâmico com as credenciais abaixo:
    
    ClientId:  KWMMqDhJ+p/2fejfX2uktyDnAjT8B3u2FZCyPlyA5U5t3IU4VVcS6wY5KG+SZO+a
    
    Token Temporário: +B8tD52L3qrexAjr3vinhj1FGrfr/iGzx/lKhE2mHJPcjOCnLbCcqP52w3YDXNL+Zi2RKmEp0ZwRFzZYJzWNBMiQh65CKTIRMPBA/2GSQmreMz22dVf8YN2TcjMWtRJzPZRtu/WPUER1izEDWJdUFjMUlJQojUyDZZ2TJ6+B6io7k9ng18djcFmhDQYAbkCMl8oQymgXj8EYCMquWIW7DTK6Srw04VjIktc/eidzYRCpF94/U5uVIAXbrjVwBg9vxbGLiTU1NPR2doWdkA8u+HpZDX+SJjAun6BCD43JGudFI93/YreqvvKD1/QtZg57lTxt7NAw5Brqg4NU/flLF/djN8+c/gLuK/PbnNezWZ6dmdeHO7R2B/efcXvdztFGoXftwzz8FnfC8ZR3gPppIEOeDppduVhw3AXCquwMKDFKxlHaCsZcNwhFIOZvmvXzs1RHo8SoZmpXrdm5BjFZp/2NIprUNOXyMVYxa6NEm3Bv4HwTeE75yQ8xLSjzipThyB7i+2wqMjOQg1WvKzswv1azsMd8R8aQ6G6nvOH7YY0MBM6XAUJNBBQwT7tXSck4j9cOXPlQ6x8SBJluY+/nRptLyr+oG4cDAHGmT5CyRKUI+nfCllojFOFbf01AYnfT4HYhIDQ59afzboI2EH1MDItlESQQ+CstS33AKQe0OkdOOSIUwbOBIfceEhA2xQIDdOSwNTOYUjkfuccjE4fJS2hTcAuVle+MtVzHjb6gpeviqg7H7vxNjZcg8cmFM5sRB/LISPZ2nQ2j2N3BzJjp8XhEs0ML9ENV1XL/+zJdkC2EoxLUkyFIgrN1GD8KU4ZKZM090Ap3wOsv5OHG+mJPNQZqyNc8taDnNukXbduWZ5+IQmin2sz9JK28+88lwxeWY8qWuaB3z/2yV68UmLELpNEP0yg9qMkUflvvmfFKbYZGQGGNCQZuY5hYX5AiWUmDiEgb6CP5nMcO4Z0G65bPWQlsa/aH6yO8WWEe498syokszcMlCiM34Cn+hOa56trEBK0sbapFQYxuKBfUD3bpHr7a4MtZinGKZmv3daLg28XNW/NZQo7VsBsFIY4rZt9MMEuK5Cb9rx52mF4yLa1YvooQaqFlmkf86SogsPwUCw2Onw7FvBTccC7rPLa6/Fork7Zje9viAE9G0XGx2E3R4lqgv3DEquSCdfx3iYsE9c2s/bxW04EU9sZkd6jEj5ARkJADdQw8ope61PBGDDp7UcxMZi7SjZdNiqhYcIbyv9OtkdJ0qrlmCwYiB+nPmj5+
    
    Chave Sessão: KT9d4C4mthX9aFWHGwUlvBS3quLagK2NrDDAXxQWiBCcpu7RDdQE+/C0dATzAjMUUiqsuKpFSnakhI7b0uNAF3CzqNgTnGc6xtu3iOqma0W4pERASb4Lyh+X/A1+95575JVzJrnk9GvfSnn+GMfqv7Kx5uxYBHr8BfOn8R6Pl3Jdi5tAwvynJohFaXx45LM6BKp+R+B7Rk59VyWsQZ/Qzv6Ks7KgKUr/RtyoNlthcmSQAJw9NKoepV4p59uBBZuAwZ+96BLpzgarEB/PIa9bn172TW9ruP24nMA5tssGI6mpHu1ZHPrh67gUH6jD/4fqSwY/IiriAUX3tS6/QZsjABoWBs1QFdM7ImSEnneBzzv1kG2C15x7raPRryzWwBLjN88GOa++kdjpOEzugwzgtgR9WDFYTSxq58mJw3A0yI4jBfkp/dxjQfBeUdq0RToVEAjfPpq+lzgS9RDASjACLCyfKIo8tnHp63dKT7HjHieVv0B7f5Kwq2+NJDUxYDuwEeHRPWx5DVBv5lVse4heAGgLc1VvespTifsoaI/Jj1WUMBk2h+s8xG7e2M0TSZIh+RxQ4s0weA3SbalWqRR+E3pQuf3c0xxosdKiEqhkHmrNnqllU/6QFtj9h0tgWkgrDb3suk9pXHieuePwN/LRmKF3ImnBF35HZrapqRQI+ws= 
    

Siga o passo a passo abaixo para decifrar o token temporário access_token_tmp e client id CLIENT_ID e dessa forma poder gerar seu certificado dinâmico.

Crie um arquivo NomeArquivo.java (sugestão Criptografia.java) com o código abaixo:

    import java.io.BufferedReader;
        import java.io.FileInputStream;
        import java.io.InputStream;
        import java.io.InputStreamReader;
        import java.security.InvalidAlgorithmParameterException;
        import java.security.InvalidKeyException;
        import java.security.KeyFactory;
        import java.security.NoSuchAlgorithmException;
        import java.security.interfaces.RSAPrivateKey;
        import java.security.spec.PKCS8EncodedKeySpec;
        import java.util.Base64;
        import java.util.Scanner;
        
        import javax.crypto.BadPaddingException;
        import javax.crypto.Cipher;
        import javax.crypto.IllegalBlockSizeException;
        import javax.crypto.NoSuchPaddingException;
        import javax.crypto.SecretKey;
        import javax.crypto.spec.IvParameterSpec;
        import javax.crypto.spec.SecretKeySpec;
        
        public class Criptografia {
        
            private static String extrairChaveRsaPem(String tipoChave, String arquivoChavesRsa) {
        
                try {
                    InputStream is = new FileInputStream(arquivoChavesRsa);
                    @SuppressWarnings("resource")
                    BufferedReader br = new BufferedReader(new InputStreamReader(is));
                    StringBuilder sb = new StringBuilder();
                    boolean inKey = false;
                    for (String line = br.readLine(); line != null; line = br.readLine()) {
                        if (!inKey) {
                            if (line.startsWith("-----BEGIN ") && line.endsWith(" " + tipoChave + " KEY-----")) {
                                inKey = true;
                            }
                        } else {
                            if (line.startsWith("-----END ") && line.endsWith(" " + tipoChave + " KEY-----")) {
                                inKey = false;
                                break;
                            }
                            sb.append(line);
                        }
                    }
                    return sb.toString();
                }
                catch(Exception e) {
                    e.printStackTrace();
                }
        
                return null;
            }
        
            public static String decriptografiaAes(SecretKey key, String cipherText) {
        
                try {
                    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
                    IvParameterSpec iv = new IvParameterSpec(new byte[16]);
                    cipher.init(Cipher.DECRYPT_MODE, key, iv);
                    byte[] plainText = cipher.doFinal(Base64.getDecoder().decode(cipherText));
        
                    return new String(plainText);
                }
                catch(NoSuchAlgorithmException e) {
                    e.printStackTrace();
                }
                catch(BadPaddingException e) {
                    e.printStackTrace();
                }
                catch(IllegalBlockSizeException e) {
                    e.printStackTrace();
                }
                catch(InvalidKeyException e) {
                    e.printStackTrace();
                }
                catch(InvalidAlgorithmParameterException e) {
                    e.printStackTrace();
                }
                catch(NoSuchPaddingException e) {
                    e.printStackTrace();
                }
        
                return null;
            }
        
            private static byte[] decriptografiaRsa(String caminhoChavePrivada, String dadosCifrados) {
        
                try {
                    String chavePrivada = extrairChaveRsaPem("PRIVATE", caminhoChavePrivada);
        
                    PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(chavePrivada.toString()));
                    KeyFactory kf = KeyFactory.getInstance("RSA");
                    RSAPrivateKey privateKey = (RSAPrivateKey) kf.generatePrivate(spec);
        
                    Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
                    cipher.init(Cipher.DECRYPT_MODE, privateKey);
        
                    return cipher.doFinal(Base64.getDecoder().decode(dadosCifrados));
        
                } catch (Exception e) {
                    e.printStackTrace();
                }
        
                return null;
            }
        
            public static void main(String[] args)
            {
                SecretKey chaveSessao = null;
                Scanner scanner = new Scanner(System.in);
        
                try {
                    System.out.println("\n=========================================");
                    System.out.println("Informe as informações recebidas no e-mail");
                    System.out.println("=========================================");
        
                    System.out.println("\nClientId: ");
                    System.out.flush();
                    String clientIdCifrado = scanner.nextLine().trim();
        
                    System.out.println("\nToken Temporário: ");
                    System.out.flush();
                    String tokenCifrado = scanner.nextLine().trim();
        
                    System.out.println("\nChave Sessão: ");
                    System.out.flush();
                    String chaveSessaoCifrada = scanner.nextLine().trim();
        
                    System.out.println("\nCaminho chave privada: ");
                    System.out.flush();
                    String caminhoChavePrivada = scanner.nextLine().trim();
        
                    System.out.flush();
                    scanner.close();
        
                    System.out.println("\n=====================================");
                    System.out.println("    Processo de Decriptografia         ");
                    System.out.println("=====================================");
        
                    // Decifra a chave de sessao AES com a chave RSA privada
                    byte[] chaveSessaoDecifrada = decriptografiaRsa(caminhoChavePrivada, chaveSessaoCifrada);
                    chaveSessao = new SecretKeySpec(chaveSessaoDecifrada, 0, chaveSessaoDecifrada.length, "AES");
                    // Decriptografa a credencial atraves da chave de sessao AES
                    String clientIdDecifrada = decriptografiaAes(chaveSessao, clientIdCifrado);
                    System.out.println("\nClient id decifrado com a chave de sessao AES:\n[ " + new String(clientIdDecifrada) + " ]");
                    String tokenDecifrado = decriptografiaAes(chaveSessao, tokenCifrado);
                    System.out.println("\nToken decifrado com a chave de sessao AES:\n[ " + new String(tokenDecifrado) + " ]");
                }
                catch(Exception e) {
                    e.printStackTrace();
                }
            }
        } 
    


Para decifrar o token temporário access_token_tmp e client id CLIENT_ID é necessário compilar e executar o código conforme comandos abaixo (em um cmd no mesmo diretório onde foi salvo o arquivo .java criado):

    javac Criptografia.java
    java -cp . Criptografia
    


Diretório informado e Primeiro Comando
Primeiro Comando.png

O primeiro comando (javac Criptografia.java) dará origem a um arquivo .class, que é o arquivo Java compilado.

Arquivos no Diretório (Primeiro Comando) 06:58
Arquivos no Diretorio.png


Após a execução do segundo comando (java -cp . Criptografia), preencha os dados que serão pedidos conforme o que foi recebido via email (Client ID, Token Temporário e Chave Sessão) e o caminho em que a chave privada se encontra.

    ClientId: <ClientId presente no e-mail>
    Token temporário: <Token temporário presente no e-mail>
    Chave sessão: <Chave sessão presente no e-mail>
    Caminho absoluto da chave privada: <C:/Users/.../.../private.pem> obtida no passo Orientações para obter o Par de Chaves.
Dados Informados
Segundo Comando.png

Ao executar a aplicação com os valores informados, o Itaú recebe no terminal as credenciais em texto aberto e geram o Client ID e Token decifrado com o Par de Chaves.

    Exemplo: Retorno Credenciais decifradas

    Processo de Decriptografia


    Client id decifrada com a chave de sessao AES: [ e26f2f89-0ead-4ca6-8bc3-dd44b4ab3cc7 ]

    Token decifrado com a chave de sessao AES: [eyJraWQiOiJhZTYxYWIxZi0yNTRhLTQ5ZWQtODMzNC05ZDJlN2E0MzZiNGQuaG9tLmdlbi4xNTk3NjAwMzM2OTkyLmp3dCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJlMjZmMmY4OS0wZWFkLTRjYTYtOGJjMy1kZDQ0YjRhYjNjYzciLCJhdXQiOiJNQVIiLCJ2ZXIiOiJ2MS4wIiwiaXNzIjoiaHR0cHM6XC9cL29wZW5pZC5pdGF1LmNvbS5iclwvYXBpXC9vYXV0aFwvdG9rZW4iLCJBY2Nlc3NfVG9rZW4iOiIyYWEzZmU5NS43OGM2YjhmNS1lZWJjLTQxMzQtYmJlZS1hZDAzMjZmMTRmM2EiLCJzb3VyY2UiOiJFWFQiLCJlbnYiOiJIIiwic2l0ZSI6ImRldiIsInVzciI6Im51bGwiLCJtYmkiOiJ0cnVlIiwidXNlcl9pZCI6ImUyNmYyZjg5LTBlYWQtNGNhNi04YmMzLWRkNDRiNGFiM2NjNyIsInNjb3BlIjoiZXNjb3BvX2RlZmF1bHQiLCJleHAiOjE2MTg5NDIyMTIsImlhdCI6MTYxODUxMDIxMiwiZmxvdyI6IkNDIn0.ZEIGYAUu-8-aCirhuClcp4F4qpL9L0KFh0pQJggXieUSCEasX-3I5QLvp5BkKcE2RhwvRfW2dUuiXJGaDqK_Mri6wZ8gVVdeHaP3ctwm8_4WBdHzxVPsAQKv2MAi8IWvHaFLFLUFcF7Z9-fpTkve_8SBnnJb4L_O7SYzXgxg3zpYSCFwMr4SrBvidq2plajEbytcDXikAXyibAWr2OH5Aijq8yfIc6dbMbH2ueA1V3mft7b_eueBQlihF1PHbytVWah6RleR5He9FLbjygcZ-F-1ygx5yTSl_DMCGn4uCYmH5IfkZa9jC9A2-t4jlIlvFZHeGVl_c2-xaWFBd_9ryQ ]

Geração do arquivo .csr

Com as credenciais em mãos você partirá para a segunda etapa do processo a geração do arquivo CSR (Certificate Sign Request) conforme os padrões e orientações abaixo.

Nesse processo deverá ser utilizada a ferramenta Openssl e, caso não esteja disponível, você deverá instalar conforme orientações disponíveis em: openssl.org .


Para a criação do arquivo, alguns parâmetros serão exigidos e para te ajudar segue abaixo a lista desses parâmetros e uma breve descrição sobre eles. Para dúvidas que não forem esclarecidas por essa documentação entre em contato conosco diretamente pelos canais de suporte combinados com o seu representante comercial Itaú.
CLIENT_ID: é o client_id solicitado por e-mail e enviado pelo Itaú (etapa 1 da ativação do certificado). Nome do Parceiro e Aplicação: é o nome criado pelo Parceiro para identificar facilmente a aplicação consumidora. Uma sugestão é utilizar o nome da Aplicação e do Parceiro. Ex: Site Parceiro A; App Parceiro B, etc. arquivo_request_certificado.csr: é o nome do arquivo CSR que será gerado. arquivo_chave_privada.key: arquivo contendo a chave privada do certificado. Ele será gerado no mesmo momento da criação do arquivo do certificado. Recomendamos mantê-lo armazenado em segurança já que será utilizado pela aplicação no momento das chamadas às APIs.
Após a criação do arquivo_request_certificado.csr deverá ser enviado ao Itaú para concluir o processo de geração do certificado. Esse envio ocorrerá através de uma API que solicitará o token temporário para que a transferência seja finalizada.
Exemplo de verificação das informações do arquivo .csr

openssl req -in ARQUIVO_REQUEST_CERTIFICADO.csr -noout -text

Envio de arquivo .csr

A terceira etapa do processo é o envio do arquivo CSR e ele deverá ser feito através da API /seguranca/v1/certificado/solicitacao para o STS do Itaú pela url: sts.itau.com.br.

Envio de arquivo .csr utilizando o fluxo de autenticacao autenticação client credentials e mTLS Como desenhado no fluxo abaixo, o parceiro deverá enviar no header o token temporário access_token_tmp que recebeu por e-mail do Itaú (etapa 1 da ativação do certificado) e o arquivo .csr gerado no body (etapa 2 da ativação do certificado). Por fim, como retorno da chamada o Parceiro receberá o client_secret e o certificado CRT requisitado.
Envio de arquivo .csr utilizando o fluxo de autenticacao autenticação client credentials com private key JWT e mTLS
>IMAGEM<

Como desenhado no fluxo abaixo, o parceiro deverá enviar no header o token temporário access_token_tmp que recebeu por e-mail do Itaú (etapa 1 da ativação do certificado) e o arquivo .csr gerado no body (etapa 2 da ativação do certificado). Por fim, como retorno da chamada o Parceiro receberá apenas o certificado CRT requisitado.
>IMAGEM<

Verifique sempre as datas de expiração do certificado, pois o processo de renovação poderá ser feito a partir 60 dias até a data de vencimento.

Tabela 1: Envio de arquivo .csr - Parâmetros

Renovação do Certificado Dinâmico

Como obter as Credenciais para utilizar a Funcionalidade Open Banking?

Validos somente até 31/12/2021
As credenciais do Banco devem ser obtidas através do contato com o seu Gerente de Cash (Gerente da Conta no Banco).

Quais os Módulos necessários para utilizar a Funcionalidade Open Banking do Banco Itaú”?

• Módulo Gestão Financeira;

Quais são as parametrizações necessárias para utilizar a funcionalidade do Open Banking?

Para utilizar esta funcionalidade é necessário possuir o Cadastro do Portador para o Banco Itaú.
Como boa prática de implementação é mais coerente criar um novo Portador para Open Banking evitando assim de alterar o Portador utilizado para CNAB caso necessite realizar algum processo via remessa ou retorno, quando a API do Banco estiver com instabilidade.
Essa parametrização deverá validar os últimos Sequenciais da numeração de Boletos do Portador utilizado para as Remessas, pois assim garante que não ocorrerá conflito enviar uma numeração de Título já registrado.
Para o correto funcionamento da rotina é necessário que os dados do Portador esteja com todas informações necessárias, inclusive o Convênio.

Itens Importantes na Parametrização:

- Processar retornos pelo número do Boleto: esta opção deve estar marcada, pois caso contrário ocorrerá problemas na gravação das informações e envio para Banco.

Itens Importantes na Parametrização:

- Processar retornos pelo número do Boleto: esta opção deve estar marcada, pois caso contrário ocorrerá problemas na gravação das informações e envio para Banco.

Caso tenha sido realizado movimentações com esta opção desmarcada, não será possível realizar a Baixa, pois sistema não consegue localizar devido não possuir o Nosso Número gravado nas tabelas envolvidas.

Para solucionar essa questão será necessário:

1- Identificar o Nosso Número do registro a ser baixado (Lançamento Financeiro);
2- Gravar o Nosso Número nas seguintes tabelas:
GFBOLETOS: campo a ser atualizado NOSSO_NRO com a informação do Nosso Número.
GFLAUXIL: campo a ser atualizado CODIGO_BARRAS com a informação do Nosso Número.

Menu > Finanças > Gestão Financeira > Parâmetros > Portadores
Este cadastro é apenas uma demonstração de parametrização:

Cadastro de Portador
Cadastro_Portador_OpenBanking_Juros
Guia CNAB
Cadastro_Portador_OpenBanking_CNAB
Guia Configurações
Cadastro_Portador_OpenBanking_Config


Acessando o Botão Remessas:

Botão Remessas > Comandos
Cadastro_Portador_Comando_Remessa



Acessando o Botão Retornos:

Botão Retornos > Códigos de Retorno
Cadastro_Portador_Codigo_Retorno_Remessa



Para iniciar a configuração através do “Assistente de Parâmetros do Open Banking”, basta selecionar o botão “Open Banking”:
Menu > Finanças > Gestão Financeira > Parâmetros > Configuração de Bancos

Configurações de Banco
Configuracao_Banco

Para dar início ao processo de parametrização, basta selecionar o botão “Avançar”:

Tela Inicial Configuração do Assistente Open Banking:
Para iniciar a configuração é necessário ter em mãos os seguintes dados: (Cliente, Chave de Autorização e Gw-app-Key). Sem essas informações não será possível dar continuidade na parametrização do Open Banking para o Banco do Brasil.

Tela Inicial Configuração do Assistente Open Banking:


Para iniciar a configuração é necessário ter em mãos os seguintes dados: (Cliente, Chave de Autorização e Gw-app-Key). Sem essas informações não será possível dar continuidade na parametrização do Open Banking para o Banco.

Tela Inicial Parâmetros de Convênio Open Banking
Tela_Inicial

Etapa 1 (Parâmetros: Passo 1 de 4):

Uma das etapas mais importantes e que requer um cuidado maior e sigilo das informações nesta parametrização.
Essas informações são disponibilizadas pelo Banco a qual deve ser restrita somente a pessoa responsável pelo setor Financeiro da Empresa.
O assistente tem como objetivo proporcionar que o próprio usuário tenha autonomia para executar esse passo a passo sem necessidade de passar essas informações restritas da Empresa para qualquer pessoa que não seja ele mesmo.
Reforçando, mesmo que tenha dificuldades para executar esta etapa, não repasse nenhuma informação relacionado aos acessos dos tokens.
Dados em mãos para informar os respectivos campos, basta copiar e colar as informações.
Client_id, Client_secret, Itau_chave, Identificador e o Scope que passa vir preenchido automaticamente por padrão.
Os campos:
Client ID e Client Secret possuem uma tecnologia de criptografia, ou seja, após informar os dados nos campos o sistema irá criptografar as informações garantindo e mantendo a segurança das informações.
Caso haja necessidade de alterações, basta clicar no ícone do "Cadeado", será aberta a tela de Criptografia e após colar ou digitar as informações em tela e selecionar o botão "Confirmar".
Também tenha alguma dúvida no dado informado e necessitar validar o dado seguindo os mesmos passos da alteração será aberta a tela de Criptografia e após colar ou digitar as informações em tela e selecionar o botão "Validar", sistema confirma se os dados são os mesmos.
Observamos que para o Banco Itaú não possui duas guias de Homologação e Produção, ou seja, os dados são validos para ambos os ambientes o que diferenciará será no momento de setar os dados para "Produção" na etapa de Conclusão.
Lembrando que esses dados são confidenciais de uso e exclusivo de cada usuário.
Através dessas informações o sistema irá se comunicar com API do Banco para poder realizar os registros dos Lançamentos. Após informado os dados, basta selecionar o botão "Avançar", para seguir os próximos passos.
Client Id: Identificação da Aplicação, é necessário informar a codificação passada pelo Banco. Este dado é criptografado.
Client Secret: Credencial do banco, é necessário informar a codificação passada pelo Banco. Este dado é criptografado.
Chave Itaú: Código de Chave do banco, é necessário informar a codificação passada pelo Banco. Este dado é criptografado.
Identificador (CNPJ/CPF - somente números): este dado é referente ao emissor dos registros Open Banking, ou seja, deve ser informado o CNPJ ou CPF da Organização que será responsável pela emissão dos registros.


Parâmetros: Passo 1 de 4
Parametros_1de4


Etapa 2 (Portador de Remessa e Retorno - Pagamento: Passo 2 de 4):

Nesta etapa deve ser selecionado o Portador que será considerado para o envio da Remessa de Pagamento (onde estarão os boletos em aberto) e nesta mesma tela informar o qual Portador será considerado para o Retorno de Pagamento (onde serão liquidados os retornos de Pagamentos).
Nesta etapa, é possível pular, caso não utilize ainda o Envio de Pagamentos do Open Banking.
Pular: caso deseja pular essa etapa e prosseguir com o processo de parametrização do Open Banking.
Avançar: dá continuidade ao processo de parametrização, após selecionado uma opção.
Para continuar a parametrização selecione o botão "Pular" e siga para os próximos passos.

Portador de Remessa e Retorno: Passo: 2 de 4
PortadorRemessaRetorno-Pagamento_2de4

Etapa 3 (Convênios de Cobrança: Passo 3 de 4):


Nesta etapa o sistema avalia sua base de dados, e localiza os Convênios parametrizados para o Banco Itaú, onde serão listados.
Pular: caso deseja pular essa etapa e prosseguir com o processo de parametrização do Open Banking.
Avançar: dá continuidade ao processo de parametrização, após selecionado uma opção.

Convênios de Cobrança: Passo 3 de 4
Convenios_Cobranca_3de4

Etapa 3 (Portador de Remessa e Retorno - Cobrança: Passo 3 de 4):


Nesta etapa deve ser selecionado o Portador que será considerado para o envio da Remessa de Cobrança (onde estarão os boletos em aberto) e nesta mesma tela informar o qual Portador será considerado para o Retorno de Cobrança (onde serão liquidados os retornos de Cobranças).
Avançar: dá continuidade ao processo de parametrização, após selecionado uma opção.

Portador de Remessa e Retorno - Cobrança: Passo 3 de 4
Wizard_passo_3_de_4_Direto_PIX.png


Atualizado Wizard do Open Banking, disponibilizando duas opções:
- Direto: esta opção tem como finalidade registrar o Boleto no momento da sua geração, ou seja, quando selecionado ativa propriedade ao qual ao gerar o Boleto Bancário o sistema automaticamente envia o registro Open Banking, sem a necessidade de fazer o processo de envio da Remessa Open Banking do título.
Também quando selecionada, terá uma particularidade na questão da Emissão de Boletos em lote pela Rotina de Emissão de Boletos Personalizados. A rotina na guia Opções tem a opção Enviar somente Lançamentos não marcados e marca-los, caso esteja desmarcada o Registro Open Banking ocorrerá da mesma forma que o sistema irá marcar a opção Boleto Impresso do Lançamento Financeiro, registrando a Operação Open Banking. Isso ocorre para manter a integridade, já que esta operação é considerada única no registro, sendo então necessário marcar a Boleto Impresso, para poder conseguir realizar alterações como Alteração de Vencimento ou mesmo a Baixa, sendo uma condição de Sistema.
- PIX: esta opção fica habilitada somente quando selecionado a opção Direto, ela tem como finalidade registrar uma operação PIX para os Boletos emitido de forma Direta (opção Direto marcado).
Esta opção é válida SOMENTE para o Banco do Brasil.
Ao emitir o Boleto do Lançamento o sistema marca as 3 opções:
- Boleto Impresso;
- Remessa Enviada;
- Código de Barras Lido;
Outra mudança é no Histórico Open Banking, ao qual passa criar o registro com Status Open BankingRegistrado.
Também ao acessar os Dados API é enviado a tag: "indicadorPix": "S", pois a opção PIX esta selecionada.

Etapa 4 (Relatório: Passo 4 de 4):


Nesta etapa o sistema irá buscar automaticamente o Modelo de Relatório Padrão, caso exista no ambiente, facilitando assim todo processo de parametrização e implementação para usuário.
A busca é realizado (%CIGAM_INSTAL%RF00071_remessas.RTF), com isso é importante que o Modelo de Relatório (RF00071_remessas.RTF) esteja devidamente localizado na pasta padrão do Cigam_Instal, como por exemplo:
%CIGAM_INSTAL% = P:\Cigam11\Projects\Controle\MACIEL\Financeiro_Open_Banking
"P:\Cigam11\Projects\Controle\MACIEL\Financeiro_Open_Banking\Modelos\Relatorios\Gestao Financeira\RF00071_remessas.RTF"
Clicar em "Avançar" para dar seguimento.

Assistente de Parâmetros Open Banking: Passo 4 de 4
Assistente_Passo_4



Etapa Conclusão (Parâmetros de Convênio Open Banking - Conclusão):


Esta etapa o sistema faz validação da comunicação com o Banco através da API verificando o ambiente se esta tudo ok, listando em tela.
Após a consulta estar "OK", basta clicar no botão "Concluir" e seu ambiente estará apto para utilizar a funcionalidade Open Banking.

Parâmetros de Convênio Open Banking: Passo Final - Conclusão
Conclusão

Credenciais: Conexão realizada com sucesso.

Convênio Cadastrado com Sucesso - Cobrança
Parametros_Open_Banking_Cobranca

Ambiente: lista qual é o ambiente cadastrado, sendo apenas duas opções: Homologação e Produção.
Convênios: neste grupo serão listados todos os convênios cadastrados, bem como todas informações pertinentes como:
- Portador;
- Agência;
- Número Conta;
- Portador de retorno;
- Direto: esta opção tem como finalidade registrar o Boleto no momento da sua geração, ou seja, quando selecionado ativa propriedade ao qual ao gerar o Boleto Bancário o sistema automaticamente envia o registro Open Banking, sem a necessidade de fazer o processo de envio da Remessa Open Banking do título.
- PIX: esta opção fica habilitada somente quando selecionado a opção Direto, ela tem como finalidade registrar uma operação PIX para os Boletos emitido de forma Direta (opção Direto marcado).
Esta opção é válida SOMENTE para o Banco do Brasil.
Ao emitir o Boleto do Lançamento o sistema marca as 3 opções:
- Boleto Impresso;
- Remessa Enviada;
- Código de Barras Lido;
U.N Ced.: esta opção tem como finalidade possibilitar o envio e registro de Boletos de outras Unidades de Negócio.
Basta informar a Unidade desejada no campo e o sistema entenderá quando realizado o processo de registro de um título que não seja da Unidade Matriz, então sistema identifica e realiza o processo de envio e registro. Se deixar em Branco a Unidade Cedente irá considerar para todas Unidades de Negócio.

Convênio Cadastrado com Sucesso - Pagamento
Parametros_Open_Banking_Pagamentos

Ambiente: lista qual é o ambiente cadastrado, sendo apenas duas opções: Homologação e Produção.
Convênios: neste grupo serão listados todos os convênios cadastrados, bem como todas informações pertinentes como:
- Portador;
- Agência;
- Número Conta;
- Portador de retorno;

Ícone Credenciais
Icone_Credenciais_Cobranca

Através deste ícone é possível verificar os Parâmetros API parametrizados, tanto em homologação quanto em produção.

Ícone Endereços
Icone_Enderecos

Através deste ícone é possível verificar todos endereços de URLs parametrizados.

O que significa a Categoria Open Banking de acesso?


A Categoria Open Banking é uma Categoria que é habilitada mediante a utilização de um Portador parametrizado com as Configurações de Banco Open Banking. A mesma tem como objetivo proporcionar maior agilidade e gerenciamento das atividades relacionadas a Remessa de Cobrança Online.
Categoria Open Banking

Categoria Open Banking
Categoria_Open_Banking



Registrar: item de categoria tem como funcionalidade registrar o Boleto Bancário Online. Substitui todo o processo de geração do arquivo de Remessa de Cobrança, acessar o site e remeter ao Banco esse arquivo, com apenas um clique na opção.
Reenviar: item de categoria tem como funcionalidade possibilitar o reenvio de registros que estão com alguma pendência ou algum erro de parametrização. Será habilitado somente quando já possuir movimento de "Registro" enviado, cuja Situação estiver com pendência ou erro.
Baixar: item de categoria tem como funcionalidade comunicar o Banco referente a Baixa do movimento em questão do Boleto Bancário. Utilizado para eventuais falhas operacionais, como registrado um movimento por engano, ou negociações diretamente com cliente a parte. Eliminando então também todo processo de geração do arquivo de Remessa Bancária com Comando de Remessa de Baixa e o processo de remeter ao Banco o arquivo, sendo realizado tudo online através desta opção.
Registrar Alteração: item de categoria tem como funcionalidade registrar uma alteração ocorrida referente ao "Vencimento" do Lançamento Financeiro. Ao realizar alteração da Data de Vencimento do Lançamento Financeiro que está com "Situação Open Banking" igual "Registrado" e ocorrer alteração no Vencimento, o sistema emite uma mensagem possibilitando já o envio da alteração no momento ou mais tarde através desta opção de "Registrar Alteração".
Histórico: item de categoria tem como funcionalidade gravar todas movimentações realizadas relativo ao Open Banking. Registros, Baixas, Erros...

Layout e Detalhamento de Campos API última versão

Registro de Boletos

Campo JSON Descriçao do Banco Campo CIGAM Tabela Obrigatório Observações
1 etapa_processo_boleto Simulação de Emissão - 'validacao' Emissão - 'efetivacao' >>Clique aqui Explicacao<< 0 0 obrigatório
2 id_beneficiario Agência (4 dígitos) + Conta (7 dígitos) + DAC (1 dígito). 0 0 obrigatório Exemplo: 150000123450
3 dado_boleto
3.1 descricao_instrumento_cobranca Tipo de cobrança. Preencher com 'boleto' 0 0 obrigatório 0
3.2 tipo_boleto Deve ser indicado um dos tipos do boleto: 'a vista' 'proposta' 0 0 obrigatório 0
3.3 codigo_carteira Deve ser informado algum dos códigos de carteiras disponíveis: 109 e 112 0 0 obrigatório 0
3.4 valor_total_titulo Valor total a ser cobrado. Sendo 15 dígitos inteiros e 2 casas decimais. Exemplo: 99999999999999900 0 0 obrigatório 0
3.5 codigo_especie Espécie do título. Ver "Tabela de Espécies" >CLIQUE AQUI< 0 0 obrigatório 0
3.6 valor_abatimento Valor do abatimento do título. Este valor não pode superar o valor da cobrança. Formato do campo: 15 dígitos inteiros e 2 casas decimais 0 0 opcional 0
3.7 data_emissao Data de emissão do boleto. 0 0 opcional Formato: AAAA-MM-DD
3.8 indicador_pagamento_parcial Indicador de pagamento parcial. Caso não seja enviado, assume-se o padrão 'false' 'true' - Aceita pagamento parcial 'false' - Não aceita pagamento parcial 0 0 opcional 0
3.9 quantidade_maximo_parcial Quantidade permitida de pagamentos parciais da cobrança, valor deve ser entre 1 e 99. 0 0 opcional Obrigatório caso indicador_pagamento_parcial = true
4 pagador
4.1 pessoa
4.1.1 nome_pessoa Nome/Razão social do pagador. 0 0 obrigatório Máximo caracteres: 50
4.1.2 nome_fantasia Nome Fantasia do pagador - Exemplo: Empresa A 0 0 opcional Obrigatório caso tipo_pessoa = J
4.2 tipo_pessoa
4.2.1 codigo_tipo_pessoa Tipo de pessoa do pagador Pessoa Física - 'F' Pessoa Jurídica - 'J' 0 0 obrigatório 0
4.2.2 numero_cadastro_pessoa_fisica CPF do pagador - Obrigatório caso tipo_pessoa = F Exemplo: 12345678910 0 0 opcional 0
4.2.3 numero_cadastro_nacional_pessoa_juridica CNPJ do pagador - Obrigatório caso tipo_pessoa = J Exemplo: 12312312000110 0 0 opcional 0
5 sacador_avalista
5.1 pessoa
5.2 tipo_pessoa
5.2.1 codigo_tipo_pessoa Tipo de pessoa do sacador avalista. Pessoa Física - 'F' Pessoa Jurídica - 'J' 0 0 obrigatório 0
5.2.2 numero_cadastro_pessoa_fisica CPF do sacador avalista - Obrigatório caso tipo_pessoa = F Exemplo: 12345678910 0 0 opcional 0
5.2.3 numero_cadastro_nacional_pessoa_juridica CNPJ do sacador avalista - Obrigatório caso tipo_pessoa = J Exemplo: 12312312000110 0 0 opcional 0
6 endereco
6.1 nome_logradouro Nome do logradouro, número, complemento. 0 0 obrigatório Máximo caracteres: 45
6.2 nome_bairro Nome do bairro 0 0 obrigatório
6.3 nome_cidade Nome da cidade 0 0 obrigatório
6.4 sigla_UF Sigla da UF 0 0 obrigatório
6.5 numero_CEP CEP 0 0 obrigatório
7 dados_individuais_boleto
7.1 numero_nosso_numero Número de identificação do título. De livre utilização do usuário seguindo as regras da carteira do produto contratado. Não pode ser repetido se nosso número ainda estiver ativo ou tiver menos de 45 dias de sua baixa/liquidação. Nosso número é obrigatório para carteira 109 e não deve ser informado para carteira 112 0 0 opcional 0
7.2 data_vencimento Data máxima para pagamento do título sem que haja acréscimo de juros e multa. 0 0 obrigatório Formato: AAAA-MM-DD
7.3 valor_titulo Valor a ser cobrado. 0 0 obrigatório Formato do campo: 15 dígitos inteiros e 2 casas decimais
7.4 data_limite_pagamento Data limite para pagamento do título. Após esta data, o título não poderá ser pago. 0 0 opcional Formato: AAAA-MM-DD
7.5 texto_uso_beneficiario Campo de 25 caractéres, utilizado na API legado como "identificador_titulo_empresa". 0 0 opcional 0
8 texto_seu_numero Seu número é a identificação do boleto que poderá ter letras e números e facilitará a consulta e acompanhamento do status do boleto. Este campo é para controle do cliente 0 0 opcional
9 desconto_expresso Indicador de desconto. Enviar como "false" 0 0 0
10 juros
10.1 codigo_tipo_juros Tipo da cobrança dos juros no cálculo da cobrança. Para cada um dos valores informados, será impresso no boleto uma anotação referente. '90' - Percentual mensal (utilizando parâmetros do cadastro de beneficiário para dias úteis ou corridos) '93' - Valor diário (utilizando parâmetros do cadastro de beneficiário para dias úteis ou corridos) 0 0 obrigatório 0
10.2 valor_juros Valor dos juros a ser cobrado. Obrigatório para codigo_tipo_juros ‘93’. Formato do campo: 15 dígitos inteiros e 2 casas decimais. Exemplo: 99999999999999900 0 0 opcional 0
10.3 percentual_juros Percentual dos juros a ser cobrado. Obrigatório para tipo_juros ‘90’, ‘91’ e ‘92’. Formato do campo: 7 dígitos inteiros e 5 casas decimais. Exemplo: 999999900000 0 0 opcional 0
10.4 data_juros Data de início de cobrança de juros. Caso o campo esteja vazio, será automaticamente assumido que a cobrança de juros se inicia logo após o vencimento. Formato: AAAA-MM-DD 0 0 opcional 0
11 multa
11.1 codigo_tipo_multa Código da multa '01' - Quando se deseja cobrar um valor fixo de multa após o vencimento. '02' - Quando se deseja cobrar um percentual do valor do título de multa após o vencimento. '03' - Quando não se deseja cobrar multa caso o pagamento seja feito após o vencimento (isento) 0 0 obrigatório 0
11.2 valor_multa Valor da multa cobrada. Obrigatório para codigo_tipo_multa 01. Formato do campo: 15 dígitos inteiros e 2 casas decimais 0 0 opcional 0
11.3 percentual_multa Percentual da multa cobrada. Obrigatório para tipo_multa 02. Formato do campo: 7 dígitos inteiros e 5 casas decimais 0 0 opcional 0
11.4 data_multa Data de início de cobrança de multa. Caso o campo esteja vazio, será automaticamente assumido que a cobrança de multa se inicia logo após o vencimento. Formato: AAAA-MM-DD 0 0 opcional 0
12 desconto
12.1 codigo_tipo_desconto Código do desconto. Caso exista mais de um desconto, todos os tipo_desconto deverão ter o mesmo código. '00' - Quando não houver condição de desconto – sem desconto '01' - Quando o desconto for um valor fixo se o título for pago até a data informada (data_desconto) '02' - Quando o desconto for um percentual do valor do título e for pago até a data informada (data_desconto) '90' - Percentual por antecipação(utilizando parâmetros do cadastro de beneficiário para dias úteis ou corridos)" '91' -Valor por antecipação (utilizando parâmetros do cadastro de beneficiário para dias úteis ou corridos)" 0 0 obrigatório 0
12.2 data_desconto Data limite de cobrança de desconto. Caso o campo esteja vazio, será automaticamente assumido que a cobrança de desconto é até a data de vencimento. Formato: AAAA-MM-DD 0 0 opcional 0
12.3 valor_desconto Valor do desconto a ser cobrado. Obrigatório para codigo_tipo_desconto 1 ou 91. Formato do campo: 15 dígitos inteiros e 2 casas decimais 0 0 opcional 0
12.4 percentual_desconto Percentual do desconto concedido. Obrigatório para codigo_tipo_desconto 2 ou 90. Formato do campo: 7 dígitos inteiros e 5 casas decimais 0 0 opcional 0
13 recebimento_divergente
13.1 codigo_tipo_autorizacao Tipo de autorização de recebimento divergente da cobrança. "01" - Quando o título aceita qualquer valor divergente ao da cobrança. "02" - Quando o título contém uma faixa de valores aceitos para recebimentos divergentes. "03" - Quando o título não deve aceitar pagamentos de valores divergentes ao da cobrança. "04" - Quando o título aceitar pagamentos de valores superiores ao mínimo definido" 0 0 obrigatório 0
13.2 codigo_tipo_recebimento Tipo de autorização de recebimento divergente da cobrança. Obrigatório para codigo_tipo_autorizacao diferente de 01 e 03. V - Recebimento divergente for informado por valores P - Recebimento divergente for informado por percentuais 0 0 opcional 0
13.3 valor_minimo Valor mínimo permitido para pagamento. Obrigatório para codigo_aceite_pagamento_divergente 2 ou 4. Formato do campo: 15 dígitos inteiros e 2 casas decimais 0 0 opcional 0
13.4 percentual_minimo Percentual mínimo permitido para pagamento. Obrigatório para codigo_tipo_autorizacao 2 ou 4. Formato do campo: 7 dígitos inteiros e 5 casas decimais 0 0 opcional 0
13.5 valor_maximo Valor máximo permitido para pagamento. Obrigatório para codigo_tipo_autorizacao 2. Formato do campo: 15 dígitos inteiros e 2 casas decimais 0 0 opcional 0
13.6 percentual_maximo Percentual máximo permitido. Obrigatório para codigo_tipo_autorizacao 2. Formato do campo: 7 dígitos inteiros e 5 casas decimais 0 0 opcional 0
14 protesto
14.1 protesto Códigos das instruções de protesto. Ver "Tabela de Instruções" >CLIQUE AQUI< 0 0 obrigatorio 0
14.2 quantidade_dias_protesto Quantidade de dias requisitado para instrução de protesto 0 0 opcional 0
15 negativacao
15.1 negativacao Códigos das instruções de negativação. Ver "Tabela de Instruções" >CLIQUE AQUI< 0 0 obrigatorio 0
15.2 quantidade_dias_negativacao Quantidade de dias requisitado para instrução de negativação 0 0 opcional 0

Layout e Detalhamento de Campos API

Registro de Boletos

Campo JSON Descriçao do Banco Campo CIGAM Tabela Obrigatório Observações
1 tipo_ambiente Domínios:

Para Testes: 1
Para Produção: 2

Não Tratado Não Tratado Obrigatório
2 tipo_registro Domínios:

Para Registro: 1

Não Tratado Não Tratado Obrigatório
3 tipo_cobranca Domínios:

Para boletos: 1

Não Tratado Não Tratado Obrigatório
4 tipo_produto Domínios:

Cliente: 00006

Não Tratado Não Tratado Obrigatório
5 subproduto Domínios:

Cliente: 00008

Não Tratado Não Tratado Obrigatório
6 identificador_titulo_empresa É um campo de livre utilização pela empresa parceira, cuja informação não é consistida pelo Banco Itaú e não sai no aviso de cobrança, retornando ao beneficiário no arquivo retorno em qualquer movimentação do título (baixa, liquidação, confirmação de protesto, etc.) com o mesmo conteúdo da entrada. Lancamento LANCAM Opcional Para instituições financeiras (ab:1248/Bancorp), o conteúdo deste campo também será impresso no rodapé do boleto
7 titulo_aceite Domínios:

Se for um boleto de cobrança: S
Se for um boleto de proposta: N

Aceite Portador Obrigatório
8 tipo_carteira_titulo Domínios:

109, 110, 111, 124, 125, 133, 142, 143, 145, 146, 148, 149, 153, 160, 167, 175, 179, 186, 187, 189, 196, 198, 202, 203, 210.

Carteira Portador Obrigatório Deve ser informado algum dos códigos de carteiras disponíveis na Descrição
9 nosso_numero Domínios:

Carteiras Diretas com registro:
Carteiras Diretas: Livre utilização pelo beneficiário *
Carteiras com nosso número adicional:
Carteira 133: Enviar valor do nosso número no campo uso da empresa.
Carteiras 189, 196 e 198: Enviar os 8 primeiros dígitos no campo nosso número e os dígitos restantes no campo seu número.

Nosso Número Boletos Obrigatório *Campo de livre utilização pelo usuário, não podendo ser repetida se o número ainda estiver registrado no Banco Itaú ou se transcorridos menos de 45 dias de sua Baixa/Liquidação

no Banco Itaú. Dependendo da carteira de cobrança utilizada, a faixa de Nosso Número pode ser definida pelo Banco. A empresa é responsável pelo seu controle e pela geração correta do número do DAC (Dígito de Auto Conferência).

10 digito_verificador_nosso_numero Deve ser informado o Dígito Verificador do Nosso Número. Nosso Número Boletos Obrigatório
11 codigo_barras Deve ser informado o número do código de barras. Não Tratado Não Tratado Opcional Para carteiras com nosso número adicional sempre enviar o código de barras.
12 data_vencimento Deve ser informada a data de vencimento do título. Inserir em formato YYYY-MM-DD. Vencimento LANCAM Opcional Pagamentos com Tipo de Pagamento à vista não precisam preencher o parâmetro data_vencimento. Caso contrário, o parâmetro deve ser preenchido.
13 valor_cobrado Deve ser informado o valor a ser cobrado. Saldo LANCAM Obrigatório Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
14 seu_numero Deve ser informado o valor do Seu Número. Não Tratado Não Tratado Opcional 10 caracteres numéricos
15 especie Inserir somente algum dos valores. Clique aqui para visualizar os domínios. Espécie Portador Obrigatório
16 data_emissao Deve ser informada a data de emissão do boleto. Data LANCAM Obrigatório Inserir em formato YYYY-MM-DD.
17 data_limite_pagamento Deve ser informada a data limite de pagamento. Não Tratado Não Tratado Opcional Inserir em formato YYYY-MM-DD
18 tipo_pagamento Deve ser informado um dos valores:

Domínios:
Pagamento realizado à vista - 1
Pagamento com data de vencimento determinada - 3

Não Tratado Não Tratado Obrigatório Pagamentos com Tipo de Pagamento à vista não precisam preencher o parâmetro data_vencimento. Caso contrário, o parâmetro deve ser preenchido.
19 indicador_pagamento_parcial Domínios:

Aceita pagamento parcial - true
Não aceita pagamento parcial - false

Não Tratado Não Tratado Obrigatório
20 quantidade_pagamento_parcial Deve ser informada a quantidade de vezes que o mesmo boleto poderá ser pago parcialmente. Não Tratado Não Tratado Opcional Enviar entre 01 e 99.
21 quantidade_parcelas Deve ser informado a quantidade de parcelas que o título gerará. Não Tratado Não Tratado Opcional Enviar entre 001 e 999.
22 instrucao_cobranca_1 Deve ser informado o código correspondente à instrução de cobrança. Clique aqui para visualizar a tabela. Não Tratado Não Tratado Opcional
23 quantidade_dias_1 Deve ser informada, dependendo da instrução de cobrança (vide tabela de instruções de cobrança), a quantidade de dias referente à instrução. Não Tratado Não Tratado Opcional Enviar entre 00 e 99
24 data_instrucao_1 Deve ser informada, dependendo da instrução de cobrança (vide tabela de instruções de cobrança), a data referente à instrução. Inserir em formato YYYY-MM-DD Não Tratado Não Tratado Opcional Dependendo da instrução de cobrança (vide tabela de instruções de cobrança), o parâmetro quantidade_dias_1 se torna obrigatório.
25 instrucao_cobranca_2 Deve ser informado o código correspondente à instrução de cobrança. Clique aqui para visualizar a tabela. Não Tratado Não Tratado Opcional
26 quantidade_dias_2 Deve ser informada, conforme instrução de cobrança (vide tabela de instruções de cobrança), a quantidade de dias referente à instrução. Não Tratado Não Tratado Opcional Enviar entre 00 e 99
27 data_instrucao_2 Deve ser informada, dependendo da instrução de cobrança (vide tabela de instruções de cobrança), a data referente à instrução. Inserir em formato YYYY-MM-DD. Não Tratado Não Tratado Opcional Dependendo da instrução de cobrança (vide tabela de instruções de cobrança), o

parâmetro quantidade_dias_2 se torna obrigatório.

28 instrucao_cobranca_3 Deve ser informado o código correspondente à instrução de cobrança. Ver tabela de instrução de cobrança. Não Tratado Não Tratado Opcional
29 quantidade_dias_3 Deve ser informada, dependendo da instrução de cobrança (vide tabela de instruções de cobrança), a quantidade de dias referente à instrução. Não Tratado Não Tratado Opcional Enviar entre 00 e 99.
30 data_instrucao_3 Deve ser informada, dependendo da instrução de cobrança (vide tabela de instruções de cobrança), a data referente à instrução. Inserir em formato YYYY-MM-DD. Não Tratado Não Tratado Opcional Dependendo da instrução de cobrança (vide tabela de instruções de cobrança), o parâmetro quantidade_dias_3 se torna obrigatório.
31 valor_abatimento Deve ser informado o valor de desconto/abatimento. O sistema limita o desconto concedido a 90% do valor de entrada do título. Para um mesmo título podem ser concedidos mais dois descontos, desde que previamente parametrizado no cadastro de cobrança do beneficiário (indicador 19.0). Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
32 cpf_cnpj_beneficiario Deve ser informado o número de inscrição do beneficiário no CNPJ sem traços e barras. Não Tratado Não Tratado Obrigatório Inserir em texto corrido o CNPJ. Enviar 14 posições. Formato: 00000000000000.
33 agencia_beneficiario Inserir no formato 0000. Agência Portador Obrigatório Inserir no formato 0000.
34 conta_beneficiario Deve ser informado o número da conta bancária do beneficiário. Conta Número Portador Obrigatório Inserir no formato 0000000. Não incluir dígito verificador. Inserir 0 à esquerda.
35 digito_verificador_conta_beneficiario Deve ser informado o dígito verificador da conta do beneficiário. Conta Número Portador Obrigatório Inserir no formato 0.
36 cpf_cnpj_pagador Deve ser informado o número de inscrição do pagador no CPF/CNPJ sem traços e barras. CNPJ/CPF Empresa Obrigatório Inserir em texto corrido o CPF ou CNPJ. Em caso de CPF, enviar 11 posições. Formato: 00000000000000
37 nome_pagador Deve ser informado o nome do Pagador. Nome Completo Empresa Obrigatório 30 caracteres alfabéticos.
38 logradouro_pagador Deve ser informado o logradouro do Pagador. Endereço Empresa Obrigatório 40 caracteres alfanuméricos.
39 bairro_pagador Deve ser informado o bairro do Pagador. Bairro Empresa Opcional 15 caracteres alfanuméricos.
40 cidade_pagador Deve ser informada a cidade do Pagador. Município Empresa Obrigatório 20 caracteres alfanuméricos.
41 uf_pagador Deve ser informada a sigla da União Federativa do pagador (UF). UF Empresa Obrigatório 2 caracteres alfanuméricos.
42 cep_pagador Deve ser informado o Código de Endereçamento Postal do pagador (CEP). CEP Empresa Obrigatório Inserir no formato 00000000.
43 grupo_email_pagador É uma lista com e-mails do pagador (ocorre até 5 vezes). Para as carteiras de cobrança escriturais, onde o Banco Itaú mantém o registro da cobrança e se encarrega de imprimir e postar os Boletos, tendo sido acertado previamente entre o Beneficiário e o Pagador, o boleto poderá ser remetido ao Pagador por e-mail, destinando-o ao endereço especificado neste campo. Se o endereço de e-mail informado for inválido, o boleto será impresso e enviado pelos meios tradicionais. Neste caso o Beneficiário será informado no arquivo retorno pela ocorrência '25' e o motivo '1826'. Se o pagador não acessar o boleto até 5 dias úteis antes do vencimento, desde que já tenham se passado 2 dias úteis do envio do e-mail, o boleto será impresso e enviado pelos meios tradicionais. Neste caso, o beneficiário será informado no arquivo retorno pela ocorrência '25' e o motivo '1818'. Opcional Cobrança e-mail não compatível com cobrança mensagem.
44 email_pagador Subparâmetro de grupo_email_pagador que contém a String do endereço de e-mail. Email Contato Opcional 100 caracteres alfanuméricos.
45 cpf_cnpj_sacador_avalista Deve ser informado o número de inscrição do pagador no CPF/CNPJ sem traços e barras. Não Tratado Não Tratado Opcional Inserir em texto corrido o CPF ou CNPJ. Em caso de CPF, enviar 11 posições. Formato: 00000000000000.
46 nome_sacador_avalista Deve ser informado o nome do Sacador Avalista. Não Tratado Não Tratado Opcional 50 caracteres alfabéticos.
47 logradouro_sacador_avalista Deve ser informado logradouro do Sacador Avalista. Não Tratado Não Tratado Opcional 40 caracteres alfanuméricos.
48 bairro_sacador_avalista Deve ser informado o bairro do Sacador Avalista. Não Tratado Não Tratado Opcional 15 caracteres alfanuméricos.
49 cidade_sacador_avalista Deve ser informada a cidade do Sacador Avalista. Não Tratado Não Tratado Opcional 20 caracteres alfanuméricos.
50 uf_sacador_avalista Deve ser informada a sigla da União Federativa o Sacador Avalista (UF). Não Tratado Não Tratado Opcional 2 caracteres alfanuméricos.
51 cep_sacador_avalista Deve ser informado o Código de Endereçamento Postal do Sacador Avalista (UF). Não Tratado Não Tratado Opcional Inserir no formato 00000000. Todos os parâmetros dos dados do Sacador Avalista são opcionais, porém se um deles for preenchido, todos eles se tornam obrigatórios.
52 codigo_moeda_cnab Deve ser informado o código CNAB da moeda que expressa o valor do título. Para o Banco Itaú o título é sempre emitido em real. Para moeda real o campo deve ser preenchido com 09. Não Tratado Não Tratado Obrigatório Inserir no formato 00. Inserir 0 à esquerda.
53 quantidade_moeda Deve ser informada a quantidade da moeda informada. Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal)
54 data_juros Deve ser informada a data que começará a cobrar juros do título. Caso esteja vazio, o valor automaticamente passará a assumir a data de vencimento. Não Tratado Não Tratado Opcional Inserir em formato YYYY-MM-DD.
55 tipo_juros Inserir somente algum dos valores da tabela. Clique aqui para acessar a tabela. Não Tratado Não Tratado Obrigatório Para cada um dos valores informados, no boleto será impresso a anotação referente. Por exemplo: “APÓS VENCIMENTO, COBRAR JUROS DE (valor/percentual) (dias corridos/dias úteis).
55.1 valor_juros Deve ser informado o valor de juros (de acordo com o selecionado em tipo_juros). Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
55.2 percentual_juros Deve ser informado o percentual dos juros (de acordo com o selecionado em (tipo_juros). Não Tratado Não Tratado Opcional Inserir em formato 999999900000. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
56 data_multa Deve ser informada a data em que será cobrada multa ao ser atingida. Caso esteja vazio, o valor automaticamente passará a assumir a data de vencimento. Não Tratado Não Tratado Opcional Inserir em formato YYYY-MM-DD.
56.1 tipo_multa Deve ser informado um dos valores de acordo com a tabela. Clique aqui para visualizar a tabela. Não Tratado Não Tratado Obrigatório
56.2 valor_multa Deve ser informado o valor da multa (de acordo com o selecionado em tipo_multa). Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
56.3 percentual_multa Deve ser informado o percentual da multa (de acordo com o selecionado em

tipo_multa).

Não Tratado Não Tratado Opcional Inserir em formato 999999900000. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
57 grupo_desconto lista (ocorre até 5 vezes) que contém os seguintes parâmetros abaixo.
57.1 data_desconto Deve ser informada uma data de referência para o desconto. Não Tratado Não Tratado Opcional Inserir em formato YYYY-MM-DD.
57.2 tipo_desconto Deve ser informado um dos valores de acordo com a tabela. Clique aqui para visualizar a tabela. Não Tratado Não Tratado Obrigatório
57.3 valor_desconto Deve ser informado o valor da multa (de acordo com o selecionado em tipo_desconto). Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
57.4 percentual_desconto Deve ser informado o percentual da multa (de acordo com o selecionado em (tipo_desconto). Não Tratado Não Tratado Opcional Inserir em formato 999999900000. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
58 tipo_autorizacao_recebimento Deve ser informado um dos valores de acordo com a tabela. Clique aqui para visualizar a tabela. Não Tratado Não Tratado Obrigatório
59 tipo_valor_percentual_recebimento Deve ser informado um dos valores:

Domínios:
Quando o recebimento divergente for informado por valores - V
Quando o recebimento divergente for informado por percentuais - P

Não Tratado Não Tratado Opcional
60 valor_minimo_recebimento Deve ser informado o valor mínimo de recebimento. Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
61 percentual_minimo_recebimento Deve ser informado o percentual mínimo de recebimento. Não Tratado Não Tratado Opcional Inserir em formato 999999900000. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
62 valor_maximo_recebimento Deve ser informado o valor máximo de recebimento. Não Tratado Não Tratado Opcional Inserir em formato 99999999999999900. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).
63 percentual_recebimento Deve ser informado o percentual máximo de recebimento. Inserir em formato 999999900000. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal). Não Tratado Não Tratado Opcional Os campos: "valor_minimo_recebimento" ou "percentual_minimo_recebimento" e ”valor_maximo_recebimento" ou "percentual_maximo_recebimento", se tornam obrigatórios quando o campo "tipo_autorizacao_recebimento" recebe valor "aceita_minimo_maximo". Quando o tipo_autorizacao_recebimento for igual à “4”, apenas os campos valor/percentual mínimo são obrigatórios.
64 agencia_grupo_rateio Deve ser informada a agência bancária que ocorrerá o rateio. Não Tratado Não Tratado Opcional Inserir no formato 0000.
65 conta_grupo_rateio Deve ser informada a conta bancária que ocorrerá o rateio. Não Tratado Não Tratado Opcional Inserir no formato 0000000. Não incluir dígito verificador. Inserir 0 à esquerda.
66 digito_verificador_conta_grupo_rateio Deve ser informado o dígito verificador da conta em que ocorrerá o rateio. Não Tratado Não Tratado Opcional Inserir no formato 0.
67 tipo_rateio Deve ser informado um dos valores de acordo com a tabela. Clique aqui para visualizar a tabela. Não Tratado Não Tratado Opcional
68 valor_percentual_rateio Deve ser informado o valor ou percentual do rateio. Todos os parâmetros no rateio são opcionais, porém se um deles for preenchido, todos eles tornam-se obrigatórios. A conta do beneficiário não deve ser incluída na relação de contas de rateio. Não Tratado Não Tratado Opcional Inserir em formato 99999999999900000. Completar com zeros à esquerda e à direita (9 - Digito inteiro. 0 - Casa decimal).


Domínios: especie

• Duplicata Mercantil - 01
• Nota Promissória - 02
• Nota de Seguro - 03
• Mensalidade Escolar - 04
• Recibo - 05
• Contrato - 06
• Cosseguros - 07
• Duplicata de Serviço - 08
• Letra de Câmbio - 09
• Nota de Débitos - 13
• Documento de Dívida - 15
• Encargos Condominiais - 16
• Prestação de Serviços - 17
• Boleto de Proposta - 18
• Diversos - 99

Tabela de Instruções de Cobrança

Instrução Código
Devolver após 05 dias do vencimento 02
Devolver após 30 dias do vencimento 03
Receber conforme instruções no próprio título 05
Devolver após 10 dias do vencimento 06
Devolver após 15 dias do vencimento 07
Devolver após 20 dias do vencimento 08
PROTESTAR (envia ao cartório após quantidade dias dias úteis ou corridos do vencimento de acordo com o cadastro do beneficiário / não imprimi no boleto) 09
Não protestar (inibe protesto, quando houver) 10
Devolver após 25 dias do vencimento 11
Devolver após 35 dias do vencimento 12
Devolver após 40 dias do vencimento 13
Devolver após 45 dias do vencimento 14
Devolver após 50 dias do vencimento 15
Devolver após 55 dias do vencimento 16
Devolver após 60 dias do vencimento 17
Devolver após 90 dias do vencimento 18
Não receber após 05 dias do vencimento 19
Não receber após 10 dias do vencimento 20
Não receber após 15 dias do vencimento 21
Não receber após 20 dias do vencimento 22
Não receber após 25 dias do vencimento 23
Não receber após 30 dias do vencimento 24
Não receber após 35 dias do vencimento 25
Não receber após 40 dias do vencimento 26
Não receber após 45 dias do vencimento 27
Não receber após 50 dias do vencimento 28
Não receber após 55 dias do vencimento 29
Importância de desconto por dia 30
Não receber após 60 dias do vencimento 31
Não receber após 90 dias do vencimento 32
Conceder abatimento ref. À PIS-PASEP/COFIN/CSLL, mesmo após vencimento 33
Protesto urgente (Envia ao cartório após quantidade_dias úteis ou corridos do vencimento de acordo com o cadastro do beneficiário / não imprime no boleto) 36
Receber até o último dia do mês de vencimento 37
Conceder desconto mesmo após vencimento 38
Não receber após o vencimento 39
Conceder desconto conforme nota de crédito 40
Protesto para fins alimentares 42
Sujeito a protesto se não for pago no vencimento 43
Importância por dia de atraso a partir de YYYY-MM-DD 44
Tem dia da graça 45
Uso do banco 46
Dispensar Juros/Comissão de permanência 47
Receber somente com a parcela anterior quitada 51
Efetuar o pagamento somente através deste boleto e na rede bancária 52
Uso do banco 53
Após vencimento, pagável somente na empresa 54
Uso do banco 56
Somar valor do título ao valor do campo mora/multa caso exista 57
Devolver após 365 dias de vencido 58
Cobrança negociada. Pagável somente por este boleto na rede bancária 59
Título entregue em penhor em favor do beneficiário acima 61
Título transferido a favor do beneficiário 62
Entrada em negativação expressa (Impresso no boleto: “SUJEITO A NEGATIVAÇÃO APÓS O VENCIMENTO”)

66

Não negativar (Inibe entrada na negativação expressa) 67
Uso do banco 70 a 75
Valor da ida engloba multa de 10% pro rata 78
Cobrar juros após 15 dias da emissão (Para títulos com emissão à vista) 79
Pagamento em cheque: Somente receber com cheque de emissão do pagador 80
Protesto Urgente – Protestar após quantidade_dias dias corridos do vencimento (imprime no boleto) 81
Protesto urgente – Protestar após quantidade_dias dias úteis do vencimento (imprime no boleto) 82
Operação referente a vendor 83
Após vencimento consultar a agência do beneficiário 84
Antes do vencimento ou após 15 dias, pagável somente em nossa rede 86
Uso do banco 87
Não receber antes do vencimento 88
Uso do banco 89
No vencimento, pagável em qualquer agência bancária 90
Não receber após quantidade_dias dias do vencimento 91
Devolver após quantidade_dias dias do vencimento 92
Mensagens nos boletos com 30 posições 93
Mensagens nos boletos com 40 posições 94
Uso do banco 95 a 97
Duplicata / Fatura nº 98


Tabela de Domínios: tipo_juros

Condição Valor
Valor diário para incidência de juros após um dia corrido da Data de Vencimento 1
Percentual diário para incidência de juros após um dia corrido da Data de Vencimento 2
Percentual mensal para incidência de juros após um dia corrido da Data de Vencimento 3
Percentual anual para incidência de juros após um dia corrido da Data de Vencimento 4
Isento de Juros: Não se aplica juros caso o título seja pago após a Data de Vencimento 5
Valor diário para incidência de juros após um dia útil da Data de Vencimento 6
Percentual diário para incidência de juros após um dia útil da Data de Vencimento 7
Percentual mensal para incidência de juros após um dia útil da Data de Vencimento 8
Percentual anual para incidência de juros após um dia útil da Data de Vencimento 9


Tabela de Domínios: tipo_multa

Condição Valor
Quando se deseja cobrar um valor fixo de multa após o vencimento. 1
Quando se deseja cobrar um percentual do valor do título de multa após o vencimento. 2
Isento: Quando não se deseja cobrar multa caso o pagamento seja feito após o vencimento 3


Tabela de Domínios: tipo_desconto

Condição Valor
Sem desconto - Quando não houver condição de desconto 0
Quando o desconto for um valor fixo se o título for pago até a data informada (data_desconto) 1
Quando o desconto for um percentual do valor do título e for pago até a data informada (data_desconto) 2
Quando o desconto for um valor dependente da quantidade de dias corridos na antecipação do pagamento referente à Data de Vencimento. 3
Quando o desconto for um valor dependente da quantidade de dias úteis na antecipação do pagamento referente à Data de Vencimento. 4
Quando o desconto for um percentual do valor do título e dependente da quantidade de dias corridos na antecipação do pagamento referente à Data de Vencimento. 5
Quando o desconto for um percentual do valor do título e dependente da quantidade de dias úteis na antecipação do pagamento referente à Data de Vencimento. 6

Por exemplo, se houver um título que tem valores dependentes da data de pagamento (R$400,00 se pago até o dia 10/10, R$ 500,00 se pago até o dia 20/10 e 600,00 se pago até dia 25/10), deverão ser inseridos três descontos no grupo, com data_desconto contendo as datas de referência e os valores (em valores fixos ou percentuais de desconto) respectivos dos descontos.

Tabela de Domínios: tipo_autorizacao_recebimento

Condição Valor
Quando o título aceita qualquer valor divergente ao da cobrança 1
Quando o título contém uma faixa de valores aceitos para recebimentos divergentes 2
Quando o título não deve aceitar pagamentos de valores divergentes ao da cobrança 3
Quando o título aceitar pagamentos de valores superiores ao mínimo definido 4


Tabela de Domínios: tipo_rateio

Condição Valor
Percentual ao valor original do título 1
Valor referente ao valor original do título 2
Percentual ao valor líquido recebido 3
Valor referente ao valor líquido recebido 4


Como realizar a criação de Lançamentos utilizando a funcionalidade Open Banking?


Para a criação de Lançamentos Financeiros acessar o caminho de Menu:
Menu > Finanças > Gestão Financeira > Movimentos > Lançamentos
Acessar o botão “Criar” e informar os dados necessários para a criação do Lançamento Financeiro a Receber utilizando o Portador parametrizado para Open Banking.

1- Etapa criação do Lançamento:

Criação do Lançamento Financeiro a Receber
Lancamento_Itau



2- Etapa Impressão do Boleto Bancário do Lançamento Financeiro:
Nesta etapa pode ser realizado a impressão do Boleto Bancário diretamente pelo próprio Lançamento Financeiro ou através da rotina de Emissão em lote "Emissão de Boletos Personalizados":

Impressão do Boleto Bancário do Lançamento Financeiro
Lancamento_Imprimir_Boleto



3- Etapa do Registro do Boleto Open Banking:
Nesta etapa pode ser realizado o "Registro" do Boleto diretamente pelo próprio Lançamento Financeiro ou através da rotina de Emissão em lote "Emissão de Boletos Personalizados": Basta acessar a Categoria "Open Banking" e selecionar o Item de Categoria "Registrar". Sistema irá realizar a comunicação através das parametrizações realizadas das Urls e Tokens de acesso e listará a situação do Registro do Boleto Bancário através do Relatório.

Registrar Boleto Open Banking através Lançamento Financeiro
Lancamento_Registrar



Relatório Remessa Bancária OnLine
Relat_Impressão_OP_Online



Após o registro automaticamente o sistema marca as opções de:
- Remessa Enviada
- Códigos de Barras Lodo

Boleto Bancário Registrado
Lancamento_Confirmado_Historico



Para verificar todas as movimentações realizada sobre Open Banking, elas estão sendo gravadas no Item de Categoria "Histórico" que fica na Categoria "Open Banking". Ao selecionar o Item de Categoria "Histórico" deve listar o Registro do Boleto Bancário.

Item de Categoria Histórico de Movimentos Open Banking
Historico_Lanc_OP



Como realizar o Envio em Lote Open Banking através da rotina Remessa de Cobrança Open Banking?

Assim como é possível realizar o Envio do Registro do Boleto Bancário através do próprio Lançamento Financeiro, existe a possibilidade de realizar esse processo em Lote, quando se tratar de vários registros a serem enviados. Através do Menu:

Menu: Finanças > Gestão Financeira > Rotinas > EDI> Transmite > Remessa Cobranças Bancárias > Remessa de Cobrança Open Banking

Remessa de Cobrança Open Banking
Remessa_de_Cobranca_Open_Banking



Esta rotina tem um conceito muito simples em relação aos filtros, foram disponibilizados campos essências que permitem ter uma rastreabilidade dos movimentos.

Unidade de Negócio: informe a Unidade de Negócio desejada para realizar o filtro para busca dos movimentos.
Data: informe a Data desejada para realizar o filtro para busca dos movimentos.
Vencimento: informe o período de Vencimento desejado para realizar o filtro para busca dos movimentos.
Lançamento: informe a faixa de Lançamentos desejada para realizar o filtro para busca dos movimentos.
Tipo de Pagamento: informe o Tipo de Pagamento desejado para realizar o filtro para busca dos movimentos.
Série: informe a Série desejada para realizar o filtro para busca dos movimentos.
Nota Fiscal: informe a faixa de Nota Fiscal desejada para realizar o filtro para busca dos movimentos.
Conta Financeira: informe a Conta Financeira desejada para realizar o filtro para busca dos movimentos.
Empresa: informe a faixa de Empresa desejada para realizar o filtro para busca dos movimentos.
Cobrança: informe a faixa de Empresa de Cobrança desejada para realizar o filtro para busca dos movimentos.

Após informado os filtros e confirmado a operação da rotina o sistema gera um relatório com a listagem dos movimentos. Na coluna "Registro", será listado se houve a confirmação ou ocorreu algum erro.

Relatório Remessa de Cobrança Open Banking
Relat_Remessa_Bancaria_Open_Banking



Como realizar a alteração de Vencimento do Lançamento já Registrado Open Banking e reenviá-lo novamente?


Irá surgir a necessidade de realizar a alteração do Vencimento do Lançamento Financeiro já registrado pelo Open Banking, qual é o passo a passo para proceder diante dessa modificação?
Dado que já temos um Lançamento Financeiro já Registrado Open Banking, basta acessar o Lançamento Financeiro desejado através do caminho do Menu:
Menu > Finanças > Gestão Financeira > Movimentos > Lançamentos
Acessar o Lançamento Financeiro em modo Modificar e alterar o campo "Venc.Original", automaticamente após alteração do Vencimento, o sistema insere o Comando "05" no campo "Comando de Remessa", porém diferente do Banco do Brasil o envio não é automático, pois por enquanto o Banco não disponibilizou essa funcionalidade. Logo esse registro de alteração de vencimento terá que ser tratado manualmente através de um envio de remessa bancária de cobrança.
Importante: para o envio da alteração do Vencimento o sistema já considera o campo Vencimento, caso seja utilizado a Modalidade como Seguinte por exemplo, onde é possível ter um Vencimento Original diferente do Vencimento.

Lançamento Financeiro a Receber já Registrado
Lancamento_Sem_Alt_Venc



Vencimento alterado, sistema insere o Comando "05" no campo "Comando de Remessa". Lembrando, para que essa alteração seja registrado no Banco, esse processo terá que ser gerado uma Remessa de Cobrança para enviar ao Banco esse registro.

Vencimento alterado e registro salvo
Lancamento_Venc_Alterado


Como parametrizar para envio Open Banking a Negativação ou Protesto?



Basta acessar o Cadastro do Portador e inserir as parametrizações nos campos Intrução 1 , Intrução 2 e os dias no campo Protestar após na guia Configurações.

Menu > Finanças > Gestão Financeira > Parâmetros > Portadores

Instrução 1 e 2 Cadastro do Portador
Cadastro_Portador_Negativacao_ITAU_Instrucoes


Dias de Protesto Cadastro do Portador
Cadastro_Portador_Negativacao_ITAU


Banco ITAÚ:

Para este Banco a negativação é parametrizada no Cadastro do Portador na guia “Configurações” no campo “Protestar após” e considera os campos “Instrução 1” e “Instrução 2” sendo através destes campos que o sistema reconhece e passa considerar o envio das tags para os dados da API do Banco.

"instrucao_cobranca_1": “66”

"instrucao_cobranca_2": “09”

"quantidade_dias_2": “3”

Como cadastrar as Mensagens de Retorno API Financeira Sugestão Usuário?


As Mensagens de Retorno API Financeira é uma funcionalidade para facilitar a identificar e de orientação para com as mensagens provindas das APIs que o Sistema tem conexão.
Elas foram implementadas para Open banking.
Para acessar o cadastro basta acessar através do Menu:

Menu: Finanças > Gestão Financeira > Parâmetros > Mensagens de Retorno API Financeiro

Mensagens de Retorno API Financeiro
Mensagens_Retorno_API_Financeiro


Banco: código do Banco conforme codificação no orgão que rege os Bancos Febraban.

Código Erro: código do erro conforme layout das APIS dos Bancos.

Status: é o código de Status de erro do Servidor retornado da API dos Bancos. (Código HTTP)

Descrição do Erro (Banco): essa descrição é oriunda do Banco retornada pela API deles.

Sugestão CIGAM: esta mensagem é interna do Sistema, ou seja, quando internamente identificarmos uma situação a qual a Mensagem retornada pelo Banco não é clara, vamos alimentar com Mensagens de sugestão, para orientar as possíveis causas, dando um norte para situação.

Sugestão Cliente: este campo é reservado para o próprio usuário, possibilitando cadastrar Mensagens que ele identificar para facilitar no processo de entendimento das Mensagens de Retorno das APIs.

Agora através desta aplicação, quando ocorrer um Erro de Open Banking é possível verificar através dos links dispostos na tela de Lançamento Financeiro no campo Situação Open Banking, terá um link para tabela do erro ocorrido.

Lançamento Financeiro Mensagens de Retorno API Financeiro
Mensagens_Retorno_API_Financeiro_BB_OP


Ou também através do Histórico Open Banking:

Lançamento Financeiro Mensagens de Retorno API Financeiro Histórico Open Banking
Historico_OP_Mensagens_Retorno_API_Financeiro_BB_OP