Onboarding BTG
Através desta tela, é possível realizar o consentimento com o banco BTG. Esta etapa é necessária para que seja permitido realizar operações financeiras utilizando o BTG.
Requisitos para realizacão do consentimento
- Possuir conta ativa no BTG Empresas com atendimento vinculado à Senior Capital;
- Caso já possua conta no BTG Empresas (agência 0050), mas ainda não esteja vinculado à Senior Capital, entre em contato com um executivo da Senior Capital ou através do e-mail implantacao@seniorcapital.com.br para solicitar a transferência de atendimento.
- Caso ainda não possua conta corrente, clique aqui para iniciar a abertura de conta com atendimento pela Senior Capital;
- O usuário responsável pela realização do consentimento deve possuir os perfis e permissões devidamente habilitados. Caso não possua, é necessário realizar a configuração conforme orientado na seção de configuração de perfil.
Como realizar o consentimento?
Para realizar o consentimento, acesse Banking > BTG > Onboarding, e siga os passos abaixo:
- Clique em Novo consentimento;
- Na etapa de Parametrizações, preencha o campo CNPJ, e em seguida, habilite os escopos desejados;
- Clique em Iniciar o consentimento;
- Você é encaminhado para a tela de cadastro do BTG, onde é necessário possuir uma conta cadastrada para acessar;
- Ao acessar, são mostrados os escopos que foram habilitados na etapa de Parametrização, no ERP senior X. Clique em Continuar;
- Você é encaminhado para a tela de confirmação CNPJ. Após confirmar, você é redirecionado para o ERP senior X;
- Já no ERP senior X, o consentimento é finalizado;
- Clique em Finalizar;
Após isso, o escopo habilitado passa a ser exibido na Lista de Consentimentos, e através do botão Ações, é possível Refazer o consentimento ou então Consultar o histórico.
Como realizar a configuração de perfil do usuário?
Para realizar a configuração de perfil do usuário, acesse o site empresas.btgpactual.com, e siga as orientações abaixo:
- Informe seu login e clique em Acessar a plataforma;
- Após o login, acesse o menu de perfil no canto superior direito e selecione Gestão de usuários;
- Clique em Adicionar usuário para iniciar o cadastro;
- Preencha as informações solicitadas:
- CPF, Nome completo, E-mail pessoal e celular;
- Selecione o tipo de usuário e as funções que ele exercerá na plataforma;
- Clique em Finalizar para concluir o cadastro;
Observação: Após a criação do usuário, é necessário garantir que ele possua os poderes adequados (Exemplo: ABRIR CONTA e/ou MOVIMENTAR CONTA), conforme exigido para cada operação.
Como realizar a configuração do Open Finance?
O Open Finance é um sistema que permite o compartilhamento seguro e controlado de dados e serviços financeiros entre instituições, mediante consentimento do cliente.
Para empresas clientes do BTG Pactual, essa iniciativa proporciona:
- Maior transparência;
- Mais controle sobre dados financeiros;
- Agilidade na gestão e na tomada de decisões.
Regras do Consentimento
- O consentimento pode ser cancelado a qualquer momento;
- Deve ser aprovado em até 60 minutos;
- Para aprovar transferências via PIX, o usuário deve possuir o poder MOVIMENTAR CONTA na instituição detentora da conta;
- Para aprovar compartilhamento de dados, o usuário deve possuir o poder ABRIR CONTA na instituição transmissora;
- O consentimento é unilateral (válido para uma instituição por vez);
- O prazo de vigência pode ser definido como até 1 ano ou indeterminado.
Pontos Relevantes
- A jornada de compartilhamento de dados inicia sempre na instituição receptora (que solicita os dados);
- A jornada de pagamentos inicia na instituição iniciadora (que solicita a transação);
- O processo deve ser concluído integralmente, aguardando o redirecionamento entre as instituições;
- A aprovação deve ser iniciada e finalizada pela mesma pessoa;
- Não utilize aplicativos no modo conhecido como pasta segura durante o processo (Android/iOS);
- Respeite as regras de firmas e poderes cadastradas na instituição transmissora/detetora da conta.
Na instituição receptora (BTG)
- Acesse o menu Open Finance na plataforma BTG Empresas (empresas.btgpactual.com);
- Selecione a opção Trazer dados;
- Escolha a instituição transmissora (origem dos dados);
- Defina o prazo de vigência do consentimento;
- Revise as informações e clique em Confirmar;
- Aguarde o redirecionamento automático para a instituição transmissora.
Na instituição transmissora (que fornece os dados, como Itaú, Banco do Brasil, Santander, entre outros.)
- Realize a autenticação (biometria, usuário e senha);
- Revise os dados solicitados para compartilhamento;
- Confirme o consentimento;
- Aguarde o redirecionamento automático de volta à instituição receptora (BTG);
- Será exibida a confirmação de sucesso.
Em caso de múltiplas alçadas (2 ou mais aprovadores)
- Os usuários com poder ABIR CONTA devem acessar a instituição transmissora com o mesmo CNPJ;
- Acesse o menu Open Finance;
- Localize as aprovações pendentes;
- Revise e aprove o compartilhamento;
- Aguarde a confirmação final.
- A conta precisa ser atendida pela Senior Capital?
Sim. Isso é necessário para garantir as condições comerciais negociadas para uso do ERP Banking. Caso já possua conta na agência 0050 (BTG Empresas), solicite a transferência de atendimento através do e-mail implantacao@seniorcapital.com.br. Caso contrário, utilize o link de abertura de conta. - O que pode causar falhas ou interrupções no processo?
Problemas técnicos: uso de pasta segura e instabilidade de sistemas;
Ações do usuário: fechar aplicativos, não aguardar redirecionamento ou exceder o tempo limite. - Como funcionam as alçadas em cada banco?
As alçadas seguem o cadastro de firmas e poderes da empresa na instituição transmissora/detetora.
Abrir Conta: necessário para compartilhamento de dados;
Movimentar Conta: necessário para transferências PIX.
Também deve ser respeitada a quantidade de aprovadores exigida. - Qual é o prazo de vigência do consentimento?
Pode ser definido pelo cliente como até 1 ano ou por prazo indeterminado. - Como revogar um consentimento?
Acesse o menu Open Finance em uma das instituições envolvidas, selecione o consentimento e finalize o compartilhamento. - Quem pode conceder o consentimento?
Usuários vinculados à empresa que possuam acesso às contas e os poderes necessários (ABRIR CONTA e/ou MOVIMENTAR CONTA), conforme definidos na instituição transmissora/detentora.
Fluxo do processo de consentimento com o banco BTG
Este fluxo descreve o processo de autenticação e autorização necessário para estabelecer essa integração.
Redirecionamento Inicial
Quando um usuário tenta acessar os serviços do BTG a partir do ERP Banking, ele é redirecionado para a página de login do BTG. Durante esse redirecionamento, são enviados vários dados essenciais, incluindo a URL de redirecionamento, o client_id do ERP Banking, um código de sessão para controle interno e outros parâmetros necessários para o processo de autenticação.
Concessão de Permissões
Na página de login do BTG, o usuário deve conceder permissões para os escopos solicitados pelo ERP Banking. Após a concessão das permissões, o usuário é redirecionado de volta para a URL especificada inicialmente.
Recebimento de Dados
No redirecionamento de volta para o ERP Banking, são recebidos dois elementos chave: o código de sessão, que é utilizado para controle interno do ERP Banking, e um authorization code, que indica que o usuário concedeu as permissões necessárias.
Obtenção de Tokens
O authorization code recebido é então utilizado, junto com o client_id e o client_secret, para obter os tokens de acesso (accessToken) e atualização (refreshToken). Esses tokens são cruciais para futuras interações com as APIs do BTG.
Os tokens devem estar vinculados ao usuário e serem utilizados nas chamadas às APIs do BTG para operações em contas bancárias, como emissão de boletos, transferências via PIX, entre outras.
O accessToken é válido por 24 horas, enquanto o refreshToken tem validade de 10 dias. Em geral, cada requisição às APIs retorna um refreshToken atualizado.
Se o refreshToken expirar, é necessário passar novamente pelo processo de consentimento.
Armazenamento e Uso dos Tokens
Os tokens (accessToken e refreshToken) obtidos são armazenados e vinculados ao usuário no ERP Banking. Esses tokens são necessários para a execução de operações financeiras através das APIs do BTG, como emissão de boletos, realização de transferências via PIX, entre outras.
Links úteis
Nos links abaixo, você pode acessar as documentações dos fluxos de autenticação do BTG:
Microsserviço e entidades
O microsserviço erpx-bnk-onboarding é responsável por gerenciar o consentimento de dados e manter a integridade da autenticação com o banco BTG. Este serviço assegura que todas as interações e autenticações sejam realizadas de forma segura e eficiente.
Entidades Criadas
Armazena tokens de autenticação e informações de consentimento do banco BTG.
Atributos:
- Id do registro;
- CNPJ consentido;
- Access Token para acesso às APIs do BTG;
- Refresh Token para solicitação de um novo Access Token;
- Status do consentimento com BTG:
- PROCESSANDO;
- ATIVO;
- ATIVO_COM_ALERTA;
- INATIVO.
- Mensagem em caso de erro;
- Data e hora do último consentimento bem-sucedido;
- Escopo utilizado na integração com BTG.
Armazena o histórico de autenticações realizadas com o banco BTG.
Atributos:
- Id do registro;
- Access Token para acesso às APIs do BTG;
- Status da autenticação com BTG;
- Mensagem em caso de erro;
- Data e hora do último consentimento bem-sucedido.
Os dados de autenticação do banco BTG são armazenados com valores default definidos na PDL. Os parâmetros para configuração estão disponíveis no caminho abaixo:
- Acesse Tecnologia > Configuração > Por Tenant;
- Filtre pelo seu tenant;
- Pesquise pelo domínio erpx_bnk;
- No serviço onboarding, clique em Editar;
- Acesse a guia Sistema. Esta guia possui os parâmetros para a configuração do serviço onboarding.
Criação do consentimento
A API responsável por gerar a URL que redireciona para consentimento bancário no BTG é a gerarUrlConsentimentoBtg. Veja abaixo os seus detalhes:
"Action para iniciar autenticação com o banco BTG" action gerarAutenticacaoBtg { in { "Código de autorização do consentimento no BTG" authorizationCode: string "CNPJ que foi feito o consentimento" cnpj: string } out{} } "Signal para gerar autenticação com o banco BTG" signal gerarAutenticacaoBtgAsync { in { "Código de autorização do consentimento no BTG" authorizationCode: string? "Id do registro de autenticação com o BTG no banking" autenticacaoBtgId: string? } } "Sinal para atualizar o token de acesso as APIs do BTG" signal refreshBtgToken { in { "CNPJ que foi feito o consentimento" cnpj: string } } "Event para avisar como finalizou a autenticação com BTG" event autenticacaoBtgFinalizada { payload { "Status da autenticação com BTG" situacao: enumSituacaoAutenticacaoBtg? "Mensagem em caso de erro na autenticação" mensagemErro: string? } } }
Ao chamar a API, é verificado se há alguma autenticação em andamento. Se uma autenticação estiver em processo, a seguinte exceção é lançada: "Existe um consentimento sendo processado. Aguarde-o finalizar antes de avançar."
Ao realizar a verificação da autenticação, caso não haja erros, a URL é montada com os seguintes critérios e valores:
- URL base: a URL base é montada de acordo com o valor da propriedade BTG - Produção habilitado que pode ser encontrada neste caminho.
- Caso esteja Verdadeiro, a URL será: https://id.sandbox.btgpactual.com
- Caso esteja Falso, a URL base será: https://id.btgpactual.com
- API de autenticação: compõe a URL com o trecho: /oauth2/authorize
- Client ID: a URL recebe o seguinte trecho: ?client_id= O valor da propriedade BTG - Client id
- Response type: compõe a URL com o trecho: &response_type=code
- URL de redirecionamento do banking: a URL de consentimento recebe o parâmetro redirect_uri, que compõe com o seguinte trecho: &redirect_uri=endereço do serviço
- Ao informar o campo CNPJ, devem constar os seguintes parâmetros na URL gerada:
- state=CNPJ INFORMADO
- resource=CNPJ INFORMADO
- Escopo: é necessário constar na URL o escopo que será disponibilizado no BTG, com seguinte trecho: &scope=openid empresas.btgpactual.com/bank-slips empresas.btgpactual.com/bank-slips.readonly empresas.btgpactual.com/accounts empresas.btgpactual.com/accounts.readonly
- Prompt: compõe a URL com o trecho: &prompt=consent
A partir desses parâmetros a URL de consentimento é montada, e sua estrutura fica de acordo com o exemplo:
https://id.sandbox.btgpactual.com/oauth2/authorize?client_id=1c2c82a2-f9e8-40f8-a802-6ab9842860d1&response_type=code&redirect_uri=https://cloud-leaf.senior.com.br/gestao-empresarial/erpx_bnk_cob/pix&scope=openid empresas.btgpactual.com/bank-slips empresas.btgpactual.com/bank-slips.readonly empresas.btgpactual.com/accounts empresas.btgpactual.com/accounts.readonly&prompt=consent
A API gerarAutenticacaoBtg é responsável por solicitar os tokens de autorização do BTG, através do código de autorização. Veja abaixo os seus detalhes
"Action para iniciar autenticação com o banco BTG" action gerarAutenticacaoBtg { in { "Código de autorização do consentimento no BTG" authorizationCode: string "CNPJ que foi feito o consentimento" cnpj: string } out{} } "Signal para gerar autenticação com o banco BTG" signal gerarAutenticacaoBtgAsync { in { "Código de autorização do consentimento no BTG" authorizationCode: string? "Id do registro de autenticação com o BTG no banking" autenticacaoBtgId: string? } } "Sinal para atualizar o token de acesso as APIs do BTG" signal refreshBtgToken { in { "CNPJ que foi feito o consentimento" cnpj: string } } "Event para avisar como finalizou a autenticação com BTG" event autenticacaoBtgFinalizada { payload { "Status da autenticação com BTG" situacao: enumSituacaoAutenticacaoBtg? "Mensagem em caso de erro na autenticação" mensagemErro: string? } } }
A API gerarAutenticacaoBtg recebe um código de autorização (authorizationCode) do BTG:
- Se existir alguma autenticação sendo processada, lança a exceção: "Existe um consentimento sendo processado. Aguarde-o finalizar antes de avançar";
- Se não existir, cria um registro na tabela autenticacaoBtg com os seguintes valores:
- autenticacaoBtg.situacao = PROCESSANDO;
- autenticacaoBtg.cnpj = CNPJ INFORMADO.
Veja abaixo os detalhes em caso de Sucesso e em caso de Falha da autenticação:
Em caso de SUCESSO da autenticação, a tabela autenticacaoBtg é atualizada com os seguintes valores:
- autenticacaoBtg.situacao = ATIVO;
- autenticacaoBtg.dataConsentimentoAtivo = DATA E HORA DO MOMENTO DO CONSENTIMENTO;
- A API do BTG retorna o accessToken e o refreshToken, e os mesmos são criptografados e atualizados na tabela autenticacao_btg;
- Cria um webhook para o evento: erpx_bnk_cob / boleto / iniciarIntegracaoCobrancaBoletoBtg + CNPJ INFORMADO;
Após isso, um agendamento é criado na plataforma para a API refreshBtgToken com a descrição: Refresh BTG Token CNPJ: CNPJ INFORMADO;
- É possível verificar a criação no seguinte caminho:
- Tecnologia > Customização > Agendamentos;
- Pesquise pelo dominio erpx_bnk;
- Edite o serviço onboarding.
- O agendamento é configurado para rodar a cada 12 horas.
Por fim, cria um registro na tabela autenticaçãoBtgHistorico com os seguintes valores:
- autenticaçãoBtgHistorico.situacao = SUCESSO;
- autenticaçãoBtgHistorico.dataConsentimento = DATA E HORA DO MOMENTO DO CONSENTIMENTO;
- autenticacaoBtg.autenticacaoBtg = autenticacaoBtg.id.
Em caso de FALHA da autenticação, a tabela autenticacaoBtg é atualizada com os seguintes valores:
- Caso não exista nenhum valor na tabela autenticaçãoBtgHistorico com SUCESSO para o cnpj informado:
- autenticacaoBtg.situacao = INATIVO;
- autenticacaoBtg.dataUltimoConsentimento = DATA E HORA DO MOMENTO DO CONSENTIMENTO;
- autenticacaoBtg.mensagemErro = MENSAGEM DE ERRO NA FALHA DA AUTENTICACAO;
- Caso exista algum valor na tabela autenticaçãoBtgHistorico com SUCESSO para o CNPJ informado:
- autenticacaoBtg.situacao = ATIVO_COM_ALERTA;
- autenticacaoBtg.dataUltimoConsentimento = DATA E HORA DO MOMENTO DO CONSENTIMENTO;
- autenticacaoBtg.mensagemErro = MENSAGEM DE ERRO NA FALHA DA AUTENTICACAO.
A API refreshBtgToken recebe o CNPJ e atualiza os tokens da tabela autenticacaoBtg para o CNPJ informado. Além disso, ela é responsável por atualizar os tokens de autorização do BTG a cada 12 horas.
Na chamada da API refreshBtgToken, é buscado o último registro de consentimento na tabela autenticacao_btg com situacao = SUCESSO.
Caso encontre algum registro, busca o campo autenticacao_btg.refresh_token, e descriptografá-o.
- Após descriptografar o refresh token, chama a API de autenticação do BTG para buscar os novos tokens de autorização:
- Ao buscar os novos tokens, criptografá-os e atualiza a tabela autenticacao_btg nos seguintes campos:
- autenticacao_btg.acess_token;
- autenticacao_btg.refresh_token;
- autenticacao_btg.situacao = SUCESSO.
- Ao buscar os novos tokens, criptografá-os e atualiza a tabela autenticacao_btg nos seguintes campos:
- Qualquer erro que ocorra neste processo, atualiza a tabela autenticacao_btg para ERRO:
- autenticacao_btg.situacao = ERRO;
- autenticacao_btg.mensagem_erro = mensagem de erro ocorrida durante o processo.
English
Español
English
Español


