NAV
Versão: v1.0.0-rc6.4
javascript python java

Introdução

Sejam bem-vindos à área do desenvolvedor do Portal do Open Banking Brasil.

Nessa área os desenvolvedores encontrarão informações para observância obrigatória de todos os participantes, sejam eles obrigatórios ou voluntários, incluindo padrões técnicos de interfaces, glossário de termos técnicos, especificações dos diferentes tipos de APIs - incluindo seu versionamento, requisitos não funcionais como SLAs e limites de tráfego de requisições, informações de desempenho e disponibilidade, FAQ com diversas orientações aos desenvolvedores, entre outros elementos necessários à implementação do Sistema Financeiro Aberto. Todas as informações foram definidas de acordo com a regulamentação vigente no País, respeitando instruções normativas e resoluções do Banco Central do Brasil e do Conselho Monetário Nacional.

Este sítio eletrônico e seu conteúdo foram criados e são mantidos pela Estrutura responsável pela Governança do Open Banking Brasil, formada por integrantes de múltiplas associações: Febraban, ABBC, ACREFI, ABBI, OCB, Abecs, Abipag, Abranet, Câmara e-net, ABCD e ABFintechs.

Notificações

Workshops com OpenID Foundation

publicado em 26 de maio de 2021

A OpenID Foundation promoveu dois workshops para os participantes do Open Banking Brasil sobre o perfil de segurança FAPI e o conjunto de testes de conformidade e certificação FAPI.

Os workshops tiveram 5 objetivos principais:

No dia 17 de maio de 2021 foi realizado o primeiro workshop, que consistiu em uma introdução à OpenID Foundation, padrões OpenID incluindo FAPI e o programa de certificação OpenID. A gravação do workshop pode ser acessada pelo link

No dia 24 de maio de 2021 foi realizado o segundo workshop, que possuiu um aprofundamento mais técnico. Neste workshop, foi abordado o detalhamento das características do FAPI, incluindo o FAPI 2.0, e uma demonstração abrangente do pacote de conformidade FAPI, incluindo uma demonstração ao vivo de uma implementação FAPI. A gravação do workshop pode ser acessada pelo link

Atualização das APIs no diretório

publicado em 14 de abril de 2021

Seguindo determinação do Banco Central do Brasil, todas as instituições financeiras vinculadas à Fase 1 do Open Banking deverão especificar todas as ramificações (endpoints) de suas famílias de APIs no diretório de < target="_blank" href="https://auth.directory.openbankingbrasil.org.br/interaction/asl3sZulHvQW1SjMnXLtu">participantes do Open Banking</>. Essa atualização deverá ser feita em até 15 dias a partir da data de envio deste documento.

Na prática, as instituições deverão excluir a entrada que já existe no diretório de participantes e incluir cada uma das ramificações que entenda serem válidas para o seu próprio caso.

Tratam-se de 4 famílias de APIs, com até 20 ramificações no total. Essa atualização proporcionará mais transparência ao consumidor, que terá mais facilidade para localizar as informações das instituições. A ação também evitará distorções nas métricas de disponibilidade de interfaces, já que as instituições não deverão cadastrar endpoints relativos a dependências ou a produtos e serviços que não tenham, não ofertem ou não distribuam.

Dessa maneira, a mensagem de erro 404 não será mais exibida nestes casos. Até o dia 16 de abril de 2021, uma FAQ com as principais dúvidas será disponibilizada, assim como um manual com passo a passo para a atualização das APIs.

São Paulo, 14 de abril de 2021

Grupo de Trabalho de Infraestrutura do Open Banking Brasil

Como realizar a publicação das APIs da Fase 1 do Open Banking

publicado em 14 de abril de 2021

Para a primeira fase do Open Banking Brasil, conhecida como Open Data, as instituições registradas no ecossistema com o papel “instituição transmissora e receptora de dados” deverão realizar a publicação das suas APIs no diretório de participantes.

O papel “instituição transmissora e receptora de dados”, abreviada por DADOS no diretório de participantes, é destinado a todas as instituições dos agrupamentos S1 e S2, em caráter obrigatório, e a qualquer outra instituição regulada pelo Banco Central do Brasil, em caráter voluntário.

Para publicar as APIs da fase 1 descritas no Portal do Desenvolvedor do Open Banking o administrador da instituição no diretório de participantes com papel “DADOS” deve seguir as instruções contidas no Guia do diretório.

Caso a publicação tenha sido realizada de forma correta os endpoints das APIs poderão ser consultados através do JSON retornado pela API de participantes do diretório: https://data.directory.openbankingbrasil.org.br/participants. O acesso a essa API é livre e seu conteúdo é atualizado a cada 15 minutos.

Qualquer dúvida em relação ao processo de cadastro deverá ser enviado ao service desk do Open Banking.

Materiais adicionais:

Comunicado atualização do diretório

FAQ Diretório atualizado

Cadastro endpoints

Guia de Experiência de Compartilhamento de Dados e Iniciação de Pagamento

Esse guia é parte integrante do regulamento do Open Banking no Brasil e engloba um conjunto de requisitos mínimos que devem ser seguidos pelas instituições participantes com o objetivo de nortear a sua implantação e garantir uma experiência adequada e padronizada ao cliente, com foco na jornada do usuário para compartilhamento de dados e iniciação de pagamento.

Direcionado às instituições participantes do Open Banking no Brasil, o guia de experiência apresenta princípios, diretrizes, referências, requisitos obrigatórios e recomendações para a criação da jornada do usuário para compartilhamento de dados e iniciação de pagamento.

As recomendações podem ser seguidas para complementar a experiência, porém funcionalidades não previstas nesse documento serão aceitas, desde que atendam aos princípios e às diretrizes da regulamentação em vigor.

Cada caso de uso é acompanhado de telas ilustrativas para facilitar a compreensão do texto que não implicam em obrigatoriedade para o desenvolvimento das interfaces.

O guia pode ser baixado nesse link (OpenBanking - Guia de experiência do usuário para compartilhamento de dados e iniciação de pagamento).

Padrões

Estes padrões representam a versão 1.0.0, a qual fornece uma visão alto nível dos padrões. Consulte a seção versionamento para obter mais informações sobre como as versões são gerenciadas com o padrão.

Observe que, nesta proposta, as palavras-chave DEVEM, NÃO DEVEM, NECESSÁRIAS, RECOMENDADO, PODE e OPCIONAL, devem ser interpretadas conforme descrito na RFC2119.

Princípios

Os seguintes princípios técnicos não exaustivos constituem a base para o desenvolvimento e implementação das APIs para o Open Banking no Brasil.

Princípio 1: Segurança

A adoção de mecanismos de segurança no design e implementação das APIs do Open Banking no Brasil deverá considerar os padrões aplicáveis a cada uma de suas fases, visando a proteção e a disponibilidade do ecossistema como um todo, considerando clientes, participantes e os dados específicos compartilhados em cada fase.

Princípio 2: RESTful APIs

A API irá aderir aos conceitos de RESTful API sempre que for possível e sensato.

Princípio 3: Padrões existentes

Os padrões existentes serão adotados sempre que sua aplicação for relevante/apropriada e desde que não violem nenhum dos demais princípios, com foco na experiência do desenvolvedor e do usuário, e ainda, prevendo a extensibilidade, resiliência e a evolução do Open Banking no Brasil.

Princípio 4: ISO 20022

Os payloads das APIs serão desenvolvidos utilizando como base os elementos e componentes de mensagem ISO 20022, que poderão ser modificados, caso necessário, para deixar o payload mais simples e/ou atender às características locais, tal como implementado em diferentes jurisdições.

Princípio 5: Extensibilidade

Os fluxos das APIs serão estendidos para atender a casos de uso mais complexos em futuros releases, e, portanto, esse princípio será mantido em mente durante o design, e os procedimentos serão detalhados durante a implementação.

Princípio 6: Códigos de Status

A API usará dois códigos de status que atendem a dois propósitos diferentes: (i) o HTTP status code reflete o resultado da chamada da API e (ii) um campo status em alguns resource payloads reflete o status dos resources nos casos de acesso write (p.ex. iniciação de pagamento).

Princípio 7: Identificadores únicos

Um recurso REST deverá ter um identificador exclusivo que possa ser usado para identificar o recurso alvo da API. Este identificador será usado para criar URLs que permitam endereçar recursos específicos, obedecendo aos padrões definidos nesta documentação, no item Formação e estabilidade do ID.

Princípio 8: Categorização dos requisitos de implementação

Quando um requisito estiver sendo implementado por um transmissor e/ou um receptor, uma categorização diferente será aplicada. As funcionalidades, endpoints e campos em cada recurso serão categorizados como 'Obrigatório', 'Condicional' ou 'Opcional'.

Princípio 9: Agnósticas

As APIs serão agnósticas à implementação onde elas poderão ser consumidas independente das tecnologias adotadas no ecossistema, porém com aderência aos princípios contidos nesta documentação.

Princípio 10: Idempotência

As APIs serão definidas como idempotentes para não causar uma experiência ruim ao consumidor ou aumentar os indicadores de risco falso positivo. Trata-se de recurso necessário para garantir que não haja duplicidade em caso de perda de comunicação e não deve se limitar aos verbos HTTP, devendo ser aplicado ao design completo da API.

Versionamento

O controle de versão contemplará 4 tipos de lançamento (p.ex. major, minor, patch e release candidate) e terá prazos definidos para lançamento e implementação de novas versões major, bem como suporte de versões anteriores.

No link Anexo: Guia de Versionamento, integrante desta documentação, estão documentados os casos previstos em que uma nova versão de API poderá vir a quebrar o contrato estabelecido

O versionamento terá o seguinte formato contemplando 4 tipos de lançamentos de versões: 1.12.2.rc1 - significando versão major 1, versão minor 12 , aplicação de patchs versão 2 e release candidate 1

Será definido um cronograma de novas versões dos padrões para que os participantes consigam se planejar e desenvolver novas APIs, com cada um dos lançamentos tendo um prazo pré-estabelecido para ser implementado pelos participantes, mitigando, desta forma, o risco de múltiplas versões.

Não serão feitos mais do que um lançamento de versão major em um período de 6 meses. No entanto, serão previstas exceções para atender às alterações urgentes que não podem esperar até a próxima versão principal (major). Lançamentos de versões minor e patch podem ocorrer a qualquer momento.

Lançamentos minor não podem configurar em quebra de contrato, impactar significativamente endpoints e/ou exigir manutenção crítica.

Por fim, credenciais de acesso associadas às APIs deverão ser agnósticas à versão.

Estrutura da URI

A estrutura da URI para os endpoints deve ser implementada conforme abaixo:
<host> / open-banking / <api> / <versão> / <recurso>

Os componentes desta estrutura de URI estão descritos abaixo:

A versão minor será repassada apenas no header do payload de resposta, orientando a instituição receptora sobre quais serão os dados no retorno.

Como exemplo, para realizar o consumo do método electronic-channels da API channels na versão 1, a URI ficaria com a seguinte estrutura:

<host>/open-banking/channels/v1/electronic-channels

Cabeçalhos HTTP

Cabeçalhos HTTP suportados e suas funções.

Cabeçalho de requisição

Nome do cabeçalho Descrição Obrigatório
Content-Type Representa o formato do payload de requisição, por padrão/default definido como application/json;charset UTF-8. Obrigatório para chamadas PUT e POST. Os transmissores poderão implementar tratamento para outros padrões, sendo obrigatório apenas o suporte ao padrão. Não
Accept Especifica o tipo de resposta.
Se especificado, deve ser definido como application/json, a menos que o endpoint explicitamente suporte outro formato.
Se for definido um valor não suportado pelo endpoint, será retornado o código HTTP 406. Se não especificado, o padrão será application/json.
Não
Accept-Encoding Especifica os tipos de encoding(geralmente algoritmo de compressão) que são suportados pelo cliente, com previsão de suporte ao gzip por parte dos transmissores, sendo que o padrão é a transmissão dos dados não compactados e esta orientação aplica-se aos Dados Abertos. Não
If-Modified-Since Condiciona o resultado da requisição para que o recurso só seja enviado caso tenha sido atualizado após a data fornecida. Utiliza o padrão da RFC 7232, sessão 3.3: If-Modified-Since do protocolo HTTP. Não
x-fapi-auth-date Data em que o usuário logou pela última vez com o receptor Condicional
x-fapi-customer-ip-address O endereço IP do usuário se estiver atualmente logado com o receptor Condicional
x-fapi-interaction-id Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta Não
Authorization Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado Sim
x-idempotency-key Cabeçalho HTTP personalizado. Identificador de solicitação exclusivo para suportar a idempotência Condicional
x-jws-signature Cabeçalho contendo uma assinatura JWS separada do corpo do payload Condicional
x-customer-user-agent Indica o user agent que o usuário utiliza Condicional

Cabeçalho de resposta

Nome do cabeçalho Descrição Obrigatório
Content-Encoding Cabeçalho que indica o tipo de encoding (geralmente algoritmo de compressão) que foi utilizado para envio da resposta. Não
Content-Type Representa o formato do payload de resposta. Deverá ser application/json a menos que o endpoint requisitado suporte outro formato e este formato tenha sido solicitado através do cabeçalho Accept no momento da requisição. Sim
x-v Cabeçalho que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 Sim
Retry-After Cabeçalho que indica o tempo (em segundos) que o cliente deverá aguardar para realizar uma nova tentativa de chamada. Este cabeçalho deverá estar presente quando o código HTTP de retorno for 429 Too many requests Não
Last-Modified Informa a data e hora em que o recurso foi modificado pela última vez. Utiliza o padrão da RFC 7232, sessão 2.2: Last-Modified do protocolo HTTP. Não
x-jws-signature Cabeçalho contendo uma assinatura JWS separada do corpo do payload Condicional
x-fapi-interaction-id Um UID RFC4122 usado como um ID de correlação. O transmissor deve usar o mesmo valor recebido na requisição para o cabeçalho de resposta recebido na requisição, caso não tenha sido fornecido, deve se usar um UUID RFC4122 Não
x-rate-limit Indica o limite de requisições na API no tempo Condicional
x-rate-limit-remaining Indica o número de requisições restantes Condicional
x-rate-limit-time Informa o tempo do limite ou tempo para reset desse limite Condicional

Códigos de resposta HTTP

Os códigos de resposta HTTP devem ser utilizados conforme tabela mais abaixo. Observação: com a implementação do cadastro por endpoint no diretório de participantes e conforme orientação do regulador, as instituições participantes NÃO DEVEM cadastrar endpoints de produtos ou serviços que não ofertem. Neste caso específico - a consulta em um endpoint não cadastrado - o status code esperado na resposta é o 404 - NOT FOUND.

Códigos

Situação Código HTTP Notas POST GET DELETE
Consulta concluída com sucesso. 200 OK. Não Sim Não
Execução normal. A solicitação foi bem sucedida. 201 Created. A operação resulta na criação de um novo recurso. Sim Não Não
Operação de exclusão concluída com sucesso. 204 No Content. Não Não Sim
A resposta não foi modificada desde a última chamada 304 Not Modified Não Sim Não
A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. 400 Bad Request. A operação solicitada não será realizada. Sim Sim Sim
Cabeçalho de autenticação ausente/inválido ou token inválido. 401 Unauthorized. A operação foi recusada devido a um problema de autenticação. Sim Sim Sim
O token tem escopo incorreto ou uma política de segurança foi violada. 403 Forbidden. A operação foi recusada devido a falta de permissão para execução. Sim Sim Sim
O recurso solicitado não existe ou não foi implementado. 404 Not Found. Sim Sim Sim
O consumidor tentou acessar o recurso com um método não suportado. 405 Method Not Allowed. Sim Sim Sim
A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8. 406 Not Acceptable. Sim Sim Sim
Indica que o recurso não está mais disponível. 410 Gone. Sim Sim Sim
A operação foi recusada porque o payload está em um formato não suportado pelo endpoint. 415 Unsupported Media Type. Sim Não Não
A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação. 422 Unprocessable Entity. Se aplicável ao endpoint, espera-se que esse erro resulte em um payload de erro. Sim Sim Não
A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido. 429 Too Many Requests. A limitação é um Requisito Não Funcional. O titular dos dados deve incluir o cabeçalho Retry-After na resposta indicando quanto tempo o consumidor deve esperar antes de tentar novamente a operação. Sim Sim Sim
Ocorreu um erro no gateway da API ou no microsserviço. 500 Internal Server Error. A operação falhou. Sim Sim Sim
O serviço está indisponível no momento. 503 Service Unavailable. Sim Sim Sim
O servidor não pôde responder em tempo hábil. 504 Gateway Timeout. Retornado se ocorreu um tempo limite, mas um reenvio da solicitação original é viável (caso contrário, use 500 Internal Server Error). Sim Sim Sim

Convenções de payload

Esta seção do padrão descreve as estruturas padrões de requisição e resposta para todos os endpoints das APIs, assim como as convenções de nomenclatura para os atributos.

Estrutura de requisição

Estrutura da requisição

{
  "data": {
    "..."
  }
}

Cada requisição deve ser um objeto JSON contendo um objeto data para armazenar os dados primários da requisição.

No mesmo nível do objeto data, poderá existir um objeto meta se assim for especificado pelo endpoint. O objeto meta é usado para fornecer informações adicionais ao endpoint, como parâmetros de paginação, contagens de paginação ou outros propósitos complementares ao funcionamento da API.

A definição do conteúdo para o objeto data será definida separadamente para cada endpoint.

Estrutura de resposta

Estrutura de resposta

{
  "data": {
    "..."
  },
  "links":{
    "..."
  },
  "meta": {
    "..."
  }
}

Cada endpoint retornará um objeto JSON contendo os atributos abaixo:

A definição do conteúdo para os objetos data e meta será definida separadamente para cada endpoint.

O objeto links irá conter hypermedia (referências para recursos relacionados) para outros recursos da API requisitada.

O objeto de links sempre irá conter o atributo self que irá apontar para a URI da solicitação atual.

Estrutura de resposta de erros

{
  "errors": [
    {
        "code": "...",
        "title": "...",
        "detail": "..."
    }
  ],
  "meta":{
    "..."
  }
}

Convenções de nomenclatura de atributos

Caracteres válidos em nomes de atributos

Todos os nomes de objetos e atributos definidos nos objetos JSON de requisição e resposta devem ser nomeados seguindo o padrão camelCase, tendo seu nome composto apenas por letras (a-z, A-Z) e números (0-9).

Qualquer outro caractere não deve ser usado nos nomes dos objetos e atributos, com exceção do caractere - (hífen), que poderá ser utilizado apenas conforme descrito na seção Extensibilidade.

Estilo de nomeação de atributos

Os nomes dos objetos e atributos devem ser nomes significativos e em língua inglesa. Quando houver diferença entre inglês americano e inglês britânico no termo a ser utilizado, deverá ser utilizado o termo em inglês britânico. P.ex. Utilizar o termo Post Code (Reino Unido) ao invés de Zip Code (Estados Unidos).

Arrays devem ser nomeados no plural. Demais atributos deverão ser nomeados no singular.

Convenções de propriedade dos atributos

Tipos de dados dos atributos

Cada atributo deverá estar associado a um tipo de dado. A lista de tipos de dados válidos está definida na seção tipos de dados comuns. Se um tipo de dado personalizado é necessário para um atributo, o mesmo deverá ser classificado como uma string com uma descrição clara de como o valor da propriedade deve ser interpretado.

Atributos Obrigatórios / Opcionais

Segundo Instrução Normativa nº 34, BCB de 2020: ‘Todos os elementos que compõem as especificações das APIs (endpoints, operações, parâmetros, propriedades de respostas etc.) devem ser explicitamente declarados como “Obrigatório”, “Opcional” ou “Condicional”, caso sejam obrigatórios apenas em certas condições’.

Os atributos obrigatórios devem estar presentes e ter um valor não nulo, seja em uma requisição ou resposta, para que payload seja considerado válido.

Os atributos condicionais podem ter uma restrição vinculada a eles, tornando-os obrigatórios conforme a situação descrita na coluna 'restrição' do dicionário de dados.

Atributos vazios / nulos

Um atributo omitido (ou seja, um atributo que não está presente no payload) será considerado equivalente a um atributo que esteja presente com o valor null.

Uma string vazia (“”) não será considerada equivalente a null.

O valor booleano false não será considerado equivalente a null. Os atributos booleanos opcionais, por definição, possuirão três valores possíveis: verdadeiro (true), falso (false) e indeterminado (null).

Na situação onde o campo a ser informado no payload seja obrigatório e a Instituição, seja consumidora no envio ou transmissora no retorno, não a possuir, deve-se implementar o valor padronizado: “NA” - Não se Aplica, com exceção dos campos declarados como ENUM que deverão ser sempre preenchidos com os valores válidos para o ENUM correspondente.

Convenções de nomenclatura

Todos os nomes devem ser autoexplicativos, sem redundância de termos e sem ambiguidade de entendimento, além de seguir o padrão Lower Camel Case (primeira letra de cada termo maiúscula, com exceção do primeiro termo, que fica todo em minúsculas e sem espaços ou pontuações entre os termos). Ex: “areaCode”.

Os nomes das estruturas (composição de atributos sobre um assunto) que podem ter mais de uma ocorrência devem sempre estar no plural.

Os nomes dos atributos devem:

Tipos de dados comuns

Propriedades

Tipo Descrição Exemplos válidos
AmountString - Uma string que representa um valor monetário.
- Um número positivo, zero ou negativo.
- Sem o símbolo da moeda.
- Com pelo menos 1 e no máximo 16 dígitos antes do ponto decimal.
- Com no mínimo 2 dígitos (mais dígitos são permitidos, porém não obrigatórios).
- Sem formatação adicional. Ex: Separador de milhar.
"1.37"
"54.85"
"3456928.98"
"-2387.02"
Boolean - Valor booleano padrão. true
false
CurrencyString - Uma string que representa a abreviação da moeda conforme especificação ISO-4217. "BRL"
"USD"
"EUR"
DateTimeString - Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format). "2020-07-21T08:30:00Z"
DurationString - Uma string que representa um período de duração conforme especificação ISO-8601. "P23DT23H"
"PT2H30M"
Enum - Uma string que representa um domínio de valores
- Todos os possíveis valores são definidos.
- Os valores devem estar em letras maiúsculas.
- Espaços em branco devem ser substituídos por _.
- Artigos e preposições devem ser removidos.
- Não devem possuir caracteres acentuados.
"PRIMEIRA_OPCAO"
"OUTRA_OPCAO_EXISTENTE"
Integer - Números inteiros. -1
0
1
RateString - Uma string que representa um valor percentual, tendo como referência que 100% é igual ao valor 1.
- Com pelo menos 1 e no máximo 16 dígitos antes do ponto decimal.
- Com no máximo 16 dígitos após o ponto decimal.
- Sem formatação adicional. Ex: Separador de milhar.
"0.01"
"0.1"
"-0.05"
"-0.98365"
"0.1023"
String - Padrão de texto UTF-8 sem restrição de conteúdo. "Uma string qualquer."
TimeString - Uma string que representa a hora conforme especificação RFC-3339,sempre com a utilização de timezone UTC(UTC time format). "00:39:57Z"
URIString - Uma string que representa URI válida. "http://www.google.com.br"
CountryCode - Código do pais de acordo com o código “alpha3” do ISO-3166. "BRA"
IbgeCode - Código IBGE de Município. A Tabela de Códigos de Municípios do IBGE apresenta a lista dos municípios brasileiros associados a um código composto de 7 dígitos, sendo os dois primeiros referentes ao código da Unidade da Federação. "3550308"
DateString - Uma string com data conforme especificação RFC-3339 "2014-03-19"

Paginação

Cada recurso de cada API pode possuir ou não paginação, caso a quantidade de registros retornados justifique a mesma. A paginação estará disponível e deverá funcionar independente se o recurso permite filtros por query ou POST. Isso é, filtros e paginação são aplicados de forma independente.

Parâmetros de Requisição

Exemplo de query com paginação

GET {uri}?page=1&page-size=25

Quando existir paginação para o recurso deverão ser utilizados os parâmetros de query abaixo para a navegação dos resultados:

Parâmetro Descrição Valor Padrão
page Número da página que está sendo requisitada (o valor da primeira página é 1). 1
page-size Quantidade total de registros por páginas. 25

Atributos de Resposta

Exemplo de paginação

{
  "data": {
    "..."
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/products-services/v1/personal-invoice-financing",
    "first": "https://api.banco.com.br/open-banking/products-services/v1/personal-invoice-financing",
    "prev": null,
    "next": null,
    "last": "https://api.banco.com.br/open-banking/products-services/v1/personal-invoice-financing"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1
  }
}

Além dos dados requisitados, as respostas paginadas também terão em sua estrutura dois objetos adicionais que incluirão parâmetros para facilitar a navegação das páginas:

O objeto links passará por revisão subsequente de modo a atender as próximas Fases do Open Banking, em especial a partir da Fase 2. No objeto links, serão retornadas hypermedia (referências para os recursos relacionados) de paginação conforme parâmetros abaixo:

Parâmetro Descrição Restrição
first A URI para requisitar a primeira página. Obrigatório se a resposta não for a primeira página.
last A URI para requisitar a última página. Obrigatório se a resposta não for a última página.
prev A URI para requisitar a página anterior. Obrigatório se a resposta não for a primeira página.
next A URI para requisitar a próxima página. Obrigatório se a resposta não for a última página.

Meta

No objeto meta, serão retornadas informações sobre o total de registros disponíveis

Parâmetro Descrição Restrição
totalRecords O número total de registros da requisição. Este atributo é obrigatório.
totalPages O número total de páginas da requisição. Este atributo é obrigatório. Se não possuir nenhum registro o valor deve ser 0.

Regras Adicionais

Formação e Estabilidade do ID

Dentro desses padrões, a serem melhor especificados a partir da Fase 2 do Open Banking no Brasil, os IDs de recursos são necessários para atender ao seguinte:

Princípios para a formação de IDs (identificadores) de recursos nas APIs

Extensibilidade

Os padrões de Open Banking podem não cobrir todas as possibilidades de objetos retornados ou APIs que os participantes desejam expor. Os participantes podem ter o desejo de realizar inovações sobre os padrões definidos oferecendo mais dados afim de atender demandas específicas de mercado. É nossa intenção que os padrões definidos não apenas permitam estas extensões como também sirvam como base para futuras alterações na própria definição dos padrões.

No entanto, é importante que um participante que esteja querendo estender as APIs não impeça um consumidor que foi projetado para consumir apenas o endpoint padrão funcione corretamente.

Para atender tanto as demandas de quem deseja estender as APIs (participantes) quanto as demandas de quem irá realizar o consumo (consumidor das APIs), foram definidos os critérios abaixo.

É possível estender os padrões nos seguintes aspectos:

ID dos participantes

Cada participantes terá um ID que representa a sua instituição. Os participantes da atual versão estão listados abaixo:

  • BBAS - Banco do Brasil
  • BBCD - Bradesco
  • BTGP - BTG Pactual
  • CAIX - Caixa Econônica Federal
  • ITAU - Itau
  • STDR - Santander
  • BRGS - Banrisul
  • BNBR - Banco do Nordeste do Brasil
  • BNDS - BNDES
  • CITI - Citibank
  • SAFR - Safra
  • BABV - Votorantim

Participantes que desejam estender os padrões devem adicionar seu prefixo para identificar todas as extensões. Campos adicionais no retorno de endpoints existentes ou em novos endpoints devem usar o prefixo do participante. O prefixo deve ser no formato exposto ao lado (4 letras) e não devem haver prefixos duplicados entre os participantes.

Nesta documentação, quando tivermos que nos referir ao prefixo do participante, o termo <PID> será utilizado.

Novas APIs

Quando a extensão for a criação de uma nova API, o participante deve adicionar seu prefixo a URI antes do nome da nova API, conforme exemplo abaixo.

Por exemplo, uma API definida pelo padrão seguirá o seguinte formato: <host> / open-banking / <api> / <versão> / <recurso>

Uma API estendida por um participante deverá estar no formato abaixo: <host> / open-banking / <PID> / <api> / <versão> / <recurso>

Para os endpoints definidos dentro da estrutura acima, os atributos dos payloads não precisam conter o prefixo do participante, pois entende-se que todos os recursos da API estendida não conflitam de nenhum modo com as definidas pelo padrão.

Novos endpoints em APIs existentes

Quando o participante desejar adicionar um novo endpoint em uma API já especificada no padrão, o participante deve incluir seu <PID> como prefixo do recurso que será implementado.

Por exemplo, assumindo a existência do endpoint abaixo para consulta das transações de uma conta: <host>/open-banking/accounts/v1/accounts/{account ID}/transactions

Se o participante deseja adicionar um novo endpoint que resume as transações por um período, então este endpoint poderia ser definido como: <host>/open-banking/accounts/v1/accounts/{account ID}/<PID>-balance-movement

Campos de retorno adicionais em um endpoint existente

Quando o participante desejar adicionar um novo campo ao payload de resposta, o atributo deverá receber o prefixo do participante seguido por um hífen <PID>-.

Se um objeto estiver sendo adicionado ao payload de resposta, apenas o nome do objeto precisa receber o prefixo. Qualquer atributo dentro do novo objeto pode ser nomeado normalmente.

Parâmetros query adicionais

Quando for adicionado um novo parâmetro de query a um endpoint existente, o novo parâmetro deve ter o prefixo <PID>-, evitando assim colisões com parâmetros já existentes.

Filtro de Dados

Opcionalmente, a entidade transmissora de dados poderá realizar filtro de dados através de query de entrada, baseado em campos que julgue relevante para a melhor experiência do cliente.
A informação de quais possibilidades estarão disponíveis (query parameter) deverá constar em documentação adicional disponibilizada pela entidade transmissora.

Extensão do versionamento

Como descrito na seção versionamento, o versionamento existe apenas no nível das APIs e não no nível dos endpoints, no entanto caso seja necessário realizar versionamento de um endpoint customizado, o participante poderá utilizar o header x-<PID>-v para que o consumidor possa especificar qual versão do endpoint está requisitando.

Glossário

Glossário

Agência (Branch)

É a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória

Adiantamento a Depositante (Unarranged Account Overdraft)

O valor que o banco libera na conta-corrente do cliente, em casos excepcionais, o valor necessário para cobrir algum saque, pagamento, débito automático ou cheque, quando o saldo disponível não é suficiente.

Bandeira (Credit Card Network)

São instituições que autorizam o uso de sua marca e de sua tecnologia por emissores e credenciadoras de estabelecimentos. Essas marcas aparecem nos cartões e nos estabelecimentos credenciados.

Cartão Múltiplo (Multiple CreditCard)

Trata-se de um único cartão que possui mais de uma função, ou seja, que pode ser utilizado como débito, crédito e para a movimentação da conta.

CBO (Cbo Code)

A Classificação Brasileira de Ocupações (CBO) é um documento que retrata a realidade das profissões do mercado de trabalho brasileiro. Foi instituída com base legal na Portaria nº 397, de 10.10.2002. Trata-se de um sistema de classificação responsável pela codificação dos títulos e conteúdos dos cargos e ocupações do mercado de trabalho brasileiro

Cheque Especial (Arranged Overdraft)

É uma operação de crédito, a exemplo do empréstimo, mas que é pré-aprovada e vinculada a uma conta de depósitos à vista. Tem o objetivo de cobrir movimentações financeiras quando não há mais saldo disponível na conta.

O banco disponibiliza ao cliente um limite de crédito rotativo que, embora apareça no extrato da conta, não é um recurso do cliente. Quando utilizado esse valor, o banco pode cobrar juros sobre o valor usado, ou seja, sobre o saldo devedor.

Fonte: link

CNAE (Cnae Code)

Trata-se de um código utilizado para identificar quais são as atividades econômicas exercidas por uma empresa. A Classificação Nacional de Atividades Econômicas - CNAE é oficialmente adotada pelo Sistema Estatístico Nacional e pelos órgãos federais gestores de registros administrativos

CNPJ (CNPJ Number)

Código gerido pela Secretaria da Receita Federal e utilizado para identificação das empresas no Cademp. O CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Composto por: os oito primeiros números à esquerda (XX. XXX. XXX) formam a "raiz" ou base, que identifica a empresa de forma única. Os quatro seguintes números de ordem das filiais da empresa. Normalmente a empresa matriz tem este campo preenchido com '0001'. Os dois últimos números correspondem ao dígito verificador. composição do CNPJ pode ser assim representada, conforme ex. '50.685.362/0001-35'.

Código Compe (compeCode)

O Compe (Sistema de Compensação de Cheques e Outros Papéis) é um sistema que identifica e processa as compensações bancárias. Ele é representado por um código de três dígitos que serve como identificador de bancos, sendo assim, cada instituição bancária possui um número exclusivo.

Código Ocupação Receita Federal – Receita Federal Code

Código da atividade profissional relacionada com a principal fonte pagadora dos seus rendimentos, assim entendida a que pagou maior rendimento independentemente de escolaridade ou de formação acadêmica

Fonte: link

Conta Individual (Sole Account)

Tipo de conta que comporta apenas um titular.

Conta Conjunta Não-solidária (Joint Account And)

Tipo de conta que comporta mais de um titular, em que os titulares dependem da autorização de “pelo menos” um diferente titular para realização de movimentações em contas.

Conta Conjunta Solidária (Joint Account Or)

Tipo de conta que comporta mais de um titular, tendo todos os titulares livre movimentação sem que seja exigida a autorização de outros titulares.

Conta de Depósito à Vista (Current Account)

Conhecida popularmente pelo nome de conta corrente. É a maneira mais comum de manter dinheiro em uma instituição financeira. Funciona como um cofre, em que o cliente deposita seu dinheiro e pode ter acesso a serviços como pagamento de contas, saques, transferências, emissão de cheques e realização de compras com cartão de débito, entre outros. Para guardar o dinheiro e oferecer serviços como os citados, a instituição financeira pode cobrar tarifas, mas o cliente é quem escolhe se prefere pagar uma tarifa individualizada por serviço que utilizar ou uma tarifa única que dá direito a um pacote de serviços.

Conta de Pagamento Pós-paga (Credit Card)

Referente a cartão de crédito. Instrumento de pagamento que possibilita a aquisição de produtos e serviços com liquidação futura, de acordo com requisitos predeterminados, tais como limite de crédito e validade. O pagamento do valor correspondente ao produto ou ao serviço adquirido será efetuado ao emissor do cartão de crédito em data previamente acordada.

Conta de Pagamento Pré-paga (Prepaid Payment Account)

Destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados.

Conta de Poupança (Savings Account)

A conta de depósitos de poupança, popularmente conhecida como conta poupança, conta de poupança ou ainda caderneta de poupança, é um tipo de investimento criado com o objetivo de estimular a economia popular. Assim, para abrir e manter uma conta de poupança, o cliente não paga tarifas, não paga imposto de renda sobre o dinheiro aplicado e ainda pode depositar pequenos valores, que passam a gerar rendimentos mensalmente. Se um valor depositado na conta de poupança não for mantido aplicado por pelo menos um mês, isto é, se for resgatado antes, não ocorrerá remuneração desse dinheiro.

Correspondente Bancário (Banking Agent)

Empresas, integrantes ou não do Sistema Financeiro Nacional, contratadas por instituições financeiras e demais instituições autorizadas a funcionar pelo Banco Central do Brasil para a prestação de serviços de atendimento aos clientes e usuários dessas instituições. Os correspondentes mais conhecidos são as lotéricas e o banco postal.

CPF - Cadastro de Pessoa Física (CPF Number)

O CPF é o Cadastro de Pessoa Física. Ele é um documento emitido pela Receita Federal e serve para identificar os contribuintes. O CPF é uma numeração com 11 dígitos, que só mudam por decisão judicial

Crédito (Credit)

É um termo geral, utilizado para nomear as diferentes maneiras com que bancos, financeiras e outras instituições emprestam dinheiro a seus clientes. Ou seja, quando essas instituições emprestam dinheiro para alguém ou financiam alguma compra de uma pessoa, elas estão concedendo um crédito. Exemplo de uso: Em uma operação de crédito, quem empresta o dinheiro é chamado credor, e quem toma o dinheiro emprestado é chamado devedor.

Fonte: link

Crédito Rotativo (Overdraft)

É um tipo de empréstimo que os bancos concedem para os clientes terem a possibilidade de não pagar, na data do vencimento, o valor total da fatura do cartão de crédito. Isto é, por causa do crédito rotativo, é possível que o cliente pague, no dia do vencimento, qualquer valor entre o pagamento mínimo e o total da fatura. A diferença entre o valor total que deveria ter sido pago e o valor que o cliente efetivamente pagou na data do vencimento é financiada pelo banco e será incluída, acrescida de juros, na fatura do mês seguinte. Quando o cliente não paga o total da fatura, é como se ele estivesse automaticamente pegando emprestado o valor que ele deixou de pagar.

Custo Efetivo Total (CET)

Custo Efetivo Total. Corresponde a todos os encargos e despesas incidentes nas operações de crédito e de arrendamento mercantil financeiro, contratadas ou ofertadas a pessoas físicas, microempresas ou empresas de pequeno porte. Deve ser informado pelas instituições financeiras e pelas sociedades de arrendamento mercantil antes da contratação de operações de crédito e de arrendamento mercantil e também em qualquer outro momento, a pedido do cliente. Também deve constar dos informes publicitários das instituições quando forem veiculadas ofertas específicas (com divulgação da taxa de juros cobrada, do valor das prestações, etc).

Fonte: Resolução 3.517, de 6/12/2007. link

Débito (Debit)

De uma forma geral, significa dívida. Exemplo de uso: Estou em débito com o Fernando, devo R$50 a ele. Ver também: crédito, credor, devedor, dívida.

Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente. Exemplo de uso: Fiz uma compra com a função débito do cartão e apareceu o valor da compra, com um “D”, no extrato da minha conta, diminuindo o saldo.

Fonte: link

Débito Automático (Direct Debit)

Débitos autorizados pelo titular de conta de depósitos ou de conta de pagamento mantidas nas instituições mencionadas

Direito Creditório Descontado (Invoice Financing)

É o direito de receber dinheiro ou títulos, sejam eles oriundos de operações financeiras, comerciais, imobiliárias ou mesmo de ativos financeiros e investimentos. Esta opção abrange tanto pessoas físicas quanto entidades. Normalmente, ele “existe” na forma de um título.

Dependência (Branch)

Dependência de instituições financeiras e demais instituições, autorizadas a funcionar pelo Banco Central do Brasil, destinada à prática das atividades para as quais a instituição esteja regularmente habilitada. (Agência é a dependência destinada ao atendimento aos clientes e ao público em geral no exercício de atividades da instituição, não podendo ser móvel ou transitória)

Empréstimo (Loan)

É o mecanismo utilizado para ter disponível, no presente, uma quantia que só se conseguiria alcançar no futuro, fazendo poupança. O valor emprestado, mais os juros e encargos cobrados pela instituição financeira, vira uma dívida, que deverá ser paga na forma e no prazo combinados (valor e quantidade de parcelas, por exemplo). No empréstimo, o valor emprestado não tem destinação específica, isto é, a pessoa pode utilizar o dinheiro que pegou emprestado onde e como quiser.

Empréstimo Cartão Consignado (Payroll Loan)

É um tipo de operação de crédito contratada no Cartão de Crédito, na qual o pagamento das compras do titular são descontadas diretamente em folha ou benefício do INSS

Encargo (Charge)

As instituições financeiras e as sociedades de arrendamento mercantil podem cobrar de seus clientes, no caso de atraso no pagamento ou na liquidação de obrigações, exclusivamente os seguintes encargos: I - juros remuneratórios, por dia de atraso, sobre a parcela vencida; II - multa, nos termos da legislação em vigor; e III - juros de mora, nos termos da legislação em vigor.

Fonte: link

Ente Consignante (CnpjConsignee)

É a empresa pública ou privada que mantém convênio com entidades Consignatárias afim de descontar no contracheque de seus funcionários os valores mensais referente as operações financeiras contratadas pelos mesmos obedecendo a regra da margem consignável.

Os entes consignantes podem ser :

Fatura (Bill)

Fatura é o documento através do qual o emissor realiza a prestação de contas ao portador titular. Nos meses em que ocorrer movimentação, o emissor do cartão de crédito enviará a Fatura discriminando as respectivas transações do período.

Financiamento (Financing)

Parcelamento. Compra parcelada. Compra a prazo. É um crédito que a pessoa obtém para comprar um bem, como uma casa, um carro, um eletrodoméstico. O pagamento do bem é feito de forma parcelada por meio de carnês, boletos de cobrança, débitos em conta corrente, cartão de crédito, cheques etc. O financiamento pode incluir custos como juros, tarifas, impostos, entre outros encargos.

Garantia (Warranty)

Ativo que é entregue pelo outorgante da garantia para assegurar uma obrigação à parte que toma a garantia. Os acordos de garantia podem tomar diversas formas legais; as garantias podem ser obtidas por transferência de títulos ou penhora.

Fonte: link

Identificação (Identification)

Agrupador das informações relativas a Identificação ou seja a ação e o efeito de identificar de forma única a pessoa através de seus dados cadastrais

Identificador Padronizado da Operação de Crédito – Ipoc Code

O identificador padronizado da operação de crédito é atribuído a todas as operações de crédito informadas ao SCR (Sistema de Informações de Crédito do Banco Central do Brasil – SCR é um instrumento de registro e consulta de informações sobre as operações de crédito, como empréstimos, financiamentos, avais ou fianças, realizadas entre as Instituições Financeiras e seus Clientes).

O IPOC será formado pela concatenação das informações contidas nos campos do SCR abaixo discriminados, respeitando-se a seguinte ordem:

  1. CNPJ da instituição
  2. Modalidade da operação
  3. Tipo do cliente
  4. Código do cliente
  5. Código do contrato

Fonte: link

Indexador (Indexer)

É o termo utilizado para se referir aos índices usados como base para corrigir os valores monetários de um determinado ativo. Os índices mais utilizados são IPCA, INPC, IGP-M, CDI, Taxa Selic.

Instituição Financeira (Company)

Instituições que prestam serviços financeiros e são autorizadas a funcionar pelo Banco Central do Brasil.

Limite Flexível (Flexible Limit)

Geralmente esses cartões não possuem limite oculto inferior a R$ 50 mil, ou seja, é o mesmo que sem limite pré-estabelecido de despesas. Pois são voltados para consumidores de alto poder aquisitivo, sendo considerado um cartão de crédito diferenciado, pois permite ao portador comprar o que quiser.

Marca (Brand)

A marca é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes.

MCC (Merchant Category Code)

O MCC ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades. O MCC é usado para classificar o negócio pelo tipo fornecido de bens ou serviços. Os MCCs são atribuídos por tipo de comerciante (por exemplo, um para hotéis, um para lojas de materiais de escritório, etc.) ou por nome de comerciante (por exemplo, 3000 para a United Airlines).

Mês de Referência (Reference Month)

O mês de referência será tratado como “M-1”.

Nome Civil Completo (Civil Name)

Nome civil completo da pessoa natural é aquele atribuído à pessoa natural desde o registro de seu nascimento, com o qual será identificada por toda a sua vida, bem como após a sua morte. Trata-se de um Direito fundamental da pessoa natural

Nome Social (Social Name)

O nome social é definido como a adoção/ adequação do senso de identificação do sujeito referenciando o nome que o representa (Decreto Nº 51.180, de 14 de janeiro de 2010), evitando a exposição desnecessária do indivíduo, o constrangimento de ser tratado de uma forma que não condiz com sua condição humana, psicológica, moral, intelectual, emocional e que não o representa. Tem por objetivo o reconhecimento social e individual segundo o Art. 16 do Código Civil, toda pessoa tem direito ao nome, nele compreendidos o prenome e o sobrenome.

Pacote de Serviços (Service Bundles)

Cesta de serviços. É uma combinação de diferentes quantidades de serviços bancários (saques, extratos, transferências, cheques e outros) que o cliente pode usar por mês. Antes da contratação de um pacote de serviços, é importante verificar quais os serviços que são efetivamente usados ao longo do mês e se o custo desses serviços, cobrados isoladamente, não é menor que o do pacote de serviços.

Pagador (Payer)

É a pessoa ou a empresa que deve pagar o valor cobrado em um boleto bancário, normalmente por ter feito uma compra, um financiamento ou por estar pagando por um serviço, como uma mensalidade escolar, por exemplo. O banco recebe o pagamento feito pelo sacado e transfere o valor pago para a conta do beneficiário. No boleto, o campo “pagador” costuma trazer outras informações além do nome do pagador, como o seu endereço. Exemplo de uso: Ao receber um boleto para pagar, a pessoa deve sempre conferir se seus dados estão corretos no campo “pagador”. Se houver algum erro, ela deve procurar o banco que emitiu o boleto

Fonte: link

Pagamento Autorizado (Authorised Payment)

São transações a crédito ou débito que ainda não foram registradas no extrato, mas que a instituição possui autorização do cliente para realizar o débito.

Fonte: link

Posto de Atendimento Bancário - PAB (Branch)

São as dependências de bancos múltiplos com carteira comercial, instaladas em recinto interno de entidade da administração pública ou de empresa privada e destinadas a prestar todos os serviços para os quais a instituição esteja regularmente habilitada de exclusivo interesse do respectivo governo e de seus funcionários, quando instalados em entidade de administração pública, ou da respectiva empresa, de seus empregados e administradores, quando instalados em dependências de empresa privada.

Posto de Atendimento Eletrônico – PAE (Branch)

O Posto de Atendimento Bancário Eletrônico, Fixo ou Móvel (PAE), é uma extensão automatizada de dependências bancárias, que pode funcionar até 24 (vinte e quatro) horas por dia, ligada à central de controle e processamento.

Prestação Regular (Instalment)

Refere-se a comprar um produto ou serviço de forma parcelada e assim dividir o pagamento em partes, em prestações a serem pagas ao longo de um período de tempo em intervalos regulares, p.ex. parcelas mensais, onde o vencimento acontecerá regularmente todo dia 10 de cada mês

Procurador (Procurator)

Pessoa autorizada por procuração para dirigir os negócios de outrem ou agir como seu agente, representante, substituto ou advogado.

Qualificação (Qualification)

Considera-se qualificação as informações que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira

Razão Social (Company Name)

A razão social é o nome de registro de uma empresa junto aos órgãos do governo e cartório e é o que vai constar em contratos, escrituras, documentos legais, notas fiscais etc. Ela é criada junto com o CNPJ e também é chamada de Denominação social – exatamente por ser, na prática, o nome da pessoa jurídica

Recebedor (Payee)

Pessoa natural ou jurídica, destinatário final dos recursos de uma transação de pagamento

Fonte: link

Relacionamento (Financial Relation)

Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente e seus representantes

Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social

Saldo (Account Balance)

Quantia que representa o excedente do total de créditos e do total de débitos de uma conta.

Saldo Bloqueado (Cash Blocked)

É um valor que o banco informa estar separado na conta-corrente para o pagamento, ao fim do dia, de alguma obrigação que tem vencimento naquele dia.

Exemplo de uso:

Fonte: link

Saldo Devedor (Outstanding Balance)

Corresponde ao valor que falta ser pago de uma dívida. Ao longo do tempo, os juros fazem o saldo devedor crescer, enquanto as amortizações pagas pelo devedor fazem o saldo devedor diminuir. O saldo devedor pode vir tanto de um empréstimo ou financiamento quanto de um pagamento inferior ao valor total de uma fatura de cartão de crédito. Ou ainda, em conta-corrente, o que significa que o cliente está “no vermelho” ou “no negativo”, isto é, entrou no limite de crédito do cheque especial ou utilizou o adiantamento a depositantes.

Saldo Disponível (Cash Amount)

É o valor total à disposição do cliente em sua conta-corrente, que inclui tanto o dinheiro que ele tem depositado nela quanto o limite de cheque especial pré-aprovado pelo banco. 43 Exemplo de uso: Ao consultar o extrato bancário, para saber quanto dinheiro seu de fato tem depositado em conta, o cliente não pode considerar o saldo disponível.

Fonte: link

Sexo (Sex)

“Conjunto de características anatomofisiológicas que distinguem o homem e a mulher: Sexo masculino; sexo feminino”. No caso de não ser feminino nem masculino é classificado como outros.

Sistema de Amortização Constante (SAC)

É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta.

Sistema de Amortização Misto (SAM)

Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC)

Sistema Francês de Amortização (Price)

As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando.

Tarifa (Fee)

A Resolução 3.919, de 25/11/2010, classifica em quatro modalidades os tipos de serviços prestados às pessoas físicas:

  1. serviços essenciais – não podem ser cobrados;
  2. serviços prioritários – relacionados a contas de depósitos, transferências de recursos, operações de crédito e de arrendamento mercantil, cartão de crédito básico e cadastro, somente podendo ser cobrados os serviços constantes da Lista de Serviços da Tabela I anexa à (Resolução CMN 3.919, de 2010, devendo ainda ser observados a padronização, as siglas e os fatos geradores da cobrança, também estabelecidos por meio da citada Tabela I;
  3. serviços especiais – legislação e regulamentação específicas definem as tarifas e as condições em que são aplicáveis, a exemplo dos serviços referentes ao crédito rural, ao Sistema Financeiro da Habitação (SFH), ao Fundo de Garantia do Tempo de Serviço (FGTS), ao Fundo PIS/PASEP, às chamadas contas-salário, e às operações de microcrédito de que trata a Resolução 4.000, de 2011;
  4. serviços diferenciados – podem ser cobrados desde que explicitadas ao cliente ou ao usuário as condições de utilização e de pagamento

Fonte: link

Taxa Efetiva (EffectiveTax)

É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano.

Taxa nominal (NominalTax)

É uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais.

Taxa Referencial – TR (Referential Rate)

É a taxa de juros de referência. É uma taxa calculada pelo Banco Central do Brasil e utilizada para determinar o rendimento de investimentos, como a caderneta de poupança e a correção de financiamentos imobiliários.

Terminais de Autoatendimento Compartilhados (Shared Automatic Teller Machine)

É o compartilhamento dos terminais de autoatendimento (ATM - dispositivo eletromecânico que permite aos usuários, geralmente usando cartões de plástico legíveis em máquina, a realização de um ou mais tipos de operações, tais como saques, depósitos, emissão de extratos e saldos, realização de pagamentos de contas e títulos, transferência de fundos e outro) para aumentar a eficiência do sistema de pagamento de varejo.

Transação Agendada (Scheduled Payment)

O usuário poderá agendar uma transação de DOC, TED, PIX ou boleto bancário para uma determinada data futura

Fontes: link 1 e link 2

Transações Realizadas (Completed Transaction)

Operações segmentadas efetuadas por tipo de acesso físico (agências e postos tradicionais, caixas de autoatendimento e correspondentes bancários) ou remoto (home e office banking, call centers, smartphones e PDAs) e por tipo de transações( Bloqueto de cobrança e convênios, depósitos, ordem de transferência de crédito, empréstimos e financiamentos, saques, outras transações financeiras, consultas a extratos e saldos e outras transações não financeiras)

Fontes: link 1 e link 2

Unidade Administrativa Desmembrada (UAD) - (Branch)

É a dependência destinada à execução de atividades administrativas da instituição, tal como atividades contábeis e administrativas de natureza interna, desde que tal unidade esteja instalada no mesmo Município da sede do grupo financeiro, ou de uma agência da instituição e é vedado o atendimento ao público.

Segurança

Introdução - Segurança

Esta seção tem como finalidade auxiliar na auto avaliação aos cumprimentos dos requisitos de segurança da informação relacionados a autorização e autenticação de APIs e End-Users, emissão de certificados digitais e requisitos para o onboarding no Diretório de participantes para as Instituições participantes do Open Banking.

As instituições participantes do Open Banking possuem a obrigação de acompanhar a edição e a revogação de eventuais normas com impacto no tema de forma a estar permanentemente em dia com as determinações legais. Compõem, de forma não exaustiva, o rol de atos normativos cuja observância é essencial pelas instituições participantes do Open Banking:

Normativa
Resolução Conjunta CMN/BCB nº 1, de 2020
Resolução CMN nº 4.658, de 2018
Circular BCB nº 3.909, de 2018
Resolução BCB nº 37, de 4 de Novembro de 2020
Resolução BCB n° 32 de 29/10/2020
Lei Geral de Proteção de Dados Pessoais (LGPD - Lei nº 13.709, de 2018)

Estas especificações baseiam-se, referenciam, e complementam, quando aplicável, os seguintes documentos:

Referência
BCP 195/RFC 7525
Owasp API Top 10
Sans Top 25 Software Errors
CWE Top 25 Software Weaknesses

Além desse guia, foi elaborado um checklist para auxiliar os participantes do Open Banking a alcançar um nível adequado de Segurança da Informação, esse checklist pode ser baixado em formato Word ou Excel a seguir.

Download Autoavaliação dos requisitos de SI - 1.0.docx
Download Autoavaliação dos requisitos de SI - 1.0.xlsx

Visão geral

As APIs de Open Banking estão dividas em dois escopos:

Segue, a continuação, um overview das camadas de segurança básicas para atender os contextos Open-data:

Camada Descrição Explicação
Física Firewall Equipamentos e produtos como filtros, proxys e firewalls direcionados ao controle e segurança da rede física.
Transporte HTTP - TLS 1.2 Protocolo de criptografia que fornece segurança na comunicação sobre a rede física.
Gestão API Gateway / Manager Gateway e Manager para gerenciar a publicação da API com controles de throttling, quotas e outros.

Dynamic Client Registration

O Dynamic Client Registration é mandatório para os participantes do Open Banking.

Os detalhes das especificações devem ser consultadas nos endereços:

https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html (em português).

https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1.html (em inglês).

FAPI Security Profile 1.0

Financial-grade API, o FAPI, é uma especificação técnica desenvolvida pelo Grupo de Trabalho Financial-grade API da OpenID Foundation.

Ele utiliza OAuth 2.0 e OpenID Connect (OIDC) como sua base e define requisitos técnicos adicionais para o setor financeiro e outros setores que exigem maior segurança.

Os detalhes das especificações devem ser consultadas nos endereços:

https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID1-ptbr.html (em português)

https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID1.html (em inglês)

Padrão de Certificados

O padrão de certificados necessários para o Open Banking Brasil devem ser utilizados por seus participantes para garantir interoperabilidade para autenticação, confidencialidade, integridade e não repúdio entre as entidades participantes, bem como para os usuários e consumidores destas entidades.

Os detalhes das especificações devem ser consultadas no endereço https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-certificate-standards-1_ID1.html.

[Em Revisão] Perfil de Segurança

Sobre os padrões de perfil de segurança de API.

É necessário que os participantes do Open Banking adotem padrões de autenticação e autorização para as APIs e End-Users, utilizando frameworks e mecanismos aprovados pelo mercado, garantindo assim, a integridade, a confidencialidade e a disponibilidade dos dados.

Conjunto de referências normativas adotadas pelo Open Banking:

Referência
FAPI-RW - Financial-grade API - Part 2: Read and Write API Security Profile
CIBA (opcional) - OpenID Connect Client Initiated Backchannel Authentication Flow - Core 1.0
JSON - The JavaScript Object Notation (JSON) Data Interchange Format
JWT - JSON Web Token (JWT)
JWS - JSON Web Signature
MTLS - OAuth 2.0 Mutual TLS Client, Authentication and Certificate Bound, Access Tokens
OAUTH2 - The OAuth 2.0 Authorization Framework
OIDC - OpenID Connect Core 1.0 incorporating errata set 1
RFC7009 - OAuth 2.0 Token Revocation
RFC7662 - OAuth 2.0 Token Introspection
RFC6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage
RFC7591 - OAuth 2.0 Dynamic Client Registration Protocol

Para melhor entendimento do FAPI-Read and Write API Profile e do CIBA-Financial-grade API: Client Initiated Backchannel Authentication Profile, é preciso ter conhecimento sobre OAuth2 e OpenID Connect.

OAuth 2.0

OAuth 2.0 é um framework de autorização que habilita um aplicativo a obter acesso limitado para um serviço de terceiro, introduzindo uma camada de autorização e segmentando as funções do client. Ao invés de utilizar credenciais fornecidas pelo proprietário do recurso, o client recebe um Access Token, contendo o escopo do acesso, tempo de vida, entre outros atributos. Os Access Tokens são emitidos para clients terceiros por um servidor de autorização com a aprovação do proprietário do recurso.

O OAuth 2.0, define 4 papéis.

Tokens

O OAuth 2.0 faz o uso de diversos tokens, entre eles, o access token, refresh token e Authorization "code".

É necessário a implementação de um endpoint adicional no Authorization Server que possibilita a revogação do Access Token e do Refresh Token. Um request de revogação invalidará um ou mais Tokens (se aplicável), baseados na mesma concessão de acesso, conforme [RFC 7009].
Também será adotado o OAuth Token Introspection que define um método para um recurso protegido consultar um Authorization Server sobre o estado e os metadados de um Token, conforme [RFC 7662].
Devido a ampla aplicação do uso do OAuth 2.0, as melhores práticas de segurança do OAuth 2.0 estão em constate atualização e podem ser consultadas neste endereço https://tools.ietf.org/html/draft-ietf-oauth-security-topics-16.

Início do fluxo de uma API com a obtenção de um Access Token.

Diagrama – Obtendo um Access Token.

  1. Estabelece conexão TLS 1.2 entre o usuário e o client.
  2. Estabelece conexão mTLS 1.2 entre o client e o Authorization Server.
  3. Efetua um POST com as credenciais de autenticação do client e o escopo da solicitação.
  4. Valida a autenticação de credenciais do client, o escopo e o certificado SSL.
  5. Devolve o Access Token com a mensagem HTTP 200 (OK).
  6. Estabelece conexão mTLS 1.2 entre o Client e o Resource Server.
  7. Efetua um POST com o Access Token e o escopo.
  8. Valida o Access Token, o escopo e o certificado.
  9. Resposta com a mensagem HTTP 201 com o ID da transação.
  10. Início do Hybrid Flow.

[Em Revisão] OpenID Connect (OIDC)

O OpenID Connect é uma camada de identidade sobre o protocolo OAuth 2.0, que permite a identificação de um usuário final com base na autenticação realizada por um Authorization Server. OpenID Connect permite uma grande variedade de tipos de clients, sendo, clients Web, clients móveis e JavaScript, oferecendo suporte a recursos opcionais, como criptografia de dados de identidade, descoberta de provedores de OpenID e gerenciamento de sessão.
Existem três papéis envolvendo uma solução de OIDC:

ID Token

O OIDC utiliza o authorization code, access token e refresh token descrito na seção anterior sobre OAuth e define um outro tipo de Token, o ID Token.

{"iss": "http://YOUR_DOMAIN/",
"sub": "xpto|123456",
"aud": "YOUR_CLIENT_ID",
"exp": "1311281970",
"iat": "1311280970",
"id": "1234567"}

UserInfo Endpoint: Retorna claims sobre um usuário autenticado. Chamar o endpoint requer um Access Token e as claims retornadas são regidos pelo Access Token.
Exemplo de resposta bem-sucedida contendo um ID Token assinado:

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": "3600",
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzc
yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5
NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"}

[Em Revisão] JWT

O formato JWT (JSON Web Token) é projetado para transmitir claims entre duas partes. O JWT consiste em um Header, um payload e uma assinatura. O cabeçalho do ID Token contém informações sobre o tipo de objeto (JWT) e o algoritmo de assinatura utilizado para proteger a integridade dos claims do payload. O algoritmo de assinatura exigido é o PS256 (RSASSA-PSS utilizando SHA-256 e MGF1 com SHA-256). A seção do payload contém as claims sobre um usuário e o evento de autenticação. A seção de assinatura contém uma assinatura digital com base no payload do ID Token e uma chave secreta conhecida pelo provedor OpenID.

O JWT é formado por três seções: Header, Payload e Signature.
O Header contém somente a informação tipo e algoritmo:

{"typ": "JWT",
"alg": " PS256"}

Payload

O Payload é um objeto JSON com as Claims da entidade tratada, normalmente o usuário autenticado.
Claims são informações afirmadas sobre um sujeito, por exemplo um ID Token, pode conter uma claim chamada name que afirma que o usuário autenticado é quem diz ser. Em um JWT uma claim aparece como um par nome/valor em que o nome é sempre uma string e o valor pode conter qualquer conteúdo JSON. Essas claims podem ser de 3 tipos:

Reserved claims: São claims definidas pela especificação do JWT e contém atributos não obrigatórios (mais recomendados) que são usados na validação do token pelos protocolos de segurança das APIs. É possível verificar a lista completa de Reserved Claims em [IANA JSON Web Token Claims Registry].

{"sub": "Subject, entidade à quem o token pertence, normalmente o ID do usuário",
"iss": "Issuer, emissor do token",
"exp": "Expiration, timestamp de quando o token irá expirar",
"iat": "Issued at, timestamp de quando o token foi criado",
"aud": "Audience, destinatário do token, representa a aplicação que irá usá-lo"}

Public claims: atributos utilizados nas aplicações. Normalmente armazenamos as informações do usuário autenticado na aplicação.

{"name": "Joe",
"roles": "Administrator",
"permissions": "Full"}

Private claims: são claims personalizadas e contém atributos definidos para compartilhar informações entre aplicações.

{"sub": "1234567890",
"name": "Jose Doe"
"admin": "true"}

Conjunto de claims para um ID Token do Open Banking:

{"iss": "Emissor do token",
"sub": "Identificador único do subject",
"openbanking_intent_id": "Intent ID da solicitação",
"aud": "Público alvo para o qual o ID Token é destinado (deve incluir o Client ID)",
"exp": "Data/hora de expiração do token",
"iat": "Data/hora de emissão do token",
"auth_time": "Data/hora de autenticação do End-user",
"nonce": "Valor string que associa uma sessão do cliente com um ID Token usado para ajudar na mitigação de ataques de replay",
"acr": "Authentication Context Class Reference",
"amr": "Authentication Methods References",
"azp": "Authorized party",
"s_hash": "State hash value",
"at_hash": "Access Token hash value",
"c_hash": "Code hash value"}

Assinatura

A assinatura é o header e o payload criptografados com um secret.

PS256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret)

Para obter o token JWT, as três seções header (vermelho), payload (roxo) e signature (azul) são codificadas com Base64-URL e unidas por pontos.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJz
dWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4g
RG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSM
eKKF2QT4fwpMeJf36POk6yJV_adQssw5c

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. -> Header
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ. -> Payload
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c -> Signature

Este token JWT deve ser enviado no cabeçalho Authentication HTTP usando o esquema Bearer. O conteúdo do cabeçalho deve seguir este formato:

Authorization: Bearer

[Em Revisão] Fluxo OpenID Connect (OIDC)

O OpenID Connect define os seguintes fluxos:

Diagrama - Fluxo Hybrid Flow

  1. Usuário acessa o aplicativo e faz requisições ao Client.
  2. Client redireciona a requisição de autenticação ao Authorization Server.
  3. O Authorization Server interage com o usuário com a requisição de autenticação e o consentimento sobre o escopo.
  4. Usuário efetua a autenticação e provê o consentimento, o Authorization Server cria ou atualiza uma sessão para o usuário.
  5. Authorization Server direciona o End-User de volta ao client com um código de autorização e, dependendo do tipo da resposta, com parâmetros adicionais.
  6. O Client solicita uma resposta ao Authorization Server com o código de autorização para obter os demais tokens.
  7. O Authorization Server responde com o ID Token e um Access Token.
  8. O Client valida o ID Token e busca o Subject Identifier do End-User. O Authorization Server deve suportar request objects conforme especificado na seção 6.1 (Request Object) do OIDC.

    [Em Revisão] Financial-Grade API (FAPI)

    Financial-grade API, o FAPI, é uma especificação técnica desenvolvida pelo Grupo de Trabalho Financial-grade API da OpenID Foundation. Ele utiliza OAuth 2.0 e OpenID Connect (OIDC) como sua base e define requisitos técnicos adicionais para o setor financeiro e outros setores que exigem maior segurança.

FAPI: Read and Write API Security Profile

É obrigatório o uso do perfil de segurança FAPI-Financial-grade API: Read and Write API Security Profile, referenciado no endereço: https://openid.net/specs/openid-financial-api-part-2-wd-06.html.

FAPI: CIBA-Client Initiated Backchannel Authentication Profile

A autenticação pelo CIBA fornece um fluxo desacoplado, possibilitando autorizar um pagamento por exemplo em um terminal de ponto de venda ou em um posto de combustível. O perfil de segurança CIBA: Client Initiated Backchannel Authentication Profle será opcional pelos participantes do Open Banking, referenciado no endereço: https://openid.net/specs/openid-financial-api-ciba.html.

[Em Revisão] Fluxos de Autenticação e Autorização

Um Autorizador deve usar o protocolo OpenID Connect (OIDC) e o OAuth 2.0 Authorization Framework para autenticar usuários e obter sua autorização para acessar recursos protegidos.
A autenticação e a autorização representam funções fundamentalmente diferentes, conforme comparativo abaixo:

Autenticação Autorização
Determina se os usuários são quem afirmam ser Determina o que os usuários podem e não podem acessar
Desafia o usuário a validar credenciais (por exemplo, por meio de senhas, respostas a perguntas de segurança ou reconhecimento facial) Verifica se o acesso é permitido por meio de políticas e regras
Normalmente feito antes da autorização Normalmente feito após autenticação bem-sucedida
Geralmente, transmite informações por meio de um token de ID Geralmente, transmite informações por meio de um token de acesso
Geralmente regido pelo protocolo OpenID Connect (OIDC) Geralmente regido pela estrutura OAuth 2.0

Camada de transporte

A comunicação entre os aplicativos terceiros e os recursos protegidos, devem ser sempre protegidas utilizando uma conexão TLS versão 1.2 ou superior. A conexão TLS deve ser estabelecida sempre utilizando o certificado qualificado para a autenticação do site e o certificado deve ser emitido seguindo as normas definidas para o Open Banking.

Fluxo client credentials

Com aplicativos machine-to-machine (M2M), como serviços em execução no back-end, o sistema autentica e autoriza o Client em vez de um usuário. Para este cenário, esquemas de autenticação típicos como nome de usuário + senha ou logins sociais não fazem sentido.

Em vez disso, as aplicações M2M usam o fluxo Client Credentials utilizando mTLS (definido em OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound RFC 8705) e infraestrutura de chave pública (PKI). No qual o Client, o Authorization Server e o Servidor API são autenticados usando certificados X.509. O Access Token também é vinculado ao Client e validado utilizando certificados X.509.

Este método acrescenta uma restrição com chave de confirmação (ou prova de posse) ao Client que deseja utilizar um token emitido, com isso ele mitiga a possibilidade de uso abusivo dos Access Tokens Oauth tradicionais em caso de vazamento.

Diagrama – Fluxo de credenciais do client.

  1. O client e o servidor de autenticação estabelecem uma conexão mTLS, e o Client solicita um Access Token.
  2. O Servidor de Autenticação gera uma impressão digital SHA-256 do certificado do Client e a incorpora em um Access Token JWT. Isto limita o Access Token ao Client.
  3. O servidor de autenticação emite o Access Token como uma resposta ao Client.
  4. Os Clients fazem uma solicitação de recursos ao Servidor API usando o Access Token.
  5. O Servidor de API solicita ao Authorization Server que valide o Access Token.
  6. O Servidor API usa a impressão digital embutida para validar o Access Token.
  7. O Servidor de Autenticação retorna o resultado da validação do token.
  8. O Servidor API responde com o recurso solicitado.

Conforme definido na Seção 6.1 do RFC8705, os endpoints utilizados para emissão e validação de tokens que requerem uma conexão mTLS são endpoints convencionais separados por hostname ou porta diferente.

Fluxo do Authorization Code

No Fluxo do Authorization Code, o Client pode recuperar um Access Token e, opcionalmente, um Refresh Token. É considerada a escolha mais segura, pois o Access Token é passado diretamente para o servidor que hospeda o Client, sem passar pelo navegador do usuário e correr o risco de exposição.

Como os Clients são aplicativos do lado do servidor em que o código-fonte não é exposto publicamente, eles podem usar o fluxo do Authorization Code (definido no OAuth 2.0 [RFC 6749], seção 4.1 ), que troca um Authorization Code por um token. Seu Client deve estar no lado do servidor, porque durante essa troca, você também deve passar adiante o client secret do seu Client, que deve ser mantido sempre seguro, e deve armazená-lo em seu client.

Diagrama - Fluxo do código de autorização.

  1. O usuário clica em Login no Client.
  2. O client redireciona o usuário para o Authorization Server.
  3. O Authorization Server redireciona o usuário para o prompt de login e autorização.
  4. O usuário se autentica usando uma das opções de login configuradas e verá uma página de consentimento listando as permissões que o Autorizador dará ao Client.
  5. O Authorization Server redireciona o usuário de volta ao client com um Authorization Code, que é válido para um uso.
  6. O client envia esse código para o Authorization Server junto com o Client ID e o client secret do Client.
  7. O Authorization Server verifica o código, o Client ID e o client secret do client.
  8. O Authorization Server responde com um ID Token e um Access Token (e, opcionalmente, um Refresh Token).
  9. O Client usa o Access Token para chamar uma API para acessar informações sobre o usuário.
  10. A API responde com os dados solicitados.

[Em Revisão] Fluxo de Consentimento

[EM REVISÃO/ALTERAÇÃO - ABRIL DE 2021]

O fluxo de consentimento consiste no processo em que o usuário permite que a aplicação da instituição receptora tenha acesso aos dados por ele definidos. Esse consentimento deve ser requisitado ao usuário, juntamente a instituição transmissora de dados, a fim de compartilhar apenas as informações requeridas pelo usuário. Para isso, foi definido que o Open Banking Brasil utilizaria-se do padrão de Lodging Intent. Após o fluxo de consentimento completo, a aplicação da instituição receptora pode ainda não ter acesso aos dados, por regras de negócio das instituições transmissoras. As próximas seções se dedicam a explicar este fluxo por completo.

Padrão Lodging Intent

Essa seção descreve o padrão Lodging Intent, utilizado para parametrizar solicitações de autorização OAuth complexas de maneira confiável e segura. O OAuth por si, suporta apenas autorizar ações simples de leitura, o parâmetro scope é definido por uma lista delimitada por espaços contendo strings simples, quando se trata de autorizações mais complexas, como o início de um pagamento, o suporte integrado do OAuth não é suficiente. O padrão Lodging Intent pode ser utilizado para passar informações de forma confiável para o processo de autorização, independente das restrições de comprimento de URL, enquanto as informações também são protegidas contra modificação sem a necessidade de assiná-las digitalmente, reduzindo os custos de implementação. Executar um processo de autorização utilizando o padrão Lodging Intent e o Code Flow, funciona da seguinte maneira:

Mais detalhes sobre o funcionamento do padrão Lodging Intent pode ser consultado em https://bitbucket.org/openid/fapi/src/master/Financial_API_Lodging_Intent.md .

Exemplo de fluxo de consentimento

1: Pedido de Token para o Consentimento

POST /token HTTP/1.1
Host: as.banco.exemplo
Content-Type: application/x-www-form-urlencoded

"..."
client_id=3630BF72-E979-477A-A8FF-8A338F07C852&
grant_type=client_credentials&
scope=consents
"..."

eyJraWQiOiJOQnlW...

2: Requisição para criar um consentimento

POST /consents/v1/consents HTTP/1.1
Host: api.banco.exemplo
Content-Type:  application/json
Authorization: Bearer eyJraWQiOiJOQnlW...

{
    "data": {
        "..."
        "permissions": [
            "ACCOUNTS_READ",
            "ACCOUNTS_BALANCES_READ",
            "ACCOUNTS_TRANSACTIONS_READ"
        ],
        "..."
    }
}

3: Retorno da criação do consentimento

HTTP/1.1 201 Created
Location: /consents/v1/consents/urn:bancoex:C1DD33123 HTTP/1.1
Content-Type: application/json

{
    "data": {
        "..."
        "consentId": "urn:bancoex:C1DD33123",
        "..."
}

4: Requisição com token JTW para o Acess Token

GET /authorise?request=objectjwtpookdsfpmcieq-p0ok... HTTP/1.1
Host: as.banco.exemplo
...

// conteudo de exemplo do JWT enviado
{
    "..."
    "scope": "openid resources accounts consent:urn:bancoex:C1DD33123",
    "..."
}

O consentimento dado pelo usuário define quais informações a aplicação da instituição receptora terá acesso, mas não possui a granularidade de quais unidades de produto estão disponíveis para acesso. Essa informação cabe exclusivamente a instituição transmissora de dados. O seguinte exemplo demonstra o escopo de informações que o consentimento garante (Exemplos de codigo ao lado):

  1. O usuário deseja compartilhar as informações de suas contas pré-pagas. Após o fluxo do front-end, a aplicação do receptor deve pedir um token ao Authorisation Server com o scope "consents".

  2. Com o token, deve-se fazer uma requisição para a API de Consents, utilizando este token no header.

  3. Ao receber esta requisição, a API deve retornar o identificador do pedido de consentimento.

  4. Com o ID do consentimento, agora deve-se requisitar o Access Token que irá permitir com que a aplicação da instituição receptora consiga acessar os dados das APIs, enviando a requisição para o Authorisation Server com um objeto JWT contendo este ID como um escopo dinâmico.

  5. Ao receber esta ultima requisição, a instituição transmissora envia uma URL de redirecionamento, onde o usuário irá escolher, dentro do ambiente da própria instituição, quais unidades de recurso ele irá compartilhar, dado este Access token gerado pelo pedido de consentimento. Exemplo: Neste caso apresentado após o fluxo de consentimento, o usuário escolhe dentro do ambiente da instituição transmissora quais contas ele irá compartilhar. Assim a instituição transmissora poderia ter um controle deste tipo:

Access Token scope resourceId (accountId)
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... accounts 0577979c-6db7-49da-a04f-dc4822ad9e64
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... accounts e5f4ac9c-87a0-403f-aef2-3e4f5977d118

Assim que o usuário inserir quais itens ele irá compartilhar (neste exemplo, quais contas pré-pagas), o fluxo OAuth segue normalmente (redirecionamento do auth_code para a URL de callback e novo pedido de token ao Authorisation Server).

A tabela de scopes e permissions pode ser vista aqui.

Vale ressaltar que o consentimento, após dado do lado do app da instituição receptora, deve ser confirmado na instituição transmissora em até 60 minutos. Após este periodo, o pedido de consentimento expira.

Acesso aos dados após o consentimento

Ao colher o consentimento do usuário e obter o token, a aplicação da instituição receptora pode ainda não estar apta para acessar as informações contidas dentro do escopo das permissões enviadas no pedido de consentimento. Existem diversas questões que, por regra de negócio da instituição transmissora, podem fazer com que a aplicação da receptora não tenha acesso aos dados, como por exemplo uma autenticação de dupla alçada. Para isso, a aplicação receptora deve consultar a API de Resources.

O fluxo a seguir demonstra como deve ser uma consulta à API de Accounts, partindo do principio de que o App já tenha realizado todo o fluxo de Authorization Code, como descrito anteriormente, e portanto, já esteja de posse de um token de acesso válido. Vale lembrar que a API de Accounts é apenas um exemplo. Qualquer outra API de Data sharing segue o mesmo conceito.

Fluxo de acesso a API de Accounts

  1. App, em posse de um token válido, requisita a API de Resources a informação de quais recursos o token enviado tem acesso;
  2. API de Resources devolve essa informação, juntamente com o status de cada recurso (Se está disponível, esperando autorização da outra alçada, etc);
  3. Recebendo a resposta da API de Resources de que o recurso de Accounts está disponível, o App acessa a API de Accounts diretamente, utilizando o mesmo token;
  4. Com os recursos disponíveis, a API de Accounts retorna os dados requeridos corretamente.

Alguns pontos devem ser destacados: * Caso a API de Resources mostre recursos indisponíveis por qualquer motivo, as APIs de Data sharing não vão retornar nenhum item em suas consultas; * O App da instituição receptora pode acessar diretamente as APIs de Data sharing, sem qualquer quebra do fluxo de acesso ao dado. Porém, recomenda-se o acesso à API de Resources para que se garanta uma conexão mais efetiva e assertiva; * Caso a API de Resources traga status de bloqueio temporário de recurso, o App da instituição receptora pode acabar realizando um pooling para verificar quando o recurso estará disponível, respeitando sempre os limites de tráfego dispostos na seção específica deste portal.

Revogação do Consentimento

Pedidos de revogação de consentimentos feitos pelo usuário final por meio de API´s da instituição receptora devem obrigatoriamente implicar na revogação dos tokens de acesso e de consentimento relacionados por meio de chamadas executadas no servidor de autorização da instituição transmissora responsável pelo consentimento e/ou em API de consentimento mantida pelo transmissor. A instituição transmissora deve disponibilizar, por meio de API específica para o controle de consentimentos, interface que permita à instituição receptora detentora de consentimentos a verificação do seu estado. O acesso à API de consentimento deve ser precedido de autenticação e a consulta deve ser restrita ao consentimento a que a instituição receptora teve autorização prévia para acesso, com vistas a garantir que apenas a instituição receptora que registrou o pedido de consentimento possa realizar a consulta sobre o seu estado. A instituição receptora de dados detentora de consentimentos e de tokens de autorização deve revogá-los, por meio de chamadas específicas às API´s das instituições transmissoras publicadas para esse fim, quando perceber violações à confidencialidade dos tokens ou no fim da prestação dos serviços ao usuário final.

De acordo com a Resolução Conjunta Nº 1, tanto a instituição receptora quanto a transmissora devem possuir interfaces onde um consentimento pode ser imediatamente revogado pelo usuário (Art. 15). A partir do momento em que o consentimento for revogado, seu token perde validade. Assim, ao tentar acessar qualquer recurso, a API consultada deve retornar o HTTP Status 401.

Atualização do Consentimento

Deve-se levar em conta, como definido no Manual do Usuário, que ao se atualizar um consentimento, se realiza a deleção do consentimento anterior, e cria-se um novo consentimento, que contemple as alterações feitas pelo usuário.

Casos de Erro

A convenção do Open Banking Brasil mapeou alguns erros esperados durante o fluxo do usuário no ecossistema. Existem orientações especificas já tratadas no Manual do Usuário. Aqui, trataremos a visão mais técnica do que pode ser feito em caso de erro.

Redirecionamento App-to-app

O redirecionamento 'App-to-App' permite que a Instituição Receptora redirecione um usuário do seu aplicativo (em um navegador ou app) para o App da Instituição Transmissora, instalado no dispositivo do usuário. Nesse caso, a receptora é capaz de transmitir detalhes de sua solicitação junto com as preferências do usuário (por exemplo, tipo de produto, one-step authentication, etc) e ligar diretamente o seu usuário à tela ou função de login do aplicativo da transmissora, através de um deep-link. O usuário é então autenticado no aplicativo usando as mesmas credenciais/métodos normalmente usados quando ele acessa diretamente sua conta. Isso não deve envolver nenhuma etapa adicional (como, por exemplo, ser redirecionado primeiro para uma página da web para selecionar qual aplicativo da instituição transmissora usar) e não deve exigir que o usuário forneça qualquer identificador ou outras credenciais diferentes das já exigidas pela Instituição Transmissora em seu App. Quando o usuário não tem o App da transmissora, eles devem experimentar um fluxo de redirecionamento que também não deve envolver etapas adicionais do que seria o caso quando ele autentica diretamente na transmissora (por exemplo, ser redirecionado para o site mobile da transmissora).

Como funciona o fluxo de redirecionamento

Ao usar um serviço baseado no padrão de APIs Open Banking Brasil para redirecionamento, o usuário será redirecionado duas vezes:

  1. Da interface instituição receptora para a interface da transmissora (para autenticar e autorizar). O URI do servidor de autorização é especificado por cada transmissora em seu endpoint conhecido.

  2. Na volta da interface da transmissora para a interface da receptora (para completar qualquer operação com a receptora). Este redirecionamento é especificado pela receptora como parte do primeiro redirecionamento.

Uma jornada perfeita para o usuário, que ignora o navegador integrado (por exemplo, Safari) em seu dispositivo mobile, pode ser implementada para qualquer URL, ou seja, ambos: a) para o redirecionamento inicial para o qual a transmissora envia o usuário para os servidores da transmissora, E b) a URL de redirecionamento para o qual a transmissora envia o usuário de volta para a receptora após a autenticação/autorização.

Tanto transmissoras quanto receptoras devem seguir as orientações da Apple e do Google abaixo:

No caso de um usuário não ter o aplicativo instalado em seu dispositivo, ou se ele tiver um sistema operacional mais antigo ou sem suporte (por exemplo, Windows Mobile), esses métodos permitirão que o usuário seja redirecionado para uma página web mobile.

[Em Revisão] Assinatura de Mensagens

A assinatura de mensagens deve ser aplicada a APIs específicas, de acordo com a definição na documentação do Endpoint.
Para a assinatura de mensagens, deve ser suportado o uso de um JWT assinado (JWS). JWS representa o conteúdo protegido com assinaturas digitais ou com Message Authentication Codes (MACs) utilizando estruturas de dados JSON, referenciado em [RFC 7515].

Estrutura de um token com JWS.

[Em Revisão] Certificados

Dois tipos de certificados serão emitidos pelo ICP-Brasil para serem utilizados no Open Banking com as funções de transporte e assinatura. Atributos comuns a ambos os certificados:

Atributo Utilização
Data de validade Intervalo de tempo para qual o certificado será válido.
Data de emissão Data em que foi emitido o certificado.
Autoridade Certificadora AC- Autoridade Certificadora, entidade pública ou privada, subordinada à hierarquia da ICP-Brasil, responsável por emitir, distribuir, renovar, revogar e gerenciar certificados digitais.
Chave pública e privada Chaves públicas e privadas.
Tipo A1 ou A2 ou A3.
Código de registro do participante 2.16.76.1.3.3 otherName Código que identifica o participante do Open Banking (CNPJ).
Nome do participante 2.16.76.1.3.8 otherName Nome que identifica o participante do Open Banking (Nome que consta no CNPJ).
Código do Diretório (OID 2.16.76.1.3.X) Campo otherName em certificado de pessoa jurídica, contendo identificação do código de participante junto ao diretório do Open Banking. OID a ser definido.

Transporte

Certificado de transporte para a proteção e autenticação do canal (mTLS) e será utilizado para criptografar requisições e respostas entre Third Parties e bancos. Atributos específicos do certificado de transporte:

Atributo Utilização
Endpoint (OID 2.16.76.1.3.X) Campo otherName em certificado de pessoa jurídica, contendo endereço de endpoints associados ao Open Banking. OID a ser definido.
Key Usage critical, digitalSignature
extendedKeyUsage clientAuth, serverAuth

Assinatura

O certificado de assinatura de mensagens é utilizado para criar o JWS para assinar o payload JWT durante o processo de onboarding e authorization. Atributos específicos do certificado de assinatura:

Atributo Utilização
Key Usage critical, digitalSignature, nonRepudiation

Algoritmo de criptorgrafia

Algoritmo Bits
RSA 2048bits ou 4096bits
(PS256) RSASSA-PSS SHA-256 e MGF1 com SHA-256

Tipos de certificados

Tipo Validade Processo de geração Armazenamento
A1 1 ano Software Repositório protegido por senha e/ou identificação biométrica, cifrado por software.
A2 Até 2 anos Software Cartão Inteligente ou Token, ambos sem capacidade de geração de chave e protegidos por senha e/ou identificação biométrico
A3 Até 5 anos Hardware Hardware criptográfico, homologado junto à ICP-Brasil ou com certificação INMETRO.

Requisitos adicionais

Definições

A ICP-Brasil (Infraestrutura de Chaves Públicas Brasileira) consiste em uma cadeia hierárquica composta por uma autoridade gestora de políticas e autoridades certificadoras que utilizam um conjunto de tecnologias, práticas, técnicas e procedimentos para realizar a transação de documentos eletrônicos com segurança. O objetivo da ICP é fazer com que a utilização de criptografia de chaves públicas se torne mais fácil, tendo como principais componentes as autoridades certificadoras, autoridades de registro e o repositório. Sua hierarquia se dá da seguinte forma:

A validação requer um par de chaves, sendo que uma delas é de conhecimento geral, ou seja, de acesso ao público, e a outra de conhecimento apenas do proprietário. Por isso, seus dados precisam estar contidos em um certificado digital para que seja possível fazer a tramitação do documento.

Além disso, é preciso que a entidade certificadora seja integrante da infraestrutura do governo e receba uma classificação quanto ao seu nível de segurança. Desse modo, é possível garantir a validade jurídica dos documentos eletrônicos, bem como sua autenticidade e integridade.

As Autoridades Certificadoras (ACs) são responsáveis por gerenciar o ciclo de vida dos certificados digitais, controlando os processos de solicitação, emissão e revogação dos mesmos.

A Autoridade de Registro (AR) e o Repositório de Certificados Digitais também recebem tarefas delegadas da AC Raiz. À AR cabe a tarefa de verificar o conteúdo de requisições de certificados, enquanto o Repositório de Certificados Digitais tem como objetivo publicar os certificados digitais e as listas de certificados revogados emitidos por uma ou mais ACs. No Brasil, a hierarquia da Certificação Digital obedece ao ICP-Brasil, que deve ser:

Após o prazo de encerramento do Certificado Digital, ele é automaticamente expirado e, qualquer documento assinado após a data de vencimento não possui qualquer validade legal. Já os documentos que forem assinados dentro do período de validade do certificado, tem sua validade assegurada por tempo indeterminado.

A Certificação Digital é a tecnologia que permite que as transações eletrônicas sejam realizadas com segurança, por meio de algoritmos matemáticos capazes de garantir que as informações sejam manipuladas com autenticidade, integridade e confiabilidade.

A Assinatura Digital nada mais é que um processo eletrônico que faz uso de chaves criptografadas. De maneira geral, documentos que são assinados digitalmente passam por um processo de codificação das informações eletrônicas, de forma que somente receptor e emissor possam acessar os documentos compartilhados.

O uso do Certificado Digital é utilizado entre outras atividades para validar as transações bancárias on-line. Ou seja, para comprovar a autenticidade do serviço, o banco utiliza um certificado que assegura ao usuário que ele realmente está acessando o servidor do banco. Assim, ao acessar a sua conta bancária, por exemplo, o usuário pode utilizar seu certificado para autenticar-se diante do banco.

Guia das Etapas de Solicitação

Diagrama - Solicitação de um certificado digital.

A obtenção de um Certificado Digital compreende 4 etapas:

  1. Solicitação: O interessado (pessoa física ou jurídica) deve acessar uma das Autoridades Certificadoras, escolher o tipo e a validade do Certificado Digital e encaminhar para o processo de compra.
  2. Identificação Presencial: Após feita a solicitação, o interessado deve providenciar os documentos necessários para a emissão do certificado escolhido e agendar uma visita presencial em uma das Autoridades de Registro para realizar a identificação.
  3. Validação e Verificação dos documentos: Depois de apresentar os documentos obrigatórios, o interessado deve aguardar a liberação da validação e verificação realizadas pela Autoridade de Registro. Caso esteja em conformidade com as exigências, é possível seguir para o processo de emissão.
  4. Emissão: Na emissão, é gerado um par de chaves RSA com tamanho de 2048 bits e algoritmo de assinatura SHA 256 na mídia criptográfica do usuário.

Contudo, antes de requerer um Certificado Digital, o interessado deve analisar qual a finalidade de uso, a forma de armazenamento e o período de validade no qual deve obter seu documento para, então, solicitar o tipo de certificado adequado. É imprescindível que o interessado conheça as características de cada certificado antes de comprá-lo pelo site em uma das Autoridades Certificadoras habilitadas.

Emissão de certificados pelo Diretório de Participantes

O Diretório de Participantes foi escolhido como uma alternativa para a emissão de certificados, tornando-se uma Autoridade Certificadora para emissão de certificados para Clients (aplicativos).

Diagrama - Emitindo um certificado pelo Diretório

A obtenção de um Certificado Digital pelo Diretório, compreende 3 etapas:

  1. Solicitação: O solicitante deve assinar a solicitação (CSR) utilizando o e-CNPJ e efetuar o upload no Diretório de Participantes.
  2. Verificação: O Diretório realiza a verificação, estando em conformidade, prossegue para o processo de emissão.
  3. Emissão: O Diretório emite um certificado e retorna para o solicitante.

[Em Revisão] CSR

Esse bloco consiste em um exemplo de como gerar o Certificate Signing Requests (CSR) para o PKI do Open Banking.
Existem vários utilitários para gerar CSRs para serem enviados a uma autoridade certificadora, neste exemplo vamos utilizar OpenSSL para demonstrar como um CSR válido é gerado para enviar ao Open Banking para emitir um certificado x509 de transporte ou assinatura.
OpenSSL é compatível com Windows ou Linux, podendo ser emitido no sistema operacional preferido:

Gerando CSR de transporte
$ openssl req -new -config transporte.cnf -out transporte.csr -keyout transporte.key

Gerando CSR de assinatura
$ openssl req -new -config assinatura.cnf -out assinatura.csr -keyout assinatura.key

Exemplo:

$ openssl req -new -config /share/ob/transporte.cnf -out transporte.csr -keyout transporte.key
Generating a RSA private key
........................................+++++
............+++++
writing new private key to 'assinatura.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
BR []:BR

O CSR resultante deve ser carregado para o Open Banking PKI para emitir um certificado público de transporte ou assinatura associado à sua chave privada. Os arquivos resultantes devem ser protegidos pelas políticas de segurança da instituição.

Perfil de solicitação de assinatura de certificado X509 de transporte

Este bloco demonstra como gerar um CSR válido por um client que requer um Certificado de transporte X.509 utilizando um arquivo .cnf como base.
O seguinte arquivo de configuração é utilizado para gerar um CSR para um certificado de transporte usando OpenSSL.

Arquivo CNF OPENSSL Transporte apenas de exemplo, as configurações podem variar de acordo com a Autoridade Certificadora e para quem será emitido o certificado, alterar os campos como CNPJ e NOME da instituição:

# OPENSSL CSR REQUEST CONFIGURATION FILE
# ======================================
otherName = 2.16.76.1.3.3
otherName = 2.16.76.1.3.8
#otherName = 2.16.76.1.3.X #OID a ser confirmado com a informação dos endpoints
subjectAltName=@san
#CNPJ
otherName.1=2.16.76.1.3.3;UTF8:64721803000118
#Nome conforme consta no CNPJ
otherName.2=2.16.76.1.3.8;UTF8:Nome da instituicao
#Endpoints
#otherName.3=2.16.76.1.3.X;UTF8:Endpoints
# OpenSSL may not recognize this OID so need to add.
[ req ]
default_bits = 2048
#ou
#default_bits = 4096
# RSA key size
encrypt_key = yes
# Protect private key: yes or no. yes recommended
default_md = sha256
# MD to use. sha256 recommended
utf8 = yes
# Input is UTF-8.
string_mask = utf8only
# Emit UTF-8 strings
distinguished_name = client_dn
req_extensions = client_reqext
[ client_dn ]
countryName = "BR"
[ client_reqext ]
keyUsage = critical,digitalSignature
subjectKeyIdentifier = hash
extendedKeyUsage = clientAuth, serverAuth

Perfil de solicitação de assinatura de certificado X509 de assinatura

Este bloco demonstra como gerar um CSR válido por um client que requer um Certificado de assinatura X.509 utilizando um arquivo .cnf como base.
O seguinte arquivo de configuração é utilizado para gerar um CSR para um certificado de assinatura usando OpenSSL.

Arquivo CNF OPENSSL de Assinatura apenas de exemplo, as configurações podem variar de acordo com a Autoridade Certificadora e para quem será emitido o certificado, alterar os campos como CNPJ e NOME da instituição:

# OPENSSL CSR REQUEST CONFIGURATION FILE
# ======================================
otherName = 2.16.76.1.3.3
otherName = 2.16.76.1.3.8
subjectAltName=@san
#CNPJ
otherName.1=2.16.76.1.3.3;UTF8:64721803000118
#Nome conforme consta no CNPJ
otherName.2=2.16.76.1.3.8;UTF8:Nome da instituicao
# OpenSSL may not recognize this OID so need to add.
[ req ]
default_bits = 2048
#ou
#default_bits = 4096
# RSA key size
encrypt_key = yes
# Protect private key: yes or no. yes recommended
default_md = sha256
# MD to use. sha256 recommended
utf8 = yes
# Input is UTF-8.
string_mask = utf8only
# Emit UTF-8 strings
distinguished_name = client_dn
req_extensions = client_reqext
[ client_dn ]
countryName = "BR"
[ client_reqext ]
keyUsage = critical,digitalSignature,nonRepudiation
subjectKeyIdentifier = hash

O arquivo CSR OPENSSL resultante pode ser analisado com o seguinte comando:

$ openssl req -new -config assinatura.cnf -out assinatura.csr -keyout assinatura.key

[Em Revisão] Diretório de Participantes

Introdução

O Diretório de Participantes do Open Banking é o principal componente de arquitetura que permite que instituições provedoras se registrem e iniciem interações por meio de APIs com instituições transmissoras, também fornece um ambiente de testes.
O Diretório é um serviço de gerenciamento de identidade e acesso que fornece informações de identidade que dão suporte aos participantes do Ecossistema do Open Banking.
O Diretório de Participantes disponibiliza os recursos funcionais necessários para que as instituições provedoras possam se autenticar no Open Banking e também recursos para identificar as instituições transmissoras.
O Registro dos Provedores é obrigatório para usar as APIs fornecidas pelas instituições transmissoras.
As instituições transmissoras devem utilizar as informações técnicas contidas no Diretório para realizar o gerenciamento da identidade e da autorização das aplicações das instituições Participantes, que abrange a identificação, a autorização e a revogação de certificados utilizados no compartilhamento de dados e serviços do escopo do Open Banking.

Recursos funcionais do Diretório de Participantes:

Padrões

Registro de uma Instituição Provedora

O Diretório deverá realizar validações para o Registro de uma instituição receptora, depois destas validações, solicitações e respostas de API e/ou dados de contas podem ser compartilhadas com segurança entre as duas partes. O diretório deve validar, se:

Depois que todas as verificações forem realizadas, será estabelecido uma conexão TLS segura, mutuamente autenticada entre o Diretório e a instituição receptora.

Funções Operacionais dos Participantes



Fluxos para instituições receptoras






Fluxos para instituições transmissoras

Registro no diretório de participantes

Para poder consumir APIs disponibilizadas por uma instituição transmissora, uma instituição receptora deverá realizar um registro junto a instituição transmissora, esse processo de autenticação do participante deve ser feita de forma centralizada no Diretório de Participantes, sendo necessário a federação do seu portal ao Diretório. A instituição transmissora deve implementar um processo de integração da instituição receptora ao seu sistema, esse processo deve:

Após a instituição receptora realizar o registro no Diretório de Participantes, o mesmo poderá realizar o registro de clients (aplicações) na instituição transmissora. Para a realização do registro de clients no Open Banking, é mandatório a disponibilização do processo de registro de Client dinâmico, conforme [RFC 7591].

[Em Revisão] Registro de Client Dinâmico

O registro de Client dinâmico é mandatório para os participantes do Open Banking. Com uma API de registro de client dinâmico do Open Banking, utilizando o padrão de segurança OpenID Connect, as instituições receptoras podem se registrar junto a instituição transmissora.

O diagrama abaixo mostra o fluxo do registro dinâmico de uma instituição receptora.

Diagrama - Fluxo de registro dinâmico.

As instituições receptoras precisam obter o SSA do Diretório de Participantes do Open Banking.
Uma API de Registro dinâmico consiste em endpoints, que realizam a concessão de credencias do client e a autenticação mútua de TLS para autenticar a instituição receptora. A API deve permitir que as seguintes operações sejam realizadas:

[Em Revisão] CORS

Contexto Open-Data

O Cross-Origin Resource Sharing (CORS) para todas as origens (valor " * ") será permitido nos seguintes endpoints:

[Em Revisão] Endpoints

Contexto Open-data

Não haverá endpoints específicos para Autorização e Autenticação com o intuito de maximizar o uso do Open-data.

Será opcional a disponibilização de um endpoint para validação WKS:

api.banco.com.br/openbanking/security/v1/.well-known/jwks.json

Glossário de Segurança

Sigla Descrição Informação
API Interface de programação de aplicativo Uma interface de programação de aplicativo é um conjunto de rotinas, protocolos e ferramentas para construir aplicativos de software. Uma API especifica como os componentes de software devem interagir.
FAPI Financial API Especificação técnica de API e define requisitos técnicos adicionais para o setor financeiro
CIBA Client Initiated Backchannel Authentication A autenticação de backchannel iniciada pelo cliente (CIBA) é um dos padrões mais recentes da OpenID Foundation. são categorizados como "fluxo desacoplado", Ele permite novas maneiras de obter o consentimento do usuário final
Oauth O OAuth é um protocolo de autorização para API's web voltado a permitir que aplicações client acessem um recurso protegido em nome de um usuário.
OIDC OpenID Connect OpenID Connect é um protocolo de identidade simples com padrão aberto
JWT JSON Web Token é uma técnica definida na RFC 7519 para autenticação remota entre duas partes. Ele é uma das formas mais utilizadas para autenticar usuários em APIs RESTful.
JWS JSON Web Signature é uma forma de garantir a integridade das informações em um formato altamente serializado
SHA256 Secure Hash Algorithm é um conjunto de funções criptográficas de hash
PKCE Proof Key for Code Exchange Chave de prova para troca de código por clientes públicos Oauth
MAC Código de Autenticação de Mensagem Permite que as declarações sejam assinadas digitalmente ou protegidas por integridade utilizando JWS
ICP-Brasil Infraestrutura de Chaves Públicas Brasileira na definição oficial, “uma cadeia hierárquica de confiança que viabiliza a emissão de certificados digitais para identificação virtual do cidadão
AC Autoridade Certificadora
AR Autoridade de Registro
TLS Transport Layer Security
ECDSA Elliptic Curve Digital Signature Algorithm é um algoritmo de método de assinatura digital de documentos utilizando criptografia baseada em curvas elípticas.
ECDHE Elliptic-curve Diffie–Hellman é um protocolo de contrato chave que permite que duas partes, cada uma com um par de chaves público-privado de curva elíptica, estabeleçam um segredo compartilhado em um canal inseguro
AES Advanced Encryption Standard algoritmos de criptografia de bloco simétrico com uma chave de criptografia de 256 bits
Autenticação mútua Chamamos de autenticação mútua quando ambos cliente e servidor apresentam certificados para serem validados pelo par.
CSR Certificate Signing Request Contém informação que irá ser incluída no seu certificado como o nome da empresa/organização, common name (domínio), localidade e país. Também contém a chave pública (public key) que será incluída no seu certificado. Normalmente é também criada uma chave privada (private key) ao mesmo tempo que é criado o CSR
TPP Instituições Provedoras - Provedores terceirizados As instituições provedoras são organizações que usam APIs desenvolvidas pelos ASPSP para acessar contas de clientes, a fim de fornecer serviços de informações de contas
ASPSP Instituições Transmissoras - Provedor de serviços de pagamento de manutenção de contas Um ASPSP é qualquer instituição financeira que oferece uma conta de pagamento com acesso online. Os ASPSPs devem fornecer acesso para permitir que terceiros (TPP) registrados acessem as informações da conta através de APIs
SSA Software Statement Assertion SSA é um JSON Web Token (JWT) que contém metadados sobre uma instância de aplicativo client desenvolvida por um TPP. O JWT é emitido e assinado pelo OpenBanking Directory.
End User Identificação de usuário final que possui as informações que se deseja acessar
Back-End Aplicação ou código que da inteligência de negocio as ações solicitadas via API , código que efetivamente realiza a função desejada
Json JavaScript Object Notation Json é um modelo para armazenamento e transmissão de informações no formato texto.
Claims São escopos/declarações usadas em uma API durante a autenticação para autorizar o acesso aos detalhes de um usuário, como nome e imagem por exemplo. Cada escopo retorna um conjunto de atributos do usuário, que são chamados de declarações.
Header É o cabeçalho de uma solicitação ou resposta que transmite contexto e metadados adicionais sobre a solicitação ou resposta. Por exemplo, em uma mensagem de solicitação podem ser usados para fornecer credenciais de autenticação.
Payload O Payload é a Carga Útil do token JWT. É aqui que você coloca informações como a quem o token pertence, qual a expiração dele, quando ele foi criado, entre outras coisas

Referências normativas

Referença Descrição Versão
[JSON] The JavaScript Object Notation (JSON) Data Interchange Format: https://tools.ietf.org/html/rfc8259 Dec 2017
[JWT] JSON Web Token (JWT): https://tools.ietf.org/html/rfc7519 May 2015
[JWS] JSON Web Signature (JWS): https://tools.ietf.org/html/rfc7797 Feb 2016

Referências informativas

Referença Descrição
[BCP195] Recomendações para o uso do seguro do Transport Layer Security (TLS) e Datagram Transport Layer Security (DTLS): https://tools.ietf.org/html/bcp195
[DOS-G] Guia de segurança sobre DDoS attacks: https://www.ncsc.gov.uk/collection/denial-service-dos-guidance-collection

Testes e Homologação

Diretrizes Gerais

A Estrutura de Governança do Open Banking irá disponibilizar uma estrutura, doravante denominada Sandbox, que permita aos participantes, no mínimo:

I – submeter, ainda em tempo de desenvolvimento, suas implementações das APIs do Open Banking a testes automatizados funcionais e não funcionais (“Motor de Testes”); e

II - acessar implementações de exemplo das APIs do Open Banking, inclusive ao menos uma que simule uma Instituição Participante de Referência, com implementação completa de cada API (“Implementação de Referência”).

A fase de teste e homologação tem como finalidade garantir que os participantes que desejam operar no Ecossistema do Open Banking, possam fazer isso de forma assertiva e segura. Isso incluí o suporte para as instituições com a capacidade de testar seus produtos e serviços desde o lançamento, quanto nas atualizações, fornecendo uma série de ferramentas e infraestrutura para garantir que seus produtos tenham sido testados tempestivamente antes de entrar em produção.

O escopo mínimo dos testes irá abranger aspectos funcionais e não funcionais; os primeiros visarão a avaliar se as implementações estão aderentes às especificações das APIs; os últimos objetivarão avaliar se os requisitos não funcionais das APIs, em particular, segurança, estão sendo atendidos por suas implementações.

A execução dos testes de conformidade será realizada em ambiente disponibilizado pela Estrutura de Governança. Uma implementação de versão de API do Open Banking só poderá ser registrada no ambiente produtivo do Diretório caso tenha sido certificada nos testes de conformidade.

Instituições Transmissoras

Instituições transmissoras devem obrigatoriamente realizar testes de conformidade através do motor de conformidade disponibilizado no Portal do Open Banking, gerando um certificado que as suas implementações de segurança, autenticação, registro dinâmico de clientes (DCR) e funcionalidades estão aderentes às especificações do Open Banking Brasil. Mais detalhes e instruções sobre o processo certificação de instituições transmissoras serão fornecidas assim que a implementação do motor de testes for finalizado

Após a certificação o resultado e o descritivo dos testes serão disponibilizados em área pública do Portal do Open Banking no Brasil.

Instituições Receptoras

Instituições receptoras deverão utilizar o serviço de Sandbox fornecido pela estrutura do Open Banking Brasil para validar sua implementação em um banco de referência. Este recurso reflete ao máximo o ambiente de produção e permite aos desenvolvedores testarem os seguintes aspectos:

Como utilizar a ferramenta da OpenID Foundation para testes FAPI R/W - Plain FAPI

Para a segunda fase do Open Banking Brasil, as instituições financeiras dos segmentos S1 e S2 e as que se voluntariaram para participar como “instituição transmissora e receptora de dados”, abreviada por DADOS no diretório de participantes, deverão realizar o teste e certificação dos seus Authorization Servers, conforme resolução do Banco Central (BC), antes de iniciarem o envio dos dados de usuários.

Como o perfil FAPI R/W – Brasil está previsto para ser publicado em versão beta no meio de junho, uma alternativa para as instituições financeiras que desejarem já iniciar o teste da sua implementação é utilizar o teste FAPI R/W – Plain FAPI.

O Perfil FAPI R/W – Plain FAPI já está configurado na plataforma de conformidade da OpenID Foundation (OIDF) e permite que qualquer instituição financeira teste sua implementação sem nenhum custo. Além disso, o perfil é muito semelhante ao que será utilizado no Brasil, tendo como principais diferenças:

Essa proximidade entre os perfis faz com que uma instituição que consiga passar em todos os testes hoje do Plain FAPI tenha poucas dificuldades em se certificar no FAPI Brasil quando este for disponibilizado.

É importante ressaltar que não será necessária a certificação FAPI R/W - Plain FAPI para o Open Banking Brasil, apenas a certificação FAPI R/W - Brasil. Neste caso, essa instrução tem como único objetivo ajudar a instituição a testar seu deployment antes do lançamento do perfil brasileiro e se ambientar no uso da ferramenta da OIDF.

Processo para utilização da ferramenta de certificação:

1. Criação de certificado no diretório de participantes: Antes da inicialização do teste, a instituição financeira deverá realizar a publicação de dois Software Statements no Sandbox do diretório de participantes e realizar a emissão de dois certificados de transporte que serão utilizados para acessar o Authorization Server a ser testado. O guia para realizar a emissão desse certificado pode ser consultado em: https://openbanking-brasil.github.io/areadesenvolvedor/#guia-operacional-do-diretorio-central. A instituição também pode optar por utilizar outro conjunto de certificados além destes emitidos pelo Sandbox do diretório de participantes.

2. Criação do plano de testes: Após a configuração do certificado, o desenvolvedor, em posse dos atributos do seu Authorization Server, poderá se conectar no motor de testes da OIDF e realizar a criação de um plano de testes em “Create a new test plan”. O preenchimento do plano de testes FAPI R/W - Plain FAPI pode ser conferido através do pdf: Guia OIDF.

3. Execução do plano de testes: Após a criação do plano de testes, a instituição poderá realizar todos os testes existentes na sua implementação. Para maior detalhamento dos testes, é possível consultar os dois workshops realizados pelo Open Banking Brasil e a OIDF sobre o perfil de segurança FAPI e o conjunto de testes de conformidade e certificação: https://openbanking-brasil.github.io/areadesenvolvedor/#workshops-com-openid-foundation

A OIDF também disponibiliza uma extensa documentação em relação ao motor de testes e aos perfis FAPI que pode ser acessada através dos links abaixo:

FAPI Especificações
Financial-grade API Security Profile 1.0 — Part 1: Baseline
Financial-grade API Security Profile 1.0 — Part 2: Advanced
Differences between ID2 and Final

FAPI Motor de testes e certificação
How to run conformance tests for FAPI-RW OPs
How to request certification after successfully completing conformance testing for FAPI-RW and FAPI-CIBA OPs
Financial-grade API (FAPI), Explained by an Implementer – Updated

Diretrizes técnicas do diretório

Guia Operacional do Diretório Central

Este guia serve para orientar participantes que desejam integrar seu software com o Diretório Central. Destina-se a administradores, contatos técnicos primários e secundários.

Aqui estão descritas as etapas técnicas para criar e manter declarações de software, tokens de acesso e servidores de autorização no ambiente de sandbox e produção do Diretório Central.

O documento está estruturado nas seguintes seções:

  1. Introdução
  2. Registrando um usuário no Diretório
  3. Acessando uma Organisation
  4. Cadastrando um Authorisation Server
  5. Cadastrando Recursos de uma API
  6. Criando um Software Statements
  7. Criando uma solicitação de Assinatura de Certificado (CSR) em Sandbox
  8. Carregando certificados assinados no Diretório em Produção
  9. Obtendo um Software Statements Assertion
  10. Configurando eventos de notificação no Diretório
  11. Obtendo um token de acesso para as APIs do Diretório
  12. Listando as organizações cadastradas no Diretório via API
  13. Listando os servidores de autorização de uma organização via API
  14. Obtendo um Software Statement via API
  15. Obtendo um Software Statement Assertion via API
  16. Suporte

O guia pode ser baixado nesse link (OpenBanking - Guia de operação do diretório central).

Especificações de APIs do Diretório e do Service Desk

APIs Diretório

O Diretório Central do Open Banking Brasil pode ser acessado tanto via interface gráfica quanto por meio de integração por APIs.

Para acessar as APIs do Diretório, verifique o item 10 do guia operacional do Diretório Central - “Obtendo um token de acesso para acessar as APIs do Diretório”. O guia está disponível na sessão “Diretrizes técnicas do Diretório”.

Para entender como usar cada API, leia a especificação do Swagger da API do Diretório disponível nesse link (https://github.com/OpenBanking-Brasil/specs-directory/blob/main/openapi.yaml).

As funcionalidades previamente liberadas para acesso são:

APIs Service Desk

O Service Desk do Open Banking Brasil pode ser acessado tanto via interface gráfica quanto por meio sistêmico através de APIs.

Para acessar a documentação das APIs do Service Desk é necessário logar na ferramenta via interface gráfica, acessar a sessão de FAQ e selecionar o menu "API SysAid".

As funcionalidades previamente liberadas para acesso são:

Como documento adicional, é possível fazer o download de um PDF nesse link (Especificação APIs Service Desk) contendo todas as informações listadas no repositório acima.

Problemas conhecidos da especificação

Atualmente não há problemas conhecidos

Guias de implementação

Acesse neste link uma implementação de referência da fase 1.

Esta implementação de exemplo permite ao desenvolvedor realizar testes referentes à fase 1 (open-data) do Open Banking Brasil.

Fase 1 - APIs do Open Banking Brasil v1.0.0

Para visualizar as especificações das API's do projeto Open Banking Brasil Fase 1, favor acessar o link abaixo:

API's Open Banking Fase 1

Divulgação dos valores de tarifas e taxas de juros remuneratórias

Conforme disposto na Circular nº 4.015, art. 3º, para fins de compartilhamento dos valores de tarifas e taxas de juros remuneratórias dos produtos e serviços ofertados, as instituições devem compartilhar uma distribuição de frequência relativa dos valores cobrados e dos clientes.

Segundo o Art. 6º da Instrução Normativa nº 32 BCB, de 2020: “O compartilhamento da distribuição de frequência relativa dos valores de tarifas e taxas de juros cobrados dos clientes, de que trata o § 2º do art. 3º da Circular nº 4.015, de 2020, deve dar-se com base em quatro faixas de igual tamanho, com explicitação dos valores sobre a mediana e o percentual de clientes em cada uma dessas faixas, além dos valores máximos e mínimos do universo, segmentados em pessoas naturais e jurídicas, bem como por tipo de serviço ou modalidade de operação e por indexador ou referencial, no caso de operações pós-fixadas.

§ 1º Admite-se que as instituições compartilhem dados relacionados à distribuição de frequência de que trata o caput em base atualizada em periodicidade mensal, divulgada no décimo dia útil de cada mês, a partir de janeiro de 2021, referente a valores cobrados de seus clientes no mês anterior.

§ 2º A distribuição de frequência relativa a taxas de juros divulgada conforme o § 1º deve corresponder às operações de crédito concedidas no mês anterior”’.

Desta forma, cada instituição deve, no momento de compartilhamento, ordenar sua base em ordem crescente de valores cobrados por tarifas e taxas de juros remuneratórias dos produtos e serviços ofertados durante o mês de apuração, segmentá-la em quatro faixas de mesmo valor e divulgar 10 valores:

Devem ser utilizados no cálculo os valores devidos de tarifas e os valores cobrados de taxas de juros remuneratórias disponíveis nas bases de cliente no mês anterior.

Caso haja mais de 1 evento por cliente referente ao mesmo produto e/ou serviço, deverá ser considerado apenas 1 valor, calculado como a média aritmética dos valores das ocorrências daquele cliente.

Para taxas de juros remuneratórias, os valores compartilhados/divulgados serão os que correspondem às concessões no mês da apuração, segmentados em pessoas naturais e jurídicas, bem como por modalidade de operação e por indexador ou referencial, no caso de operações pós-fixadas.

Para tarifas, a segmentação é por pessoas naturais e jurídicas e por tipo de serviço referente a tarifa avulsa (fora do Pacote de Serviço) cobradas no mês de apuração, devendo-se considerar inclusive as de valor zero (ou isentas).

Tarifas – Apuração Frequência e valores correspondentes

Serviço: tarifas avulsas cobradas no mês de apuração. (Cada tarifa será informada separadamente, devendo ser informadas tantas tarifas quanto as que satisfizerem os critérios de apuração) As tarifas de valor zero (ou isentas) fora de pacotes de serviços, caso tenham ocorrido no mês de referência, devem ser consideradas na distribuição de frequência relativa dos valores.

Tipo Pessoa: PN ou PJ

Período: Mês fechado, identificado como M-1

Base Clientes: clientes segregados por tipo de pessoa que tiveram cobrança da mesma tarifa avulsa (não inclusa no Pacote de serviços) no mês de apuração. Caso haja mais de 1 evento por cliente, referente ao mesmo produto e/ou serviço, deverá ser considerado apenas 1 valor, calculado como a média aritmética dos valores das ocorrências daquele cliente

Processo de Apuração para cada tipo de tarifa que satisfizer critérios de apuração:

  1. Identificar clientes com mais de uma ocorrência de evento e calcular a média aritmética sobre valores cobrados;
  2. Enfileirar os valores em ordem crescente de grandeza;
  3. Definir menor (MenorVL) e maior valor (MaiorVL) relativos às tarifas enfileiradas em ordem crescente
  4. Definir: ( MaiorVL – MenorVL ) / 4 = Intervalo para definição faixas de valores (e se MenorVL = MaiorVL, então (MaiorVL – 0) / 4
  5. Calcular mediana dos valores em cada faixa
  6. Calcular o percentual de clientes por faixa ( soma dos valores apurados = 100% )

Exemplo de Uso:

Download do exemplo

Download do exemplo

Apuração Frequência Taxas Juros remuneratórios

Modalidade: relativa às operações de crédito concedidas (contratadas) no mês da apuração (M-1 – mês anterior)

Tipo Pessoa: PN ou PJ

Taxa ou Indexador: referente ao custo da operação contratada e percentual de incidência (conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040, BCB) – Dado informativo

Período: mês fechado, identificado como M-1

Base Clientes: clientes segregados por tipo de pessoa (contrato) que tomou crédito de mesma Modalidade no mês de apuração. Com mesmo tipo de taxa ou Indexador e mesmo percentual aplicado. Caso haja mais de 1 evento por cliente referente a mesma Modalidade e Indexador deverá ser considerado apenas 1 valor, calculado como a média aritmética dos valores das ocorrências daquele cliente

Processo de Apuração para cada tipo de Indexador/taxa – percentual aplicado para cada Modalidade que satisfizer os critérios de apuração

Para cada Indexador/Taxa e seu percentual, da Modalidade apurada:

  1. Identificar clientes com mais de uma ocorrência de evento e calcular a média aritmética sobre valores cobrados;
  2. Enfileirar os valores em ordem crescente de grandeza;
  3. Definir menor (MenorVL) e maior valor (MaiorVL) relativos aos valores enfileirados em ordem crescente
  4. Calcular: ( MaiorVL – MenorVL ) / 4 = Intervalo para definição faixas de valores (e se MenorVL = MaiorVL, então 1. (MaiorVL – 0) / 4
  5. Calcular mediana dos valores em cada faixa
  6. Calcular o percentual de clientes por faixa ( soma dos valores apurados = 100% )

Exemplos de Uso:

Download do exemplo

Download do exemplo

Download do exemplo

Download do exemplo

Download do exemplo

Fase 2 - APIs do Open Banking Brasil v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Clientes poderão solicitar o compartilhamento entre instituições participantes de seus dados cadastrais, de informações sobre transações em suas contas, cartão de crédito e produtos de crédito contratados.

O compartilhamento ocorre apenas se a pessoa autorizar através da API de Consentimento, sempre para finalidades determinadas e por um prazo específico. E será possível para o cliente cancelar essa autorização a qualquer momento em qualquer uma das instituições envolvidas no compartilhamento.

API - Consentimento

Versão
1

Visão Geral

A API tem como objetivo garantir que o usuário esteja ciente e concordando com a disponibilização e compartilhamento de determinados dados entre bancos e instituições financeiras e acessível também à estabelecimentos comerciais participantes do Open Banking Brasil.

É possível realizar a criação (não possuindo restrição de uso entre pessoa física e pessoa jurídica), consulta e revogação de um consentimento mediante a integração entre as instituições autorizadas.

[EM REVISÃO/ALTERAÇÃO - ABRIL DE 2021]

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Criar novo pedido de consentimento.

Exemplo de código

const data = JSON.stringify({
  "data": {
    "loggedUser": {
      "document": {
        "identification": "11111111111",
        "rel": "CPF"
      }
    },
    "businessEntity": {
      "document": {
        "identification": "11111111111111",
        "rel": "CNPJ"
      }
    },
    "permissions": [
      "ACCOUNTS_READ",
      "ACCOUNTS_OVERDRAFT_LIMITS_READ",
      "RESOURCES_READ"
    ],
    "expirationDateTime": "2021-05-21T08:30:00Z",
    "transactionFromDateTime": "2021-01-01T00:00:00Z",
    "transactionToDateTime": "2021-02-01T23:59:59Z"
  }
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://example.com/consents/v1/consents");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\"data\":{\"loggedUser\":{\"document\":{\"identification\":\"11111111111\",\"rel\":\"CPF\"}},\"businessEntity\":{\"document\":{\"identification\":\"11111111111111\",\"rel\":\"CNPJ\"}},\"permissions\":[\"ACCOUNTS_READ\",\"ACCOUNTS_OVERDRAFT_LIMITS_READ\",\"RESOURCES_READ\"],\"expirationDateTime\":\"2021-05-21T08:30:00Z\",\"transactionFromDateTime\":\"2021-01-01T00:00:00Z\",\"transactionToDateTime\":\"2021-02-01T23:59:59Z\"}}"

headers = {
    'Content-Type': "application/json",
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("POST", "/consents/v1/consents", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.post("https://example.com/consents/v1/consents")
  .header("Content-Type", "application/json")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .body("{\"data\":{\"loggedUser\":{\"document\":{\"identification\":\"11111111111\",\"rel\":\"CPF\"}},\"businessEntity\":{\"document\":{\"identification\":\"11111111111111\",\"rel\":\"CNPJ\"}},\"permissions\":[\"ACCOUNTS_READ\",\"ACCOUNTS_OVERDRAFT_LIMITS_READ\",\"RESOURCES_READ\"],\"expirationDateTime\":\"2021-05-21T08:30:00Z\",\"transactionFromDateTime\":\"2021-01-01T00:00:00Z\",\"transactionToDateTime\":\"2021-02-01T23:59:59Z\"}}")
  .asString();

POST /consents/v1/consents

Versão
1

Visão Geral

Método para a criação de um novo consentimento.

Dicionário de dados

Fazer download do dicionário de dados

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Body parameter

{
  "data": {
    "loggedUser": {
      "document": {
        "identification": "11111111111",
        "rel": "CPF"
      }
    },
    "businessEntity": {
      "document": {
        "identification": "11111111111111",
        "rel": "CNPJ"
      }
    },
    "permissions": [
      "ACCOUNTS_READ",
      "ACCOUNTS_OVERDRAFT_LIMITS_READ",
      "RESOURCES_READ"
    ],
    "expirationDateTime": "2021-05-21T08:30:00Z",
    "transactionFromDateTime": "2021-01-01T00:00:00Z",
    "transactionToDateTime": "2021-02-01T23:59:59Z"
  }
}

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
body body CreateConsent true Payload para criação do consentimento.

O comando acima retorna uma estrutura json como essa:

201 Response

{
  "data": {
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2021-05-21T08:30:00Z",
    "status": "AWAITING_AUTHORISATION",
    "statusUpdateDateTime": "2021-05-21T08:30:00Z",
    "permissions": [
      "ACCOUNTS_READ",
      "ACCOUNTS_OVERDRAFT_LIMITS_READ",
      "RESOURCES_READ"
    ],
    "expirationDateTime": "2021-05-21T08:30:00Z",
    "transactionFromDateTime": "2021-01-01T00:00:00Z",
    "transactionToDateTime": "2021-02-01T23:59:59Z"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
201 Created Consentimento criado com sucesso. ResponseConsent
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
415 Unsupported Media Type O formato do payload não é um formato suportado. ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError
default Default Erro inesperado. ResponseError

Response Headers

Status Header Type Format Description
201 x-fapi-interaction-id string none

Obter detalhes do consentimento identificado por consentId.

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/consents/v1/consents/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/consents/v1/consents/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/consents/v1/consents/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /consents/v1/consents/{consentId}

Versão
1

Visão Geral

Método para obter detalhes do consentimento identificado por consentId.

Dicionário de dados

Fazer download do dicionário de dados

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
consentId path string true Identificador do consentimento.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2021-05-21T08:30:00Z",
    "status": "AWAITING_AUTHORISATION",
    "statusUpdateDateTime": "2021-05-21T08:30:00Z",
    "permissions": [
      "ACCOUNTS_READ",
      "ACCOUNTS_OVERDRAFT_LIMITS_READ",
      "RESOURCES_READ"
    ],
    "expirationDateTime": "2021-05-21T08:30:00Z",
    "transactionFromDateTime": "2021-01-01T00:00:00Z",
    "transactionToDateTime": "2021-02-01T23:59:59Z"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Consentimento consultado com sucesso. ResponseConsent
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError
default Default Erro inesperado. ResponseError

Response Headers

Status Header Type Format Description
200 x-fapi-interaction-id string none

Deletar/revogar o consentimento identificado por consentId.

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://example.com/consents/v1/consents/string");
xhr.setRequestHeader("Accept", "application/json; charset=utf-8");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json; charset=utf-8",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("DELETE", "/consents/v1/consents/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.delete("https://example.com/consents/v1/consents/string")
  .header("Accept", "application/json; charset=utf-8")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

DELETE /consents/v1/consents/{consentId}

Método para deletar/revogar o consentimento identificado por consentId.

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
consentId path string true Identificador do consentimento.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

400 Response

{
  "errors": [
    {
      "code": "string",
      "title": "string",
      "detail": "string"
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
204 No Content Consentimento revogado com sucesso. None
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError
default Default Erro inesperado. ResponseError

Response Headers

Status Header Type Format Description
204 x-fapi-interaction-id string none

API - Resources

Obtém a lista de recursos consentidos pelo cliente.

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/resources/v1/resources");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/resources/v1/resources", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/resources/v1/resources")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /resources/v1/resources

Versão
1

Visão Geral

Método para obter a lista de recursos mantidos pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.

Dicionário de dados

Fazer download do dicionário de dados

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "resourceId": "25cac914-d8ae-6789-b215-650a6215820d",
      "type": "ACCOUNT",
      "status": "AVAILABLE"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de status dos recursos obtidos com sucesso. ResponseResourceList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError
default Default Dados de status dos recursos obtidos com sucesso. ResponseResourceList

Response Headers

Status Header Type Format Description
200 x-fapi-interaction-id string none
default x-fapi-interaction-id string none

API - Dados Cadastrais

Identificação Pessoa Natural

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/customers/v1/personal/identifications");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/customers/v1/personal/identifications", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/customers/v1/personal/identifications")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /customers/v1/personal/identifications

Versão
1

Visão Geral

Obtém os registros de identificação da pessoa natural

Esta especificação inclui todos os itens relevantes que permitam a ação e o efeito de identificar de forma única a pessoa natural através de seus dados cadastrais.

Tags: CBO (Cbo Code), CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (Cpf Number), Identificação (Identification), Instituição Financeira (Company), Marca (Brand), Nome Civil Completo (Civil Name), Nome Social (Social Name) e Sexo (Sex).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "updateDateTime": "2021-05-21T08:30:00Z",
      "personalId": "578-psd-71md6971kjh-2d414",
      "brandName": "Organização A",
      "civilName": "Juan Kaique Cláudio Fernandes",
      "socialName": "string",
      "birthDate": "2021-05-21",
      "maritalStatusCode": "SOLTEIRO",
      "maritalStatusAdditionalInfo": "",
      "sex": "FEMININO",
      "companyCnpj": [
        "01773247000103",
        "01773247000563"
      ],
      "documents": {
        "cpfNumber": "25872252137",
        "passportNumber": "75253468744594820620",
        "passportCountry": "CAN",
        "passportExpirationDate": "2021-05-21",
        "passportIssueDate": "2021-05-21"
      },
      "otherDocuments": [
        {
          "type": "CNH",
          "typeAdditionalInfo": "NA",
          "number": "15291908",
          "checkDigit": "P",
          "additionalInfo": "SSP/SP",
          "expirationDate": "2021-05-21"
        }
      ],
      "hasBrazilianNationality": false,
      "nationality": [
        {
          "otherNationalitiesInfo": "CAN",
          "documents": [
            {
              "type": "SOCIAL SEC",
              "number": "423929299",
              "expirationDate": "2021-05-21",
              "issueDate": "2021-05-21",
              "country": "Brasil",
              "typeAdditionalInfo": "Informações adicionais."
            }
          ]
        }
      ],
      "filiation": [
        {
          "type": "PAI",
          "civilName": "Marcelo Cláudio Fernandes",
          "socialName": "NA"
        }
      ],
      "contacts": {
        "postalAddresses": [
          {
            "isMain": true,
            "address": "Av Naburo Ykesaki, 1270",
            "additionalInfo": "Fundos",
            "districtName": "Centro",
            "townName": "Marília",
            "ibgeTownCode": "3550308",
            "countrySubDivision": "SP",
            "postCode": "17500001",
            "country": "Brasil",
            "countryCode": "BRA",
            "geographicCoordinates": {
              "latitude": "-90.8365180",
              "longitude": "-180.836519"
            }
          }
        ],
        "phones": [
          {
            "isMain": true,
            "type": "FIXO",
            "additionalInfo": "Informações adicionais.",
            "countryCallingCode": "55",
            "areaCode": "19",
            "number": "29875132",
            "phoneExtension": "932"
          }
        ],
        "emails": [
          {
            "isMain": true,
            "email": "karinafernandes-81@br.inter.net"
          }
        ]
      }
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados sobre identificação pessoa física. ResponsePersonalCustomersIdentification
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Identificação Pessoa Jurídica

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/customers/v1/business/identifications");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/customers/v1/business/identifications", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/customers/v1/business/identifications")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /customers/v1/business/identifications

Versão
1

Visão Geral

Obtém os registros de identificação da pessoa jurídica

Esta especificação inclui todos os itens relevantes que permitam a ação e o efeito de identificar de forma única a pessoa jurídica através de seus dados cadastrais.

Tags: CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (CPF Number), Identificação (Identification), Instituição Financeira (Company), Marca (Brand), Nome Civil Completo (Civil Name), Nome Social (Social Name) e Razão Social (Company Name).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "updateDateTime": "2021-05-21T08:30:00Z",
      "businessId": "578-psd-71md6971kjh-2d414",
      "brandName": "Organização A",
      "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
      "tradeName": "Mundo da Eletronica",
      "incorporationDate": "2021-05-21T08:30:00Z",
      "cnpjNumber": "50685362006773",
      "companyCnpjNumber": [
        "50685362000135",
        "50685362006555"
      ],
      "otherDocuments": [
        {
          "type": "EIN",
          "number": "128328453",
          "country": "CAN",
          "expirationDate": "2021-05-21"
        }
      ],
      "parties": [
        {
          "personType": "PESSOA_NATURAL",
          "type": "SOCIO",
          "civilName": "Juan Kaique Cláudio Fernandes",
          "socialName": "Karina",
          "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
          "tradeName": "Mundo da Eletronica",
          "startDate": "2021-05-21T08:30:00Z",
          "shareholding": "0.51",
          "documentType": "CPF",
          "documentNumber": "73677831148",
          "documentAdditionalInfo": "CNH",
          "documentCountry": "CAN",
          "documentExpirationDate": "2021-05-21",
          "documentIssueDate": "2021-05-21"
        }
      ],
      "contacts": {
        "postalAddresses": [
          {
            "isMain": true,
            "address": "Av Naburo Ykesaki, 1270",
            "additionalInfo": "Fundos",
            "districtName": "Centro",
            "townName": "Marília",
            "ibgeTownCode": "3550308",
            "countrySubDivision": "SP",
            "postCode": "17500001",
            "country": "Brasil",
            "countryCode": "BRA",
            "geographicCoordinates": {
              "latitude": "-90.8365180",
              "longitude": "-180.836519"
            }
          }
        ],
        "phones": [
          {
            "isMain": true,
            "type": "FIXO",
            "additionalInfo": "Informações adicionais.",
            "countryCallingCode": "55",
            "areaCode": "19",
            "number": "29875132",
            "phoneExtension": "932"
          }
        ],
        "emails": [
          {
            "isMain": true,
            "email": "karinafernandes-81@br.inter.net"
          }
        ]
      }
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados sobre identificação pessoa jurídica ResponseBusinessCustomersIdentification
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Qualificação Pessoa Natural

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/customers/v1/personal/qualifications");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/customers/v1/personal/qualifications", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/customers/v1/personal/qualifications")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /customers/v1/personal/qualifications

Versão
1

Visão Geral

Obtém os registros de qualificação da pessoa natural

Esta especificação inclui todos os itens relevantes, que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira.

Tags: CBO (Cbo Code), CNPJ (CNPJ Number), Código Ocupação Receita Federal – Receita Federal Code, CPF - Cadastro de Pessoa Física (CPF Number), Instituição Financeira (Company), Marca (Brand) e Qualificação (Qualification).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "updateDateTime": "2021-05-21T08:30:00Z",
    "companyCnpj": "50685362000135",
    "occupationCode": "RECEITA_FEDERAL",
    "occupationDescription": "01",
    "informedIncome": {
      "frequency": "DIARIA",
      "amount": 100000.04,
      "currency": "BRL",
      "date": "2021-05-21"
    },
    "informedPatrimony": {
      "amount": 100000.04,
      "currency": "BRL",
      "year": 2010
    }
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados sobre qualificação da pessoa física ResponsePersonalCustomersQualification
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Qualificação Pessoa Jurídica

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/customers/v1/business/qualifications");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/customers/v1/business/qualifications", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/customers/v1/business/qualifications")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /customers/v1/business/qualifications

Versão
1

Visão Geral

Obtém os registros de qualificação da pessoa jurídica

Esta especificação inclui todos os itens relevantes, que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira.

Tags: CNAE (Cnae Code), CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (CPF Number), Instituição Financeira (Company), Marca (Brand) e Qualificação (Qualification).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "updateDateTime": "2021-05-21T08:30:00Z",
    "economicActivities": [
      {
        "code": 8599604,
        "isMain": true
      }
    ],
    "informedRevenue": {
      "frequency": "DIARIA",
      "frequencyAdditionalInfo": "Informações adicionais",
      "amount": 100000.04,
      "currency": "BRL",
      "year": 2010
    },
    "informedPatrimony": {
      "amount": 100000.04,
      "currency": "BRL",
      "date": "2021-05-21"
    }
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados sobre qualificação pessoa jurídica ResponseBusinessCustomersQualification
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Relacionamento Pessoa Natural

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/customers/v1/personal/financial-relations");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/customers/v1/personal/financial-relations", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/customers/v1/personal/financial-relations")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /customers/v1/personal/financial-relations

Versão
1

Visão Geral

Obtém os registros de relacionamentos com a instituição financeira e de representantes da pessoa natural.

Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente.

Tags: CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (CPF Number), Instituição Financeira (Company), Nome Civil Completo (Civil Name), Nome Social (Social Name), Procurador (Procurator), Relacionamento (Financial Relation) e Representante Legal (Legal Representative).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "updateDateTime": "2021-05-21T08:30:00Z",
    "startDate": "2021-05-21T08:30:00Z",
    "productsServicesType": [
      "SEGURO"
    ],
    "productsServicesTypeAdditionalInfo": "Informações adicionais do tipo de serviço.",
    "procurators": [
      {
        "type": "PROCURADOR",
        "cpfNumber": "73677831148",
        "civilName": "Elza Milena Stefany Teixeira",
        "socialName": "Carlos"
      }
    ],
    "accounts": [
      {
        "compeCode": "001",
        "branchCode": "6272",
        "number": "24550245",
        "checkDigit": "4",
        "type": "CONTA_DEPOSITO_A_VISTA",
        "subtype": "INDIVIDUAL"
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados sobre relacionamento da pessoa física ResponsePersonalCustomersFinancialRelation
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Relacionamento Pessoa Jurídica

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/customers/v1/business/financial-relations");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/customers/v1/business/financial-relations", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/customers/v1/business/financial-relations")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /customers/v1/business/financial-relations

Versão
1

Visão Geral

Obtém os registros de relacionamentos com a instituição financeira e de representantes da pessoa jurídica

Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente.

Tags: CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (CPF Number), Instituição Financeira (Company), Marca (Brand), Nome Civil Completo (Civil Name), Nome Social (Social Name), Procurador (Procurator), Relacionamento (Financial Relation) e Representante Legal (Legal Representative).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "updateDateTime": "2020-07-21T08:30:00Z",
    "startDate": "2020-07-21T08:30:00Z",
    "productsServicesType": [
      "SEGURO"
    ],
    "procurators": [
      {
        "type": "PROCURADOR",
        "cnpjCpfNumber": "73677831148",
        "civilName": "Elza Milena Stefany Teixeira",
        "socialName": "Stefany Teixeirass"
      }
    ],
    "accounts": [
      {
        "compeCode": "001",
        "branchCode": "6272",
        "number": "24550245",
        "checkDigit": "4",
        "type": "CONTA_DEPOSITO_A_VISTA"
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados sobre relacionamento pessoa jurídica ResponseBusinessCustomersFinancialRelation
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

API - Cartão de Crédito

Lista de cartões de crédito

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/credit-cards-accounts/v1/accounts");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/credit-cards-accounts/v1/accounts", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/credit-cards-accounts/v1/accounts")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /credit-cards-accounts/v1/accounts

Versão
1

Visão Geral

Método para obter a lista de contas de pagamento pós-paga mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento

Tags: Bandeira (Credit Card Network), Cartão Múltiplo (Multiple CreditCard), CNPJ (CNPJ Number) e Conta de pagamento pós-paga (Credit Card).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "creditCardAccountId": "XXZTR3459087",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "name": "Cartão Universitário",
      "productType": "OUTROS",
      "productAdditionalInfo": "string",
      "creditCardNetwork": "VISA",
      "networkAdditionalInfo": "NA"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Conjunto de informações das Contas de pagamento pós paga ResponseCreditCardAccountsList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Identificação de cartão de crédito

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/credit-cards-accounts/v1/accounts/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/credit-cards-accounts/v1/accounts/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/credit-cards-accounts/v1/accounts/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /credit-cards-accounts/v1/accounts/{creditCardAccountId}

Versão
1

Visão Geral

Obtém dados relativos ao conjunto de informações referentes à identificação da conta de pagamento pós-paga

Tags: Bandeira (Credit Card Network), Cartão Múltiplo (Multiple CreditCard), CNPJ (CNPJ Number) e Conta de pagamento pós-paga (Credit Card).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
creditCardAccountId path string true Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade detro da instituição transmissora

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "name": "Cartão Universitário",
    "productType": "OUTROS",
    "productAdditionalInfo": "OURO_INTERNACIONAL",
    "creditCardNetwork": "VISA",
    "networkAdditionalInfo": "NA",
    "paymentMethod": {
      "identificationNumber": "4453",
      "isMultipleCreditCard": true
    }
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de identificação da conta identificada por creditCardAccountId obtidos com sucesso. ResponseCreditCardAccountsIdentification
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Limites de cartão de crédito

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/credit-cards-accounts/v1/accounts/string/limits");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/credit-cards-accounts/v1/accounts/string/limits", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/credit-cards-accounts/v1/accounts/string/limits")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /credit-cards-accounts/v1/accounts/{creditCardAccountId}/limits

Versão
1

Visão Geral

Obtém dados dos limites: de Crédito Total e por Modalidade de Crédito relativos à conta de pagamento pós-paga.

Tags: CNPJ (CNPJ Number), Conta de pagamento pós-paga (Credit Card), Empréstimo Cartão Consignado (Payroll Loan) e Limite Flexível (Flexible Limit).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
creditCardAccountId path string true Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade detro da instituição transmissora

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "creditLineLimitType": "LIMITE_CREDITO_TOTAL",
      "consolidationType": "CONSOLIDADO",
      "identificationNumber": "4453",
      "lineName": "CREDITO_A_VISTA",
      "lineNameAdditionalInfo": "Informações adicionais e complementares.",
      "isLimitFlexible": true,
      "limitAmountCurrency": "BRL",
      "limitAmount": 100000.0001,
      "usedAmountCurrency": "BRL",
      "usedAmount": 7500.05,
      "availableAmountCurrency": "BRL",
      "availableAmount": 2499.95
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados dos limites da conta identificada por creditCardAccountId obtidos com sucesso. ResponseCreditCardAccountsLimits
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Transações de cartão de crédito

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/credit-cards-accounts/v1/accounts/string/transactions");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/credit-cards-accounts/v1/accounts/string/transactions", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/credit-cards-accounts/v1/accounts/string/transactions")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /credit-cards-accounts/v1/accounts/{creditCardAccountId}/transactions

Versão
1

Visão Geral

Obtém dados das transações relativas à conta de pagamento pós-paga.

Tags: CNPJ (CNPJ Number), Conta de pagamento pós-paga (Credit Card), Crédito Rotativo (Overdraft) e MCC (Merchant Category Code).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
creditCardAccountId path string true Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade detro da instituição transmissora
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
fromTransactionDate query string(date) false Data inicial de filtragem.
toTransactionDate query string(date) false Data final de filtragem.
transactionType query EnumCreditCardTransactionType false Traz os tipos de Transação
payeeMCC query number false MCC é o Merchant Category Code, ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades

Enumerated Values

Código
PAGAMENTO
TARIFA
OPERACOES_CREDITO_CONTRATADAS_CARTAO
ESTORNO
CASHBACK
OUTROS

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
      "identificationNumber": "4453",
      "lineName": "CREDITO_A_VISTA",
      "transactionName": "PGTO",
      "billId": "MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM",
      "creditDebitType": "DEBITO",
      "transactionType": "CASHBACK",
      "transactionalAdditionalInfo": "string",
      "paymentType": "A_VISTA",
      "feeType": "ANUIDADE",
      "feeTypeAdditionalInfo": "string",
      "otherCreditsType": "CREDITO_ROTATIVO",
      "otherCreditsAdditionalInfo": "string",
      "chargeIdentificator": "PARCELA_1",
      "chargeNumber": 3,
      "brazilianAmount": 100000.04,
      "amount": 100000.04,
      "currency": "BRL",
      "transactionDate": "2021-05-21",
      "billPostDate": "2021-05-21",
      "payeeMCC": 5137
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados das lista de transações da conta identificada por creditCardAccountId obtidos com sucesso. ResponseCreditCardAccountsTransactions
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Fatura de Cartão de Crédito

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/credit-cards-accounts/v1/accounts/string/bills");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/credit-cards-accounts/v1/accounts/string/bills", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/credit-cards-accounts/v1/accounts/string/bills")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /credit-cards-accounts/v1/accounts/{creditCardAccountId}/bills

Versão
1

Visão Geral

Obtém dados referentes à fatura da conta de pagamento pós-paga.

Tags: CNPJ (CNPJ Number), Conta de pagamento pós-paga (Credit Card), Crédito Rotativo (Overdraft) e Fatura (Bill).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
creditCardAccountId path string true Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade detro da instituição transmissora
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
fromDueDate query string(date) false Data inicial de filtragem.
toDueDate query string(date) false Data final de filtragem.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "billId": "3459087XXZTR",
      "dueDate": "2021-05-21",
      "billTotalAmount": 100000.04,
      "billTotalAmountCurrency": "BRL",
      "billMinimumAmount": 1000.04,
      "billMinimumAmountCurrency": "BRL",
      "isInstalment": false,
      "financeCharges": [
        {
          "type": "JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA",
          "additionalInfo": "Informações Adicionais",
          "amount": 100000.04,
          "currency": "BRL"
        }
      ],
      "payments": [
        {
          "valueType": "VALOR_PAGAMENTO_FATURA_PARCELADO",
          "paymentDate": "2021-05-21",
          "paymentMode": "DEBITO_CONTA_CORRENTE",
          "amount": 100000.04,
          "currency": "BRL"
        }
      ]
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados referentes à lista de faturas da conta identificada por creditCardAccountId obtidos com sucesso. ResponseCreditCardAccountsBills
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Transações de cartão de crédito por fatura

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/credit-cards-accounts/v1/accounts/string/bills//transactions");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/credit-cards-accounts/v1/accounts/string/bills//transactions", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/credit-cards-accounts/v1/accounts/string/bills//transactions")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /credit-cards-accounts/v1/accounts/{creditCardAccountId}/bills/{billId}/transactions

Versão
1

Visão Geral

Obtém a lista de transações da conta identificada por creditCardAccountId e billId.

Tags: CNPJ (CNPJ Number), Conta de pagamento pós-paga (Credit Card), Crédito Rotativo (Overdraft) e MCC (Merchant Category Code).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
creditCardAccountId path string true Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade detro da instituição transmissora
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
fromTransactionDate query string(date) false Data inicial de filtragem.
toTransactionDate query string(date) false Data final de filtragem.
transactionType query EnumCreditCardTransactionType false Traz os tipos de Transação
payeeMCC query number false MCC é o Merchant Category Code, ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades

Enumerated Values

Código
PAGAMENTO
TARIFA
OPERACOES_CREDITO_CONTRATADAS_CARTAO
ESTORNO
CASHBACK
OUTROS

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
      "identificationNumber": "4453",
      "lineName": "CREDITO_A_VISTA",
      "transactionName": "PGTO",
      "billId": "MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM",
      "creditDebitType": "DEBITO",
      "transactionType": "CASHBACK",
      "transactionalAdditionalInfo": "string",
      "paymentType": "A_VISTA",
      "feeType": "ANUIDADE",
      "feeTypeAdditionalInfo": "string",
      "otherCreditsType": "CREDITO_ROTATIVO",
      "otherCreditsAdditionalInfo": "string",
      "chargeIdentificator": "PARCELA_1",
      "chargeNumber": 3,
      "brazilianAmount": 100000.04,
      "amount": 100000.04,
      "currency": "BRL",
      "transactionDate": "2021-05-21",
      "billPostDate": "2021-05-21",
      "payeeMCC": 5137
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados das lista de transações da conta identificada por creditCardAccountId obtidos com sucesso. ResponseCreditCardAccountsTransactions
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

API - Contas

Lista de Contas

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/accounts/v1/accounts");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/accounts/v1/accounts", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/accounts/v1/accounts")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /accounts/v1/accounts

Versão
1

Visão Geral

Obtém a lista de contas consentidas pelo cliente.

Método para obter a lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.

Tags: Agência (Branch), CNPJ (CNPJ Number), Código Compe (compeCode), Conta Conjunta Não-solidária (Joint Account And), Conta Conjunta Solidária (Joint Account Or), Conta de Depósito à Vista (Current Account), Conta de Pagamento Pré-paga (Prepaid Payment Account), Conta de Poupança (Savings Account), Conta Individual (Sole Account), Instituição Financeira (Company) e Marca (Brand).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
accountType query EnumAccountType false Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum.

Enumerated Values

Código
CONTA_DEPOSITO_A_VISTA
CONTA_POUPANCA
CONTA_PAGAMENTO_PRE_PAGA

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "type": "CONTA_DEPOSITO_A_VISTA",
      "compeCode": "001",
      "branchCode": "6272",
      "number": "94088392",
      "checkDigit": "4",
      "accountID": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de identificação das contas obtidos com sucesso. ResponseAccountList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Identificação da Conta

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/accounts/v1/accounts/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/accounts/v1/accounts/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/accounts/v1/accounts/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /accounts/v1/accounts/{accountId}

Versão
1

Visão Geral

Obtém os dados de identificação da conta mantidos na instituição transmissora

Esta especificação inclui todos os artefatos relevantes para a Especificação de API sobre a Identificação de uma conta de: depósito à vista, poupança ou de pagamento pré-paga referente às informações transacionais de cliente.

Tags: Agência (Branch), CNPJ (CNPJ Number), Código Compe (compeCode), Conta Conjunta Não-solidária (Joint Account And), Conta Conjunta Solidária (Joint Account Or), Conta de Depósito à Vista (Current Account), Conta de Pagamento Pré-paga (Prepaid Payment Account), Conta de Poupança (Savings Account), Conta Individual (Sole Account), Instituição Financeira (Company) e Marca (Brand).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
accountId path string true Identificador da conta de depósito à vista, de poupança ou de pagamento pré-paga.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "compeCode": "001",
    "branchCode": "6272",
    "number": "24550245",
    "checkDigit": "4",
    "type": "CONTA_DEPOSITO_A_VISTA",
    "subtype": "INDIVIDUAL",
    "currency": "BRL"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de identificação da conta identificada por accountId obtidos com sucesso. ResponseAccountIdentification
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Saldos da conta

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/accounts/v1/accounts/string/balances?compeCode=str&branchCode=stri&number=string&checkDigit=s");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/accounts/v1/accounts/string/balances?compeCode=str&branchCode=stri&number=string&checkDigit=s", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/accounts/v1/accounts/string/balances?compeCode=str&branchCode=stri&number=string&checkDigit=s")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /accounts/v1/accounts/{accountId}/balances

Versão
1

Visão Geral

Obtém os saldos da conta mantidos na instituição transmissora

Esta especificação inclui todos os artefatos relevantes para a Especificação de API sobre os saldos de uma conta de: depósito à vista, poupança ou de pagamento pré-paga referente às informações transacionais de cliente.

Tags: Agência (Branch), Saldo (Account Balance), Saldo Bloqueado (Cash Blocked), Saldo Disponível (Cash Amount), CNPJ (CNPJ Number), Marca (Brand) e Instituição Financeira (Company).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
accountId path string true Identificador da conta de depósito à vista, de poupança ou de pagamento pré-paga.
compeCode query string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas). O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código
branchCode query string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
number query string true Número da conta
checkDigit query string true Dígito da conta

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "availableAmount": 100000.04,
    "availableAmountCurrency": "BRL",
    "blockedAmount": 99.9999,
    "blockedAmountCurrency": "BRL",
    "automaticallyInvestedAmount": 2566449494219,
    "automaticallyInvestedAmountCurrency": "BRL"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados relativos aos saldos da conta identificada por accountId obtidos com sucesso. ResponseAccountBalances
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Transações da conta

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/accounts/v1/accounts/string/transactions?compeCode=str&branchCode=stri&number=string&checkDigit=s");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/accounts/v1/accounts/string/transactions?compeCode=str&branchCode=stri&number=string&checkDigit=s", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/accounts/v1/accounts/string/transactions?compeCode=str&branchCode=stri&number=string&checkDigit=s")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /accounts/v1/accounts/{accountId}/transactions

Versão
1

Visão Geral

Obtém a lista de transações da conta mantidos na instituição transmissora

Esta especificação inclui todos os artefatos relevantes para a Especificação de API sobre as transações efetivadas e os pagamentos autorizados de uma conta de: depósito à vista, poupança ou de pagamento pré-paga referente às informações transacionais de cliente.

Tags: Crédito (Credit), Débito (Debit), Pagador (Payer), Pagamento autorizado (Authorised Payment), Recebedor (Payee), Transação Agendada (Scheduled Payment), Transações Realizadas (Completed Transaction), CNPJ (CNPJ Number), Marca (Brand), Instituição Financeira (Company) e Agência (Branch).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
accountId path string true Identificador da conta de depósito à vista, de poupança ou de pagamento pré-paga.
compeCode query string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas). O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código
branchCode query string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
number query string true Número da conta
checkDigit query string true Dígito da conta
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
fromBookingDate query string(date) false Data inicial de filtragem.
toBookingDate query string(date) false Data final de filtragem.
creditDebitIndicator query EnumCreditDebitIndicator false Indicador do tipo de lançamento

Enumerated Values

Código
CREDITO
DEBITO

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
      "completedAuthorisedPaymentType": "TRANSACAO_EFETIVADA",
      "creditDebitType": "DEBITO",
      "transactionName": "TRANSFCWAR5TXHCX5I9IDBHML8082N8NEO30M6LNNG7ANAYIJYRM00ZBZPU8",
      "type": "PIX",
      "amount": 500.54,
      "transactionCurrency": "BRL",
      "transactionDate": "2021-01-07",
      "partieCnpjCpf": "43908445778",
      "partiePersonType": "PESSOA_NATURAL",
      "partieCompeCode": "001",
      "partieBranchCode": "6272",
      "partieNumber": "67890854360",
      "partieCheckDigit": "4"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados da lista de transações da conta identificada por accountId obtidos com sucesso. ResponseAccountTransactions
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Limites da conta

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/accounts/v1/accounts/string/overdraft-limits?compeCode=str&branchCode=stri&number=string&checkDigit=s");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/accounts/v1/accounts/string/overdraft-limits?compeCode=str&branchCode=stri&number=string&checkDigit=s", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/accounts/v1/accounts/string/overdraft-limits?compeCode=str&branchCode=stri&number=string&checkDigit=s")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /accounts/v1/accounts/{accountId}/overdraft-limits

Versão
1

Visão Geral

Obtém os dados de limite de cheque especial e de adiantamento a depositante da conta mantidos na instituição transmissora

Esta especificação inclui todos os artefatos relevantes para a Especificação de API sobre os valores utilizado e disponível do limite do Cheque Especial e o valor em excesso (Adiantamento a depositante) de uma conta de depósito à vista, referente às informações transacionais de cliente.

Tags: Adiantamento a Depositante (Unarranged Account Overdraft), Cheque Especial (Arranged Overdraft), Saldo (Account Balance), CNPJ (CNPJ Number), Marca (Brand), Instituição Financeira (Company), Agência (Branch) e Conta de depósito à vista (Account).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
accountId path string true Identificador da conta de depósito à vista, de poupança ou de pagamento pré-paga.
compeCode query string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas). O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código
branchCode query string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
number query string true Número da conta
checkDigit query string true Dígito da conta

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "overdraftContractedLimit": 99.9999,
    "overdraftContractedLimitCurrency": "BRL",
    "overdraftUsedLimit": 10000.9999,
    "overdraftUsedLimitCurrency": "BRL",
    "unarrangedOverdraftAmount": 99.9999,
    "unarrangedOverdraftAmountCurrency": "BRL"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de limites da conta identificada por accountId obtidos com sucesso. ResponseAccountOverdraftLimits
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

API - Operações de Crédito - Empréstimos

Empréstimos

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/loans/v1/contracts");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/loans/v1/contracts", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/loans/v1/contracts")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /loans/v1/contracts

Versão
1

Visão Geral

Obtém a lista de contratos de empréstimos mantidos pelos clientes da instituição transmissora.

Tags: CNPJ (CNPJ Number), Custo Efetivo Total (CET), Empréstimo (Loan), Encargo (Charge), Ente Consignante (CnpjConsignee), Identificador padronizado da operação de crédito – Ipoc Code, Indexador (Indexer), Sistema de Amortização Constante (SAC), Sistema Francês de Amortização (Price), Tarifa (Fee), Taxa Efetiva (EffectiveTax) e Taxa nominal (NominalTax).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "contractId": "92792126019929279212650822221989319252576",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "productType": "EMPRESTIMOS",
      "productSubType": "CREDITO_PESSOAL_COM_CONSIGNACAO",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados dos contratos de empréstimos obtidos com sucesso. ResponseLoansContractList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Empréstimos - Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/loans/v1/contracts/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/loans/v1/contracts/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/loans/v1/contracts/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /loans/v1/contracts/{contractId}

Versão
1

Visão Geral

Obtém dados referentes à identificação da operação de crédito de Empréstimos

Tags: CNPJ (CNPJ Number), Custo Efetivo Total (CET), Empréstimo (Loan), Encargo (Charge), Ente Consignante (CnpjConsignee), Identificador padronizado da operação de crédito – Ipoc Code, Indexador (Indexer), Sistema de Amortização Constante (SAC), Sistema Francês de Amortização (Price), Tarifa (Fee), Taxa Efetiva (EffectiveTax) e Taxa nominal (NominalTax).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "Crédito Pessoal Consignado",
    "productType": "EMPRESTIMOS",
    "productSubType": "CREDITO_PESSOAL_COM_CONSIGNACAO",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "cnpjConsignee": "60500998000135",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "Informações adicionais",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": "Informações adicionais"
      }
    ],
    "contractedFees": [
      {
        "feeName": "Renovação de cadastro",
        "feeCode": "CADASTRO",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 50,
        "feeRate": 0.25
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do contrato de empréstimo identificado por contractId ResponseLoansContract
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Empréstimos - Garantias do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/loans/v1/contracts/string/warranties");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/loans/v1/contracts/string/warranties", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/loans/v1/contracts/string/warranties")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /loans/v1/contracts/{contractId}/warranties

Versão
1

Visão Geral

Obtém dados referentes às garantias que avalizam a operação de crédito de Empréstimos contratada

Tags: Empréstimo (Loan) e Garantia (Warranty).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 200.0001
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de garantias vinculadas ao contrato de empréstimo identificado por contractId ResponseLoansWarranties
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Empréstimos - Pagamentos do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/loans/v1/contracts/string/payments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/loans/v1/contracts/string/payments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/loans/v1/contracts/string/payments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /loans/v1/contracts/{contractId}/payments

Versão
1

Visão Geral

Obtém dados dos pagamentos referentes às operações de crédito de Empréstimos contratadas

Tags: Empréstimo (Loan), Encargo (Charge), Saldo Devedor (Outstanding Balance) e Tarifa (Fee).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
        "isOverParcelPayment": true,
        "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Reavaliação periódica do bem",
              "feeCode": "aval_bem",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "Informações adicionais",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de pagamentos do contrato de empréstimo identificado por contractId ResponseLoansPayments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Empréstimos - Parcelas do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/loans/v1/contracts/string/scheduled-instalments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/loans/v1/contracts/string/scheduled-instalments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/loans/v1/contracts/string/scheduled-instalments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /loans/v1/contracts/{contractId}/scheduled-instalments

Versão
1

Visão Geral

Obtém dados referentes às parcelas / prestações da operação de crédito de Empréstimos contratadas

Tags: Empréstimo (Loan) e Prestação Regular (Instalment).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2021-05-21",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do cronograma de parcelas do contrato de empréstimo identificado por contractId ResponseLoansInstalments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

API - Operações de Crédito - Financiamentos

Financiamentos

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/financings/v1/contracts");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/financings/v1/contracts", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/financings/v1/contracts")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /financings/v1/contracts

Versão
1

Visão Geral

Obtém dados referentes à operação de crédito de Financiamentos

Tags: CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (CPF Number) e Financiamento (Financing).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "contractId": "92792126019929279212650822221989319252576",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "productType": "FINANCIAMENTOS",
      "productSubType": "AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de contratos obtida com sucesso. ResponseFinancingsContractList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Financiamentos - Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/financings/v1/contracts/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/financings/v1/contracts/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/financings/v1/contracts/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /financings/v1/contracts/{contractId}

Versão
1

Visão Geral

Obtém dados referentes à identificação da operação de crédito de Financiamentos

Tags: CNPJ (CNPJ Number), CPF - Cadastro de Pessoa Física (CPF Number), Custo Efetivo Total (CET), Encargo (Charge), Ente Consignante (CnpjConsignee), Financiamento (Financing), Identificador Padronizado da Operação de Crédito – Ipoc Code, Indexador (Indexer), Sistema de Amortização Constante (SAC), Sistema de Amortização Misto (SAM), Sistema Francês de Amortização (Price), Tarifa (Fee), Taxa Efetiva (EffectiveTax) e Taxa nominal (NominalTax).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "Crédito Pessoal Consignado",
    "productType": "FINANCIAMENTOS",
    "productSubType": "AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "Informações adicionais",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": "Informações adicionais"
      }
    ],
    "contractedFees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 100000.04,
        "feeRate": 0.2
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do contrato de financiamento identificado por contractId ResponseFinancingsContract
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Financiamentos - Garantias do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/financings/v1/contracts/string/warranties");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/financings/v1/contracts/string/warranties", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/financings/v1/contracts/string/warranties")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /financings/v1/contracts/{contractId}/warranties

Versão
1

Visão Geral

Obtém dados referentes às garantias que avalizam a operação de crédito de Financiamentos contratada

Tags: Financiamento (Financing), Garantia (Warranty) e Sistema de Amortização Misto (SAM).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 200.0001
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de garantias vinculadas ao contrato de financiamento identificado por contractId ResponseFinancingsWarranties
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Financiamentos - Pagamentos do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/financings/v1/contracts/string/payments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/financings/v1/contracts/string/payments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/financings/v1/contracts/string/payments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /financings/v1/contracts/{contractId}/payments

Versão
1

Visão Geral

Obtém dados dos pagamentos referentes às operações de crédito de Financiamentos contratadas

Tags: Encargo (Charge), Financiamento (Financing), Identificador Padronizado da Operação de Crédito – Ipoc Code, Saldo Devedor (Outstanding Balance), Sistema de Amortização Constante (SAC), Sistema de Amortização Misto (SAM), Sistema Francês de Amortização (Price) e Tarifa (Fee).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
        "isOverParcelPayment": true,
        "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Reavaliação periódica do bem",
              "feeCode": "aval_bem",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "Informações adicionais",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de pagamentos do contrato de financiamento identificado por contractId ResponseFinancingsPayments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Financiamentos - Parcelas do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/financings/v1/contracts/string/scheduled-instalments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/financings/v1/contracts/string/scheduled-instalments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/financings/v1/contracts/string/scheduled-instalments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /financings/v1/contracts/{contractId}/scheduled-instalments

Versão
1

Visão Geral

Obtém dados referentes às parcelas / prestações da operação de crédito de Financiamentos contratadas

Tags: Financiamento (Financing) e Prestação Regular (Instalment).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2020-01-10",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do cronograma de parcelas do contrato de financiamento identificado por contractId ResponseFinancingsInstalments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

API - Operações de Crédito - Adiantamento a Depositantes

Adiantamento a Depositantes

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/unarranged-accounts-overdraft/v1/contracts");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/unarranged-accounts-overdraft/v1/contracts", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/unarranged-accounts-overdraft/v1/contracts")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /unarranged-accounts-overdraft/v1/contracts

Versão
1

Visão Geral

Obtém dados referentes à operação de crédito de Adiantamento a Depositantes

Tags: Adiantamento a Depositante (Unarranged Account Overdraft) e Identificador padronizado da operação de crédito – Ipoc Code.

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "contractId": "xcjklompowsa279212650822221989319aadrtjk",
      "brandName": "Organização A",
      "companyCnpj": "60500998000144",
      "productType": "ADIANTAMENTO_A_DEPOSITANTES",
      "productSubType": "ADIANTAMENTO_A_DEPOSITANTES",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de contratos obtida com sucesso. ResponseUnarrangedAccountOverdraftContractList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Adiantamento a Depositantes - Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/unarranged-accounts-overdraft/v1/contracts/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/unarranged-accounts-overdraft/v1/contracts/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/unarranged-accounts-overdraft/v1/contracts/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /unarranged-accounts-overdraft/v1/contracts/{contractId}

Versão
1

Visão Geral

Obtém dados referentes à identificação da operação de crédito de Adiantamento a Depositantes

Tags: Adiantamento a Depositante (Unarranged Account Overdraft), Custo Efetivo Total (CET), Encargo (Charge), Identificador padronizado da operação de crédito – Ipoc Code, Indexador (Indexer), Sistema de Amortização Constante (SAC), Sistema Francês de Amortização (Price), Tarifa (Fee), Taxa Efetiva (EffectiveTax) e Taxa nominal (NominalTax).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "AD",
    "productType": "ADIANTAMENTO_A_DEPOSITANTES",
    "productSubType": "ADIANTAMENTO_A_DEPOSITANTES",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "Informações adicionais",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": "Informações adicionais"
      }
    ],
    "contractedFees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 50,
        "feeRate": 50
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do contrato de adiantamento a depositantes identificado por contractId ResponseUnarrangedAccountOverdraftContract
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Adiantamento a Depositantes - Garantias do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/unarranged-accounts-overdraft/v1/contracts/string/warranties");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/unarranged-accounts-overdraft/v1/contracts/string/warranties", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/unarranged-accounts-overdraft/v1/contracts/string/warranties")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /unarranged-accounts-overdraft/v1/contracts/{contractId}/warranties

Versão
1

Visão Geral

Obtém dados referentes às garantias que avalizam a operação de crédito de Adiantamento a Depositantes contratada

Tags: Adiantamento a Depositante (Unarranged Account Overdraft) e Garantia (Warranty).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 100000.04
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de garantias vinculadas ao contrato de adiantamento a depositantes identificado por contractId ResponseUnarrangedAccountOverdraftWarranties
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Adiantamento a Depositantes - Pagamentos do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/unarranged-accounts-overdraft/v1/contracts/string/payments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/unarranged-accounts-overdraft/v1/contracts/string/payments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/unarranged-accounts-overdraft/v1/contracts/string/payments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /unarranged-accounts-overdraft/v1/contracts/{contractId}/payments

Versão
1

Visão Geral

Obtém dados dos pagamentos referentes às operações de crédito de Adiantamento a Depositantes contratadas

Tags: Adiantamento a Depositante (Unarranged Account Overdraft), Encargo (Charge), Saldo Devedor (Outstanding Balance) e Tarifa (Fee).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
        "isOverParcelPayment": true,
        "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Saque a descoberto",
              "feeCode": "Saque descoberto",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "Informações adicionais",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de pagamentos do contrato de adiantamento a depositantes identificado por contractId ResponseUnarrangedAccountOverdraftPayments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Adiantamento a Depositantes - Parcelas do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/unarranged-accounts-overdraft/v1/contracts/string/scheduled-instalments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/unarranged-accounts-overdraft/v1/contracts/string/scheduled-instalments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/unarranged-accounts-overdraft/v1/contracts/string/scheduled-instalments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /unarranged-accounts-overdraft/v1/contracts/{contractId}/scheduled-instalments

Versão
1

Visão Geral

Obtém dados referentes às parcelas / prestações da operação de crédito de Adiantamento a Depositantes contratadas

Tags: Adiantamento a Depositante (Unarranged Account Overdraft).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2020-01-10",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do cronograma de parcelas do contrato de adiantamento a depositantes identificado por contractId ResponseUnarrangedAccountOverdraftInstalments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

API - Operações de Crédito - Direitos Creditórios Descontados

Direitos Creditórios Descontados

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/invoice-financings/v1/contracts");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/invoice-financings/v1/contracts", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/invoice-financings/v1/contracts")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /invoice-financings/v1/contracts

Versão
1

Visão Geral

Conjunto de informações de contratos de direitos creditórios descontados mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento

Tags: Direito Creditório Descontado (Invoice Financing) eIdentificador padronizado da operação de crédito – Ipoc Code.

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "contractId": "92792126019929279212650822221989319252576",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "productType": "DIREITOS_CREDITORIOS_DESCONTADOS",
      "productSubType": "DESCONTO_CHEQUES",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de contratos obtida com sucesso. ResponseInvoiceFinancingsContractList
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Direitos Creditórios Descontados - Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/invoice-financings/v1/contracts/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/invoice-financings/v1/contracts/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/invoice-financings/v1/contracts/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /invoice-financings/v1/contracts/{contractId}

Versão
1

Visão Geral

Obtém dados referentes à identificação da operação de crédito de Direitos Creditórios Descontados

Tags: Custo Efetivo Total (CET), Direito Creditório Descontado (Invoice Financing), Encargo (Charge), Ente Consignante (CnpjConsignee), Identificador padronizado da operação de crédito – Ipoc Code, Indexador (Indexer), Tarifa (Fee), Taxa Efetiva (EffectiveTax) e Taxa nominal (NominalTax).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "AD",
    "productType": "DIREITOS_CREDITORIOS_DESCONTADOS",
    "productSubType": "DESCONTO_CHEQUES",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": ""
      }
    ],
    "contractedFees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 50,
        "feeRate": 50
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "string",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do contrato de antecipação de recebíveis identificado por contractId ResponseInvoiceFinancingsContract
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Direitos Creditórios Descontados - Garantias do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/invoice-financings/v1/contracts/string/warranties");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/invoice-financings/v1/contracts/string/warranties", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/invoice-financings/v1/contracts/string/warranties")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /invoice-financings/v1/contracts/{contractId}/warranties

Versão
1

Visão Geral

Obtém dados referentes às garantias que avalizam a operação de crédito de Direitos Creditórios Descontados contratada

Tags: Direito Creditório Descontado (Invoice Financing) e Garantia (Warranty).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 100000.04
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Lista de garantias vinculadas ao contrato de antecipação de recebíveis identificado por contractId ResponseInvoiceFinancingsWarranties
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Direitos Creditórios Descontados - Pagamentos do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/invoice-financings/v1/contracts/string/payments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/invoice-financings/v1/contracts/string/payments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/invoice-financings/v1/contracts/string/payments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /invoice-financings/v1/contracts/{contractId}/payments

Versão
1

Visão Geral

Obtém dados dos pagamentos referentes às operações de crédito de Direitos Creditórios Descontados contratadas

Tags: Direito Creditório Descontado (Invoice Financing), Encargo (Charge), Saldo Devedor (Outstanding Balance) e Tarifa (Fee).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "Parcela regular",
        "isOverParcelPayment": true,
        "instalmentId": "15",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Excesso em Conta",
              "feeCode": "EXCESSO_CONTA",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "string",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de pagamentos do contrato de antecipação de recebíveis identificado por contractId ResponseInvoiceFinancingsPayments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Direitos Creditórios Descontados - Parcelas do Contrato

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/invoice-financings/v1/contracts/string/scheduled-instalments");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string"
    }

conn.request("GET", "/invoice-financings/v1/contracts/string/scheduled-instalments", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/invoice-financings/v1/contracts/string/scheduled-instalments")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .asString();

GET /invoice-financings/v1/contracts/{contractId}/scheduled-instalments

Versão
1

Visão Geral

Obtém dados referentes às parcelas / prestações da operação de crédito de Direitos Creditórios Descontados contratadas

Tags: Direito Creditório Descontado (Invoice Financing).

Visão de alto de nível das estruturas de dados

DER - Diagramas de Entidade e Relacionamento

Fazer download do DER Conceitual

Fazer download do DER Lógico

Dicionário de dados

Fazer download do dicionário de dados

Fazer download dos exemplos

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

Parâmetros

Nome Origem Tipo Obrigatório Descrição
contractId path string true Identificador do contrato para todos os tipos de operação de crédito.
page query integer(int32) false Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size query integer(int32) false Quantidade total de registros por páginas.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2021-05-21",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do cronograma de parcelas do contrato de antecipação de recebíveis identificado por contractId ResponseInvoiceFinancingsInstalments
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Schemas

CreateConsent

{
  "data": {
    "loggedUser": {
      "document": {
        "identification": "11111111111",
        "rel": "CPF"
      }
    },
    "businessEntity": {
      "document": {
        "identification": "11111111111111",
        "rel": "CNPJ"
      }
    },
    "permissions": [
      "ACCOUNTS_READ",
      "ACCOUNTS_OVERDRAFT_LIMITS_READ",
      "RESOURCES_READ"
    ],
    "expirationDateTime": "2021-05-21T08:30:00Z",
    "transactionFromDateTime": "2021-01-01T00:00:00Z",
    "transactionToDateTime": "2021-02-01T23:59:59Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data object true
» loggedUser LoggedUser true Usuário (pessoa natural) que encontra-se logado na instituição receptora e que iniciará o processo de consentimento para compartilhamento de dados.
» businessEntity BusinessEntity false Titular, pessoa jurídica a quem se referem os dados que são objeto de compartilhamento.
» permissions [string] true
» expirationDateTime string(date-time) false Data e hora de expiração da permissão. Se não for preenchido, a permissão terá a data aberta. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» transactionFromDateTime string(date-time) false Data e hora da transação inicial. Se não for preenchido, a transação terá a data aberta e a data será retornada com a primeira transação disponível. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» transactionToDateTime string(date-time) false Data e hora final da transação. Se não for preenchido, a transação terá a data aberta e a data será retornada com a ultima transação disponível. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).

ResponseConsent

{
  "data": {
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2021-05-21T08:30:00Z",
    "status": "AWAITING_AUTHORISATION",
    "statusUpdateDateTime": "2021-05-21T08:30:00Z",
    "permissions": [
      "ACCOUNTS_READ",
      "ACCOUNTS_OVERDRAFT_LIMITS_READ",
      "RESOURCES_READ"
    ],
    "expirationDateTime": "2021-05-21T08:30:00Z",
    "transactionFromDateTime": "2021-01-01T00:00:00Z",
    "transactionToDateTime": "2021-02-01T23:59:59Z"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data object true
» consentId string true Identificador único do consentimento.
» creationDateTime string(date-time) true Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» status string true Estado atual do consentimento cadastrado.
» statusUpdateDateTime string(date-time) true Data e hora em que o recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» permissions [string] true
» expirationDateTime string(date-time) false Data e hora de expiração da permissão. Se não for preenchido, a permissão terá a data aberta. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» transactionFromDateTime string(date-time) false Data e hora da transação inicial. Se não for preenchido, a transação terá a data aberta e a data será retornada com a primeira transação disponível. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» transactionToDateTime string(date-time) false Data e hora final da transação. Se não for preenchido, a transação terá a data aberta e a data será retornada com a ultima transação disponível. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
links Links false Referências para outros recusos da API requisitada.
meta Meta false Meta informações referente a API requisitada.

Enumerated Values

Nome Código
status AUTHORISED
status AWAITING_AUTHORISATION
status REJECTED

LoggedUser

{
  "document": {
    "identification": "11111111111",
    "rel": "CPF"
  }
}

Usuário (pessoa natural) que encontra-se logado na instituição receptora e que iniciará o processo de consentimento para compartilhamento de dados.

Propriedades

Nome Tipo Obrigatório Descrição
document object true
» identification string true Número do documento de identificação oficial do usuário.
» rel string true Tipo do documento de identificação oficial do usuário.

BusinessEntity

{
  "document": {
    "identification": "11111111111111",
    "rel": "CNPJ"
  }
}

Titular, pessoa jurídica a quem se referem os dados que são objeto de compartilhamento.

Propriedades

Nome Tipo Obrigatório Descrição
document object true
» identification string true Número do documento de identificação oficial do titular pessoa jurídica.
» rel string true Tipo do documento de identificação oficial do titular pessoa jurídica.

ResponseResourceList

{
  "data": [
    {
      "resourceId": "25cac914-d8ae-6789-b215-650a6215820d",
      "type": "ACCOUNT",
      "status": "AVAILABLE"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [object] true Lista de recursos e seus respectivos status.
» resourceId string false Identifica o recurso reportado pelo participante do Open Banking, no caso de:
Contas de depósito à vista, de poupança ou de pagamento pré-paga : corresponde ao accountId;
Conta de pagamento pós-paga: corresponde ao creditCardAccountId;
Empréstimos, Financiamentos, Direitos creditórios descontados e Adiantamento a depositantes: corresponde ao contractId.
» type string true Tipo de recurso (vide Enum):
Account - Conta de depósito à vista, poupança ou pagamento pré-paga
Credit Card Account - Conta de pagamento pós-paga (Cartão de Crédito)
Loan - Empréstimo
Financing - Financiamento
Unarranged Account Overdraft - Cheque Especial
Invoice Financing - Financiamento de Fatura
» status string true Tipo de status de recurso (vide Enum):
Available - Disponível
Unavailable - Indisponível
Temporarily Unavailable - Temporariamente Indisponível
Pending Authorisation - Pendente de Autorização
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

Enumerated Values

Nome Código
type ACCOUNT
type CREDIT_CARD_ACCOUNT
type LOAN
type FINANCING
type UNARRANGED_ACCOUNT_OVERDRAFT
type INVOICE_FINANCING
status AVAILABLE
status UNAVAILABLE
status TEMPORARILY_UNAVAILABLE
status PENDING_AUTHORISATION

AccountBalancesData

{
  "availableAmount": 100000.04,
  "availableAmountCurrency": "BRL",
  "blockedAmount": 99.9999,
  "blockedAmountCurrency": "BRL",
  "automaticallyInvestedAmount": 2566449494219,
  "automaticallyInvestedAmountCurrency": "BRL"
}

Conjunto de informações das Contas de: depósito à vista, poupança e de pagamento pré-paga

Propriedades

Nome Tipo Obrigatório Descrição
availableAmount number(double)¦null true Saldo disponível para utilização imediata. No caso de conta de depósito a vista, sem considerar cheque especial e investimentos atrelados a conta. Admite saldo negativo. Expresso em valor monetário com 4 casas decimais.
availableAmountCurrency string true Moeda referente ao valor do saldo disponível, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação.
blockedAmount number(double)¦null true Saldo bloqueado, não disponível para utilização imediata, por motivo de bloqueio apresentado para o cliente nos canais eletrônicos Expresso em valor monetário com 4 casas decimais.
blockedAmountCurrency string true Moeda referente ao valor do saldo bloqueado, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação.
automaticallyInvestedAmount number(double)¦null true Saldo disponível com aplicação automática - corresponde a soma do saldo disponível acrescido do valor obtido a partir da aplicação automática Expresso em valor monetário com 4 casas decimais.
automaticallyInvestedAmountCurrency string true Moeda referente ao valor do saldo disponível com aplicação automática, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação.

AccountData

{
  "brandName": "Organização A",
  "companyCnpj": "21128159000166",
  "type": "CONTA_DEPOSITO_A_VISTA",
  "compeCode": "001",
  "branchCode": "6272",
  "number": "94088392",
  "checkDigit": "4",
  "accountID": "92792126019929279212650822221989319252576"
}

Propriedades

Nome Tipo Obrigatório Descrição
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes.
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara
type EnumAccountType true Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum
Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante
Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado
Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'
compeCode string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas).O Compe (Sistema de Compensação de Cheques e Outros Papéis) é um sistema que identifica e processa as compensações bancárias. Ele é representado por um código de três dígitos que serve como identificador de bancos, sendo assim, cada instituição bancária possui um número exclusivo
branchCode string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
number string true Número da conta
checkDigit string true Dígito da conta
accountID string true Identifica de forma única a conta do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.

AccountIdentificationData

{
  "compeCode": "001",
  "branchCode": "6272",
  "number": "24550245",
  "checkDigit": "4",
  "type": "CONTA_DEPOSITO_A_VISTA",
  "subtype": "INDIVIDUAL",
  "currency": "BRL"
}

Conjunto dos atributos que caracterizam as Contas de: depósito à vista, poupança e de pagamento pré-paga

Propriedades

Nome Tipo Obrigatório Descrição
compeCode string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas). O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código
branchCode string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
number string true Número da conta
checkDigit string true Dígito da conta
type EnumAccountType true Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum
Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante
Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado
Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'
subtype EnumAccountSubType true Subtipo de conta (vide Enum):
Conta individual - possui um único titular
Conta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta.
Conta conjunta solidária - é a modalidade cujos titulares podem realizar movimentações de forma isolada, isto é, sem que seja necessária a autorização dos demais titulares
currency string true Moeda referente ao valor da transação, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os saldos informados estão representados com a moeda vigente do Brasil

AccountsLimits

{
  "creditLineLimitType": "LIMITE_CREDITO_MODALIDADE_OPERACAO",
  "consolidationType": "INDIVIDUAL",
  "lineName": "SAQUE_CREDITO_BRASIL",
  "limitType": "COM_LIMITE",
  "limitAmount": 1000,
  "avaiableAmount": 600,
  "usedAmount": 400
}

Conjunto de informações referentes aos limites da conta de pagamento pós-paga.

Propriedades

Nome Tipo Obrigatório Descrição
creditLineLimitType EnumCreditCardAccountsLineLimitType true Indicador do tipo de limite
consolidationType EnumCreditCardAccountsConsolidationType true Indicador que permite informar se o valor do limite é consolidado ou individual.
lineName EnumCreditCardAccountsLineName false
lineNameAdditionalInfo string false Campo de preenchimento obrigatório se selecionada a opção 'OUTRAS' em lineName
limitType EnumCreditCardAccountsLimitType true Indicador que permite informar se a operação de crédito é com limite ou com limite flexível
limitAmount number¦null true Valor total do limite informado Expresso em valor monetário com 4 casas decimais
avaiableAmount number¦null true Valor disponível do limite informado. Expresso em valor monetário com 4 casas decimais
usedAmount number¦null true Valor utilizado do limite informado Expresso em valor monetário com 4 casas decimais

AccountOverdraftLimitsData

{
  "overdraftContractedLimit": 99.9999,
  "overdraftContractedLimitCurrency": "BRL",
  "overdraftUsedLimit": 10000.9999,
  "overdraftUsedLimitCurrency": "BRL",
  "unarrangedOverdraftAmount": 99.9999,
  "unarrangedOverdraftAmountCurrency": "BRL"
}

Conjunto de informações da Conta de: depósito à vista

Propriedades

Nome Tipo Obrigatório Descrição
overdraftContractedLimit number(double)¦null true Valor do limite contratado do cheque especial.
overdraftContractedLimitCurrency string true Moeda referente ao valor do limite contratado do cheque especial, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação.
overdraftUsedLimit number(double)¦null true Valor utilizado total do limite do cheque especial e o adiantamento a depositante.
overdraftUsedLimitCurrency string true Moeda referente ao valor utilizado total do limite do cheque especial e o adiantamento a depositante, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação.
unarrangedOverdraftAmount number(double)¦null true Valor de operação contratada em caráter emergencial para cobertura de saldo devedor em conta de depósitos à vista e de excesso sobre o limite pactuado de cheque especial.
unarrangedOverdraftAmountCurrency string true Moeda referente ao valor de operação contratada em caráter emergencial para cobertura de saldo devedor em conta de depósitos à vista e de excesso sobre o limite pactuado de cheque especial, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação.

AccountTransactionsData

{
  "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
  "completedAuthorisedPaymentType": "TRANSACAO_EFETIVADA",
  "creditDebitType": "DEBITO",
  "transactionName": "TRANSFCWAR5TXHCX5I9IDBHML8082N8NEO30M6LNNG7ANAYIJYRM00ZBZPU8",
  "type": "PIX",
  "amount": 500.54,
  "transactionCurrency": "BRL",
  "transactionDate": "2021-01-07",
  "partieCnpjCpf": "43908445778",
  "partiePersonType": "PESSOA_NATURAL",
  "partieCompeCode": "001",
  "partieBranchCode": "6272",
  "partieNumber": "67890854360",
  "partieCheckDigit": "4"
}

Propriedades

Nome Tipo Obrigatório Descrição
transactionId string false Código ou identificador único prestado pela instituição que mantém a conta para representar a transação individual.
completedAuthorisedPaymentType EnumCompletedAuthorisedPaymentIndicator true Indicador da transação:
- Transação efetivada
- Lançamento futuro
creditDebitType EnumCreditDebitIndicator true Indicador do tipo de lançamento:
Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente.
Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente.
transactionName string true Campo livre que corresponde ao identificador da transação na instituição financeira
type EnumTransactionTypes true Tipo de Transação
amount number(double) true Valor da transação. Expressa em valor monetário com 4 casas decimais.
transactionCurrency string true Moeda referente ao valor da transação, segundo modelo ISO-4217. p.ex. 'BRL'.
transactionDate string true Se indicador de transação:
TRANSACAO_EFETIVADA - corresponde a data de lançamento da transação
LANCAMENTO_FUTURO - corresponde a data prevista de efetivação da transação
partieCnpjCpf string true Identificação da pessoa envolvida na transação: pagador ou recebedor (Preencher com o CPF ou CNPJ, sem formatação)
partiePersonType string true Identificação do Tipo de Pessoa da pessoa envolvida na transação.
Pessoa Natural - Informar CPF no campo “payerCnpjCpf”
Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”
partieCompeCode string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas) referente à pessoa envolvida na transação. O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código
partieBranchCode string true Código da Agência detentora da conta da pessoa envolvida na transação. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
partieNumber string true Número da conta da pessoa envolvida na transação
partieCheckDigit string true Dígito da conta da pessoa envolvida na transação

Enumerated Values

Nome Código
partiePersonType PESSOA_NATURAL
partiePersonType PESSOA_JURIDICA

BusinessFinancialRelationData

{
  "updateDateTime": "2020-07-21T08:30:00Z",
  "startDate": "2020-07-21T08:30:00Z",
  "productsServicesType": [
    "SEGURO"
  ],
  "procurators": [
    {
      "type": "PROCURADOR",
      "cnpjCpfNumber": "73677831148",
      "civilName": "Elza Milena Stefany Teixeira",
      "socialName": "Stefany Teixeirass"
    }
  ],
  "accounts": [
    {
      "compeCode": "001",
      "branchCode": "6272",
      "number": "24550245",
      "checkDigit": "4",
      "type": "CONTA_DEPOSITO_A_VISTA"
    }
  ]
}

Objeto que reúne as informações relativas ao relacionamento do cliente junto à Instituição. Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente e seus representantes

Propriedades

Nome Tipo Obrigatório Descrição
updateDateTime string(date-time) true Data e hora da atualização do bloco de Relacionamento, conforme especificação RFC-3339, formato UTC.
startDate string(date-time) true Data de início de relacionamento com a Instituição Financeira. Deve trazer o menor valor entre a informação reportada ao BACEN pelo DOC 3040 e CCS.
productsServicesType [EnumProductServiceType] true [Lista com a relação dos produtos e serviços com contrato vigente.]
procurators [BusinessProcurator] true Lista dos representantes. De preenchimento obrigatório se houver representante.
accounts [object] true Lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.
» compeCode string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas).O Compe (Sistema de Compensação de Cheques e Outros Papéis) é um sistema que identifica e processa as compensações bancárias. Ele é representado por um código de três dígitos que serve como identificador de bancos, sendo assim, cada instituição bancária possui um número exclusivo
» branchCode string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
» number string true Número da conta
» checkDigit string true Dígito da conta
» type #/paths/~1customers~1v1~1personal~1financial-relations/get/responses/200/content/application~1json/schema/properties/data/properties/accounts/items/properties/type true Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum
Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante
Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado
Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'.
SEM_TIPO_CONTA - para reporte nos dados de identificação quando o cliente não possuir conta na instituição transmissora.

BusinessIdentificationData

{
  "updateDateTime": "2021-05-21T08:30:00Z",
  "businessId": "578-psd-71md6971kjh-2d414",
  "brandName": "Organização A",
  "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
  "tradeName": "Mundo da Eletronica",
  "incorporationDate": "2021-05-21T08:30:00Z",
  "cnpjNumber": "50685362006773",
  "companyCnpjNumber": [
    "50685362000135",
    "50685362006555"
  ],
  "otherDocuments": [
    {
      "type": "EIN",
      "number": "128328453",
      "country": "CAN",
      "expirationDate": "2021-05-21"
    }
  ],
  "parties": [
    {
      "personType": "PESSOA_NATURAL",
      "type": "SOCIO",
      "civilName": "Juan Kaique Cláudio Fernandes",
      "socialName": "Karina",
      "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
      "tradeName": "Mundo da Eletronica",
      "startDate": "2021-05-21T08:30:00Z",
      "shareholding": "0.51",
      "documentType": "CPF",
      "documentNumber": "73677831148",
      "documentAdditionalInfo": "CNH",
      "documentCountry": "CAN",
      "documentExpirationDate": "2021-05-21",
      "documentIssueDate": "2021-05-21"
    }
  ],
  "contacts": {
    "postalAddresses": [
      {
        "isMain": true,
        "address": "Av Naburo Ykesaki, 1270",
        "additionalInfo": "Fundos",
        "districtName": "Centro",
        "townName": "Marília",
        "ibgeTownCode": "3550308",
        "countrySubDivision": "SP",
        "postCode": "17500001",
        "country": "Brasil",
        "countryCode": "BRA",
        "geographicCoordinates": {
          "latitude": "-90.8365180",
          "longitude": "-180.836519"
        }
      }
    ],
    "phones": [
      {
        "isMain": true,
        "type": "FIXO",
        "additionalInfo": "Informações adicionais.",
        "countryCallingCode": "55",
        "areaCode": "19",
        "number": "29875132",
        "phoneExtension": "932"
      }
    ],
    "emails": [
      {
        "isMain": true,
        "email": "karinafernandes-81@br.inter.net"
      }
    ]
  }
}

Conjunto de informações relativas a Identificação ou seja a ação e o efeito de identificar de forma única a pessoa jurídica através de seus dados cadastrais

Propriedades

Nome Tipo Obrigatório Descrição
updateDateTime string(date-time) true Data e hora da atualização do bloco, conforme especificação RFC-3339
businessId string true Um identificador único e imutável usado para identificar o recurso cliente pessoa jurídica. Este identificador não tem significado para o cliente que deu o consentimento
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
companyName string true Razão social da empresa consultada é o termo registrado sob o qual uma pessoa jurídica (PJ) se individualiza e exerce suas atividades. Também pode ser chamada por denominação social ou firma empresarial
tradeName string true Nome fantasia da pessoa jurídica, se houver. (É o nome popular da empresa, utilizado para divulgação da empresa e melhor fixação com o público). De preenchimento obrigatório se houver
incorporationDate string(date-time) true Data de constituição da empresa, conforme especificação RFC-3339.
cnpjNumber string true Número completo do CNPJ da Empresa consultada - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara
companyCnpjNumber [string] true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica.
Deve-se ter apenas os números do CNPJ, sem máscara
otherDocuments [BusinessOtherDocument] false Relação dos demais documentos
parties [PartiesParticipation] true Lista relativa às informações das partes envolvidas, como: sócio e /ou administrador
contacts BusinessContacts true Conjunto de informações referentes às formas para contatar o cliente.

BusinessOtherDocument

{
  "type": "EIN",
  "number": "128328453",
  "country": "CAN",
  "expirationDate": "2021-05-21"
}

Propriedades

Nome Tipo Obrigatório Descrição
type string false Número do Tipo de documento informado. De preenchimento obrigatório, para a Pessoa jurídica com domicílio ou sede no exterior, desobrigada de inscrição no CNPJ
number string true Número do outro documento. De preenchimento obrigatório, para a Pessoa jurídica com domicílio ou sede no exterior, desobrigada de inscrição no CNPJ
country string true Pais de emissão do tipo de documento informado. Código do pais de acordo com o código “alpha3” do ISO-3166
expirationDate string(date) true Data vigência do tipo de documento informado, conforme especificação RFC-3339.

BusinessProcurator

{
  "type": "PROCURADOR",
  "cnpjCpfNumber": "73677831148",
  "civilName": "Elza Milena Stefany Teixeira",
  "socialName": "Stefany Teixeirass"
}

Propriedades

Nome Tipo Obrigatório Descrição
type EnumProcuratorsTypeBusiness true Tipo de representante.
Representante legal - Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social.
Procurador - é qualquer pessoa que represente a Pessoa Natural em algum negócio, mediante autorização escrita do mesmo.
cnpjCpfNumber string true Identificação do Representante Legal ou Procurador. Número do cadastro nas Receita Federal (Preencher com CPF ou CNPJ sem formatação)
civilName string true Nome civil completo ou Razão Social
socialName string true Nome social da pessoa natural, se houver. Aquele pelo qual travestis e transexuais se reconhecem,
bem como são identificados por sua comunidade e em seu meio social, conforme Decreto Local.
[Restrição] Preenchimento obrigatório quando o sócio for uma pessoa natural.

BusinessQualificationData

{
  "updateDateTime": "2021-05-21T08:30:00Z",
  "economicActivities": [
    {
      "code": 8599604,
      "isMain": true
    }
  ],
  "informedRevenue": {
    "frequency": "DIARIA",
    "frequencyAdditionalInfo": "Informações adicionais",
    "amount": 100000.04,
    "currency": "BRL",
    "year": 2010
  },
  "informedPatrimony": {
    "amount": 100000.04,
    "currency": "BRL",
    "date": "2021-05-21"
  }
}

Objeto que reúne as informações relativas ao processo de qualificação. Considera-se qualificação as informações que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira

Propriedades

Nome Tipo Obrigatório Descrição
updateDateTime string(date-time) true Data e hora da atualização do bloco, conforme especificação RFC-3339
economicActivities [EconomicActivity] true Lista dos demais códigos relativos às demais atividades econômicas da empresa, segundo padrão CNAE (Classificação Nacional de Atividades Econômicas). De preenchimento obrigatório, se houver
informedRevenue object true
» frequency EnumInformedRevenueFrequency true Traz a frequência ou período do faturamento informado.
"O faturamento é calculado a partir de todos os benefícios que a empresa conseguiu com sua atividade econômica em um determinado período. Esses benefícios são os rendimentos ou ganhos da organização através de suas vendas ou serviços prestados".
» frequencyAdditionalInfo string false Texto livre para complementar informação relativa ao patrimonio.
[Restrição] Preencher quando frequency for igual OUTROS.
» amount number(double)¦null true Valor do patrimônio informado. Expresso em valor monetário com 4 casas decimais.
Patrimônio é o conjunto de bens vinculado a uma pessoa ou a uma entidade.
» currency string true Moeda referente ao valor do patrimônio, segundo modelo ISO-4217.
» year number¦null false Ano de referência do Patrimônio, conforme especificação RFC-3339.
informedPatrimony object true
» amount number(double)¦null true Valor do patrimônio informado. Expresso em valor monetário com 4 casas decimais.
Patrimônio é o conjunto de bens vinculado a uma pessoa ou a uma entidade.
» currency string true Moeda referente ao valor do patrimônio, segundo modelo ISO-4217.
» date string(date) true Data de referência do Patrimônio, conforme especificação RFC-3339.

CreditCardAccountBalances

{
  "type": "VALOR_TRANSACAO_BRASIL",
  "amount": 100.87,
  "transactionDate": "2020-12-30",
  "postBillDate": "2020-12-30",
  "payeeMCC": 8299,
  "payeeAdditionalInfo": "MIYQZ86345"
}

Propriedades

Nome Tipo Obrigatório Descrição
type EnumCreditCardAccountBalance true Traz os tipos dos valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga
amount number true Valor da transação. Expresso em valor monetário com 2 casas decimais
transactionDate string true Data lançamento da transação
postBillDate string true Data de postagem na fatura
payeeMCC number¦null true MCC é o Merchant Category Code, ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades
payeeAdditionalInfo string true Identificação do Recebedor da transação

CreditCardAccountsBillsData

{
  "billId": "3459087XXZTR",
  "dueDate": "2021-05-21",
  "billTotalAmount": 100000.04,
  "billTotalAmountCurrency": "BRL",
  "billMinimumAmount": 1000.04,
  "billMinimumAmountCurrency": "BRL",
  "isInstalment": false,
  "financeCharges": [
    {
      "type": "JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA",
      "additionalInfo": "Informações Adicionais",
      "amount": 100000.04,
      "currency": "BRL"
    }
  ],
  "payments": [
    {
      "valueType": "VALOR_PAGAMENTO_FATURA_PARCELADO",
      "paymentDate": "2021-05-21",
      "paymentMode": "DEBITO_CONTA_CORRENTE",
      "amount": 100000.04,
      "currency": "BRL"
    }
  ]
}

Conjunto das informações referentes a lista de faturas associadas à conta de pagamento pós-paga

Propriedades

Nome Tipo Obrigatório Descrição
billId string true Informação que identifica a fatura
dueDate string(date) true Data de vencimento da Fatura, que aparece para pagamento pelo cliente
billTotalAmount number(double) true Valor total da fatura
billTotalAmountCurrency string true Moeda referente ao valor de pagamento total da fatura, segundo modelo ISO-4217. p.ex. 'BRL' Todos os valores informados estão representados com a moeda vigente do Brasil
billMinimumAmount number(double) true Valor do pagamento minimo da fatura
billMinimumAmountCurrency string true Moeda referente ao valor de pagamento minimo da fatura, segundo modelo ISO-4217. p.ex. 'BRL' Todos os valores informados estão representados com a moeda vigente do Brasil
isInstalment boolean true Indica se a fatura permite parcelamento (true) ou não (false).
financeCharges [CreditCardAccountsBillsFinanceCharge] true Lista dos encargos cobrados na fatura
payments [CreditCardAccountsBillsPayment] true Lista que traz os valores relativos aos pagamentos da Fatura da conta de pagamento pós-paga

CreditCardAccountsBillsFinanceCharge

{
  "type": "JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA",
  "additionalInfo": "Informações Adicionais",
  "amount": 100000.04,
  "currency": "BRL"
}

Propriedades

Nome Tipo Obrigatório Descrição
type EnumCreditCardAccountsFinanceChargeType true Traz a denominação dos Encargos que
incidem na fatura da conta de pagamento pós-paga. (Vide Enum)
- Juros remuneratórios por atraso no pagamento da fatura
- Multa por atraso no pagamento da fatura
- Juros de mora por atraso no pagamento da fatura
- IOF
- Sem Encargo
- Outros
additionalInfo string false Campo livre, de preenchimento obrigatório se selecionado tipo de encargo 'OUTROS'
amount number(double)¦null true Valor cobrado pelo encargo. Expresso em valor monetário com 4 casas decimais
currency string true Moeda referente ao valor cobrado pelo encargo, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os saldos informados estão representados com a moeda vigente do Brasil.

CreditCardAccountsBillsPayment

{
  "valueType": "VALOR_PAGAMENTO_FATURA_PARCELADO",
  "paymentDate": "2021-05-21",
  "paymentMode": "DEBITO_CONTA_CORRENTE",
  "amount": 100000.04,
  "currency": "BRL"
}

Propriedades

Nome Tipo Obrigatório Descrição
valueType EnumCreditCardAccountsBillingValueType true Traz os tipos dos valores relativos aos pagamentos da fatura da conta de pagamento pós-paga: (Vide Enum)
- Valor de pagamento da fatura com parcelamento
- Valor pagamento da fatura realizado
- Outro Valor pago na fatura
paymentDate string(date) true Data efetiva de quando o Pagamento da fatura foi realizado
paymentMode EnumCreditCardAccountsPaymentMode true Traz as formas de efetivação do pagamento realizado: (Vide Enum)
- Débito em conta corrente
- Boleto bancário
- Averbação em folha
- PIX
amount number(double) true Valor pagamento segundo o valueType. Expresso em valor monetário com 4 casas decimais
currency string true Moeda referente ao valor de pagamento da fatura, segundo modelo ISO-4217. p.ex. 'BRL' Todos os valores informados estão representados com a moeda vigente do Brasil

CreditCardAccountsData

{
  "creditCardAccountId": "XXZTR3459087",
  "brandName": "Organização A",
  "companyCnpj": "21128159000166",
  "name": "Cartão Universitário",
  "productType": "OUTROS",
  "productAdditionalInfo": "string",
  "creditCardNetwork": "VISA",
  "networkAdditionalInfo": "NA"
}

Conjunto de informações das Contas de pagamento pós paga

Propriedades

Nome Tipo Obrigatório Descrição
creditCardAccountId string true Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara
name string true Denominação/Identificação do nome da conta de pagamento pós-paga (cartão). Conforme CIRCULAR Nº 3.680,BCB, 2013: 'conta de pagamento pós-paga: destinada à execução de transações de pagamento que independem do aporte prévio de recursos
productType EnumCreditCardAccountsProductType true Categoria atribuída a um cartão de pagamento, sob uma certa denominação, que lhe agrega um conjunto de vantagens, diferenciando-o de acordo com o perfil do portador.
productAdditionalInfo string false Informações complementares se tipo de Cartão 'OUTROS'
creditCardNetwork EnumCreditCardAccountNetwork true Categoria de Bandeiras de Cartões de Crédito (Instituidor do arranjo de pagamento).
Bandeira é a detentora de todos os direitos e deveres da utilização da marca estampada no cartão, inclusive as bandeiras pertencentes aos emissores.
networkAdditionalInfo string false Texto livre para especificar categoria de bandeira marcada como 'OUTRAS'

CreditCardsAccountsIdentificationData

{
  "name": "Cartão Universitário",
  "productType": "OUTROS",
  "productAdditionalInfo": "OURO_INTERNACIONAL",
  "creditCardNetwork": "VISA",
  "networkAdditionalInfo": "NA",
  "paymentMethod": {
    "identificationNumber": "4453",
    "isMultipleCreditCard": true
  }
}

Conjunto de informações referentes à identificação da conta de pagamento pós-paga.

Propriedades

Nome Tipo Obrigatório Descrição
name string true Denominação/Identificação do nome da conta de pagamento pós-paga (cartão). Conforme CIRCULAR Nº 3.680,BCB, 2013: 'conta de pagamento pós-paga: destinada à execução de transações de pagamento que independem do aporte prévio de recursos'.
productType EnumCreditCardAccountsProductType true Categoria atribuída a um cartão de pagamento, sob uma certa denominação, que lhe agrega um conjunto de vantagens, diferenciando-o de acordo com o perfil do portador.
productAdditionalInfo string false Informações complementares se tipo de Cartão 'OUTROS'
creditCardNetwork EnumCreditCardAccountNetwork true Categoria de Bandeiras de Cartões de Crédito (Instituidor do arranjo de pagamento).
Bandeira é a detentora de todos os direitos e deveres da utilização da marca estampada no cartão, inclusive as bandeiras pertencentes aos emissores.
networkAdditionalInfo string false Texto livre para especificar categoria de bandeira marcada como 'OUTRAS'.
paymentMethod CreditCardsAccountPaymentMethod true Conjunto de informações relativas aos Meios de Pagamento da Conta de pagamento pós-paga

CreditCardAccountsLimitsData

{
  "creditLineLimitType": "LIMITE_CREDITO_TOTAL",
  "consolidationType": "CONSOLIDADO",
  "identificationNumber": "4453",
  "lineName": "CREDITO_A_VISTA",
  "lineNameAdditionalInfo": "Informações adicionais e complementares.",
  "isLimitFlexible": true,
  "limitAmountCurrency": "BRL",
  "limitAmount": 100000.0001,
  "usedAmountCurrency": "BRL",
  "usedAmount": 7500.05,
  "availableAmountCurrency": "BRL",
  "availableAmount": 2499.95
}

Conjunto de informações referentes aos limites da conta de pagamento pós-paga.

Propriedades

Nome Tipo Obrigatório Descrição
creditLineLimitType EnumCreditCardAccountsLineLimitType true Indicador do tipo de limite
consolidationType EnumCreditCardAccountsConsolidationType true Indicador que permite informar se o valor do limite é consolidado ou individual.
identificationNumber string true Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para PF, ou então, preencher com um identificador para PJ, com as caracteristicas definidas para os IDs no Open Banking.
lineName EnumCreditCardAccountsLineName false
lineNameAdditionalInfo string false Campo de preenchimento obrigatório se selecionada a opção 'OUTRAS' em lineName.
isLimitFlexible boolean true Indica se a operação de crédito é: com limite flexível (true) ou com limite (false).
limitAmountCurrency string true Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.'
Todos os limite informados estão representados com a moeda vigente do do Brasil.
limitAmount number(double)¦null true Valor total do limite informado Expresso em valor monetário com 4 casas decimais.
usedAmountCurrency string true Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.'
Todos os saldos informados estão representados com a moeda vigente do Brasil.
usedAmount number(double)¦null true Valor utilizado do limite informado Expresso em valor monetário com 4 casas decimais.
availableAmountCurrency string true Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.'
Todos os saldos informados estão representados com a moeda vigente do Brasil.
availableAmount number(double)¦null true Valor disponível do limite informado Expresso em valor monetário com 4 casas decimais.

CreditCardAccountsTransaction

{
  "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
  "identificationNumber": "4453",
  "lineName": "CREDITO_A_VISTA",
  "transactionName": "PGTO",
  "billId": "MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM",
  "creditDebitType": "DEBITO",
  "transactionType": "CASHBACK",
  "transactionalAdditionalInfo": "string",
  "paymentType": "A_VISTA",
  "feeType": "ANUIDADE",
  "feeTypeAdditionalInfo": "string",
  "otherCreditsType": "CREDITO_ROTATIVO",
  "otherCreditsAdditionalInfo": "string",
  "chargeIdentificator": "PARCELA_1",
  "chargeNumber": 3,
  "brazilianAmount": 100000.04,
  "amount": 100000.04,
  "currency": "BRL",
  "transactionDate": "2021-05-21",
  "billPostDate": "2021-05-21",
  "payeeMCC": 5137
}

Lista que traz os valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga

Propriedades

Nome Tipo Obrigatório Descrição
transactionId string false Código ou identificador único prestado pela instituição que mantém a conta para representar a transação individual.
identificationNumber string true Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para PF, ou então, preencher com um identificador para PJ, com as caracteristicas definidas para os IDs no Open Banking.
lineName EnumCreditCardAccountsLineName false
transactionName string true Campo de livre preenchimento. Literal usada na instituição financeira para identificar a transação
billId string false Informação que identifica a fatura onde consta a transação informada.
creditDebitType EnumCreditDebitIndicator true Indicador do tipo de lançamento:
Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente.
Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente.
transactionType EnumCreditCardTransactionType true Traz os tipos de Transação
transactionalAdditionalInfo string true Campo livre, de preenchimento obrigatório quando selecionado tipo de transação "OUTROS"
paymentType EnumCreditCardAccountsPaymentType true Traz os tipos de pagamento. Preenchimento obrigatório se selecionado tipo de transação PAGAMENTO.
feeType EnumCreditCardAccountFee true Traz os tipos de Tarifas: (Vide Enum)
Anuidade, Saque com cartão no Brasil, Saque com cartão no exterior, Avaliação emergencial de crédito, Emissão segunda via, Tarifa pagamento de contas, SMS, OUTRA.
[Restrição] Preenchimento obrigatório se Tipo de Transação selecionada for 'TARIFA'
feeTypeAdditionalInfo string true Campo livre, de preenchimento obrigatório quando selecionada tipo de tarifa "OUTRA"
otherCreditsType EnumCreditCardAccountsOtherCreditType true Traz outros tipos de crédito contratados no cartão.
[Restrição] Preenchimento obrigatório se o tipo transação selecionado for 'OPERACOES_CREDITO_CONTRATADAS_CARTAO'
otherCreditsAdditionalInfo string true Campo livre, de preenchimento obrigatório quando selecionado tipo de crédito "OUTROS"
chargeIdentificator string true Identificador da parcela que está sendo informada. Campo de livre preenchimento
chargeNumber number(integer)¦null true Quantidade de parcelas
brazilianAmount number(double)¦null true Valor da transação expresso em valor monetário com 4 casas decimais, em moeda corrente do Brasil
amount number(double)¦null true Valor da transação efetuada no exterior e convertida em moeda nacional com 4 casas decimais. Expresso em valor monetário com 4 casas decimais
currency string true Moeda referente ao valor da transação, se a operação foi efetuada em moeda estrangeira, segundo modelo ISO-4217.
Todos os valores informados estão representados com a moeda vigente do Brasil
transactionDate string(date) true Data original da transação
billPostDate string(date) true Data em que a transação foi inserida na fatura
payeeMCC number(integer)¦null true O MCC ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades. O MCC é usado para classificar o negócio pelo tipo fornecido de bens ou serviços. Os MCCs são atribuídos por tipo de comerciante (por exemplo, um para hotéis, um para lojas de materiais de escritório, etc.) ou por nome de comerciante (por exemplo, 3000 para a United Airlines).

CreditCardAccountsTransactionsData

{
  "transactions": {
    "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
    "identificationNumber": "4453",
    "lineName": "CREDITO_A_VISTA",
    "transactionName": "PGTO",
    "billId": "MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM",
    "creditDebitType": "DEBITO",
    "transactionType": "CASHBACK",
    "transactionalAdditionalInfo": "string",
    "paymentType": "A_VISTA",
    "feeType": "ANUIDADE",
    "feeTypeAdditionalInfo": "string",
    "otherCreditsType": "CREDITO_ROTATIVO",
    "otherCreditsAdditionalInfo": "string",
    "chargeIdentificator": "PARCELA_1",
    "chargeNumber": 3,
    "brazilianAmount": 100000.04,
    "amount": 100000.04,
    "currency": "BRL",
    "transactionDate": "2021-05-21",
    "billPostDate": "2021-05-21",
    "payeeMCC": 5137
  }
}

Conjunto de informações referentes a lista de transações da conta de pagamento pós-paga identificada por creditCardAccountId mantida pelo cliente na instituição transmissora

Propriedades

Nome Tipo Obrigatório Descrição
transactions CreditCardAccountsTransaction true Lista que traz os valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga

CreditCardsAccountPaymentMethod

{
  "identificationNumber": "4453",
  "isMultipleCreditCard": true
}

Conjunto de informações relativas aos Meios de Pagamento da Conta de pagamento pós-paga

Propriedades

Nome Tipo Obrigatório Descrição
identificationNumber string true Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para PF, ou então, preencher com um identificador para PJ, com as caracteristicas definidas para os IDs no Open Banking.
isMultipleCreditCard boolean true Indica se o Cartão de crédito associado à conta pagamento pós-paga é múltiplo ou não. Cartões denominados múltiplos possuem tanto a função crédito quanto a função débito, devendo o proprietário do cartão, no momento de sua utilização, informar se o pagamento é na função crédito (que leva a um pagamento futuro, por meio de uma fatura do cartão de crédito) ou na função débito.

BusinessContacts

{
  "postalAddresses": [
    {
      "isMain": true,
      "address": "Av Naburo Ykesaki, 1270",
      "additionalInfo": "Fundos",
      "districtName": "Centro",
      "townName": "Marília",
      "ibgeTownCode": "3550308",
      "countrySubDivision": "SP",
      "postCode": "17500001",
      "country": "Brasil",
      "countryCode": "BRA",
      "geographicCoordinates": {
        "latitude": "-90.8365180",
        "longitude": "-180.836519"
      }
    }
  ],
  "phones": [
    {
      "isMain": true,
      "type": "FIXO",
      "additionalInfo": "Informações adicionais.",
      "countryCallingCode": "55",
      "areaCode": "19",
      "number": "29875132",
      "phoneExtension": "932"
    }
  ],
  "emails": [
    {
      "isMain": true,
      "email": "karinafernandes-81@br.inter.net"
    }
  ]
}

Conjunto de informações referentes às formas para contatar o cliente.

Propriedades

Nome Tipo Obrigatório Descrição
postalAddresses [BusinessPostalAddress] true Lista de endereços da pessoa jurídica
phones [CustomerPhone] true Lista com telefones de contato da pessoa jurídica
emails [CustomerEmail] true Lista e-mails de contato

PersonalContacts

{
  "postalAddresses": [
    {
      "isMain": true,
      "address": "Av Naburo Ykesaki, 1270",
      "additionalInfo": "Fundos",
      "districtName": "Centro",
      "townName": "Marília",
      "ibgeTownCode": "3550308",
      "countrySubDivision": "SP",
      "postCode": "17500001",
      "country": "Brasil",
      "countryCode": "BRA",
      "geographicCoordinates": {
        "latitude": "-90.8365180",
        "longitude": "-180.836519"
      }
    }
  ],
  "phones": [
    {
      "isMain": true,
      "type": "FIXO",
      "additionalInfo": "Informações adicionais.",
      "countryCallingCode": "55",
      "areaCode": "19",
      "number": "29875132",
      "phoneExtension": "932"
    }
  ],
  "emails": [
    {
      "isMain": true,
      "email": "karinafernandes-81@br.inter.net"
    }
  ]
}

Conjunto de informações referentes às formas para contatar o cliente.

Propriedades

Nome Tipo Obrigatório Descrição
postalAddresses [PersonalPostalAddress] true Lista de endereços da pessoa natural
phones [CustomerPhone] true Lista com telefones de contato da pessoa natural
emails [CustomerEmail] true Lista e-mails de contato

CustomerEmail

{
  "isMain": true,
  "email": "karinafernandes-81@br.inter.net"
}

Propriedades

Nome Tipo Obrigatório Descrição
isMain boolean true Indica se o email informado é o principal
email string true Endereço de email

CustomerPhone

{
  "isMain": true,
  "type": "FIXO",
  "additionalInfo": "Informações adicionais.",
  "countryCallingCode": "55",
  "areaCode": "19",
  "number": "29875132",
  "phoneExtension": "932"
}

Propriedades

Nome Tipo Obrigatório Descrição
isMain boolean true Indica se o telefone informado é o principal
type EnumCustomerPhoneType true Identificação do Tipo de telefone do cliente.
additionalInfo string false Informação complementar relativa ao tipo de telefone selecionado. [Restrição] De preenchimento obrigatório quando selecionado o tipo 'OUTRO'.
countryCallingCode string true Número de DDI (Discagem Direta Internacional) para telefone de acesso ao Cliente - se houver
areaCode EnumAreaCode true Número de DDD (Discagem Direta à Distância) do telefone do cliente - se houver
number string true Número de telefone do cliente
phoneExtension string true Número do ramal. De preenchimento obrigatório se fizer parte da identificação do número do telefone informado

BusinessPostalAddress

{
  "isMain": true,
  "address": "Av Naburo Ykesaki, 1270",
  "additionalInfo": "Fundos",
  "districtName": "Centro",
  "townName": "Marília",
  "ibgeTownCode": "3550308",
  "countrySubDivision": "SP",
  "postCode": "17500001",
  "country": "Brasil",
  "countryCode": "BRA",
  "geographicCoordinates": {
    "latitude": "-90.8365180",
    "longitude": "-180.836519"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
isMain boolean true Indica se o endereço informado é o principal
address string true Corresponde ao endereço comercial do cliente
additionalInfo string false Alguns logradouros ainda necessitam ser especificados por meio de complemento
districtName string true Bairro é uma comunidade ou região localizada em uma cidade ou município de acordo com as suas subdivisões geográficas.
townName string true Localidade: O nome da localidade corresponde à designação da cidade ou município no qual o endereço está localizado.
ibgeTownCode string false Código IBGE de Município. A Tabela de Códigos de Municípios do IBGE apresenta a lista dos municípios brasileiros associados a um código composto de 7 dígitos, sendo os dois primeiros referentes ao código da Unidade da Federação.
countrySubDivision EnumCountrySubDivision true Enumeração referente a cada sigla da unidade da federação que identifica o estado ou o distrito federal, no qual o endereço está localizado. p.ex. 'AC'. São consideradas apenas as siglas para os estados brasileiros
postCode string true Código de Endereçamento Postal: Composto por um conjunto numérico de oito dígitos, o objetivo principal do CEP é orientar e acelerar o encaminhamento, o tratamento e a entrega de objetos postados nos Correios, por meio da sua atribuição a localidades, logradouros, unidades dos Correios, serviços, órgãos públicos, empresas e edifícios. p.ex. '01311000'
country string true Nome do país
countryCode string false Código do pais de acordo com o código “alpha3” do ISO-3166
geographicCoordinates GeographicCoordinates false Conjunto de informações, que correspondem aos valores das coordenadas geográficas em graus decimais, no Sistema de referência WGS84

PersonalPostalAddress

{
  "isMain": true,
  "address": "Av Naburo Ykesaki, 1270",
  "additionalInfo": "Fundos",
  "districtName": "Centro",
  "townName": "Marília",
  "ibgeTownCode": "3550308",
  "countrySubDivision": "SP",
  "postCode": "17500001",
  "country": "Brasil",
  "countryCode": "BRA",
  "geographicCoordinates": {
    "latitude": "-90.8365180",
    "longitude": "-180.836519"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
isMain boolean true Indica se o endereço informado é o principal.
address string true Corresponde ao endereço residencial do cliente.
additionalInfo string false Alguns logradouros ainda necessitam ser especificados por meio de complemento.
districtName string true Bairro é uma comunidade ou região localizada em uma cidade ou município de acordo com as suas subdivisões geográficas.
townName string true Localidade: O nome da localidade corresponde à designação da cidade ou município no qual o endereço está localizado.
ibgeTownCode string false Código IBGE de Município. A Tabela de Códigos de Municípios do IBGE apresenta a lista dos municípios brasileiros associados a um código composto de 7 dígitos, sendo os dois primeiros referentes ao código da Unidade da Federação.
countrySubDivision EnumCountrySubDivision true Enumeração referente a cada sigla da unidade da federação que identifica o estado ou o distrito federal, no qual o endereço está localizado. p.ex. 'AC'. São consideradas apenas as siglas para os estados brasileiros
postCode string true Código de Endereçamento Postal: Composto por um conjunto numérico de oito dígitos, o objetivo principal do CEP é orientar e acelerar o encaminhamento, o tratamento e a entrega de objetos postados nos Correios, por meio da sua atribuição a localidades, logradouros, unidades dos Correios, serviços, órgãos públicos, empresas e edifícios. p.ex. '01311000'.
country string true Nome do país
countryCode string false Código do pais de acordo com o código “alpha3” do ISO-3166.
geographicCoordinates GeographicCoordinates false Conjunto de informações, que correspondem aos valores das coordenadas geográficas em graus decimais, no Sistema de referência WGS84

EconomicActivity

{
  "code": 8599604,
  "isMain": true
}

Propriedades

Nome Tipo Obrigatório Descrição
code number true Traz o código do ramo da atividade principal da empresa consultada, segundo padrão CNAE (Classificação Nacional de Atividades Econômicas)
isMain boolean true Indica se é o ramo principal de atividade da empresa quando true e se é o ramo secundário quando false.

EnumAccountSubType

"INDIVIDUAL"

Subtipo de conta (vide Enum): Conta individual - possui um único titular Conta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta. Conta conjunta solidária - é a modalidade cujos titulares podem realizar movimentações de forma isolada, isto é, sem que seja necessária a autorização dos demais titulares

Propriedades

Nome Tipo Obrigatório Descrição
** string false Subtipo de conta (vide Enum):
Conta individual - possui um único titular
Conta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta.
Conta conjunta solidária - é a modalidade cujos titulares podem realizar movimentações de forma isolada, isto é, sem que seja necessária a autorização dos demais titulares

Enumerated Values

Nome Código
** INDIVIDUAL
** CONJUNTA_SIMPLES
** CONJUNTA_SOLIDARIA

EnumAccountType

"CONTA_DEPOSITO_A_VISTA"

Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum
Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante
Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado
Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'

Enumerated Values

Nome Código
** CONTA_DEPOSITO_A_VISTA
** CONTA_POUPANCA
** CONTA_PAGAMENTO_PRE_PAGA

EnumAreaCode

"19"

Número de DDD (Discagem Direta à Distância) do telefone do cliente - se houver

Propriedades

Nome Tipo Obrigatório Descrição
** string false Número de DDD (Discagem Direta à Distância) do telefone do cliente - se houver

Enumerated Values

Nome Código
** 11
** 12
** 13
** 14
** 15
** 16
** 17
** 18
** 19
** 21
** 22
** 24
** 27
** 28
** 31
** 32
** 33
** 34
** 35
** 37
** 38
** 41
** 42
** 43
** 44
** 45
** 46
** 47
** 48
** 49
** 51
** 53
** 54
** 55
** 61
** 62
** 63
** 64
** 65
** 66
** 67
** 68
** 69
** 71
** 73
** 74
** 75
** 77
** 79
** 81
** 82
** 83
** 84
** 85
** 86
** 87
** 88
** 89
** 91
** 92
** 93
** 94
** 95
** 96
** 97
** 98
** 99
** NA

EnumContractAmortizationScheduled

"SAC"

Sistema de amortização (Vide Enum): - SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta. - PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando. - SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC). - SEM SISTEMA DE AMORTIZAÇÃO

Propriedades

Nome Tipo Obrigatório Descrição
** string false Sistema de amortização (Vide Enum):
- SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta.
- PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando.
- SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC).
- SEM SISTEMA DE AMORTIZAÇÃO

Enumerated Values

Nome Código
** SAC
** PRICE
** SAM
** SEM_SISTEMA_AMORTIZACAO
** OUTROS

EnumContractCalculation

"21/252"

Base de cálculo

Propriedades

Nome Tipo Obrigatório Descrição
** string false Base de cálculo

Enumerated Values

Nome Código
** 21/252
** 30/360
** 30/365

EnumContractFeeCharge

"MINIMO"

"Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum) - Mínimo - Máximo - Fixo - Percentual"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum)
- Mínimo
- Máximo
- Fixo
- Percentual"

Enumerated Values

Nome Código
** MINIMO
** MAXIMO
** FIXO
** PERCENTUAL

EnumContractFeeChargeType

"UNICA"

Tipo de cobrança para a tarifa pactuada no contrato.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de cobrança para a tarifa pactuada no contrato.

Enumerated Values

Nome Código
** UNICA
** POR_PARCELA

EnumContractFinanceChargeType

"JUROS_REMUNERATORIOS_POR_ATRASO"

Tipo de encargo pactuado no contrato.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de encargo pactuado no contrato.

Enumerated Values

Nome Código
** JUROS_REMUNERATORIOS_POR_ATRASO
** MULTA_ATRASO_PAGAMENTO
** JUROS_MORA_ATRASO
** IOF_CONTRATACAO
** IOF_POR_ATRASO
** SEM_ENCARGO
** OUTROS

EnumContractInstalmentPeriodicity

"SEMANAL"

"Informação relativa à periodicidade regular das parcelas. (Vide Enum) sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Informação relativa à periodicidade regular das parcelas. (Vide Enum)
sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"

Enumerated Values

Nome Código
** SEM_PERIODICIDADE_REGULAR
** SEMANAL
** QUINZENAL
** MENSAL
** BIMESTRAL
** TRIMESTRAL
** SEMESTRAL
** ANUAL
** OUTROS

EnumContractInterestRateType

"SIMPLES"

"Tipo de Juros (vide Enum) - SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160) - COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Tipo de Juros (vide Enum)
- SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160)
- COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"

Enumerated Values

Nome Código
** SIMPLES
** COMPOSTO

EnumContractReferentialRateIndexerType

"PRE_FIXADO"

"Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"

Enumerated Values

Nome Código
** SEM_TIPO_INDEXADOR
** PRE_FIXADO
** POS_FIXADO
** FLUTUANTES
** INDICES_PRECOS
** CREDITO_RURAL
** OUTROS_INDEXADORES

EnumContractReferentialRateIndexerSubType

"TJLP"

"Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"

Enumerated Values

Nome Código
** SEM_SUB_TIPO_INDEXADOR
** PRE_FIXADO
** TR_TBF
** TJLP
** LIBOR
** TLP
** OUTRAS_TAXAS_POS_FIXADAS
** CDI
** SELIC
** OUTRAS_TAXAS_FLUTUANTES
** IGPM
** IPCA
** IPCC
** OUTROS_INDICES_PRECO
** TCR_PRE
** TCR_POS
** TRFC_PRE
** TRFC_POS
** OUTROS_INDEXADORES

EnumContractTaxPeriodicity

"AA"

"Periodicidade da taxa . (Vide Enum) a.m - ao mês a.a. - ao ano"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Periodicidade da taxa . (Vide Enum)
a.m - ao mês
a.a. - ao ano"

Enumerated Values

Nome Código
** AM
** AA

EnumContractTaxType

"EFETIVA"

"Tipo de Taxa (vide Enum) - NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal) - EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Tipo de Taxa (vide Enum)
- NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal)
- EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"

Enumerated Values

Nome Código
** NOMINAL
** EFETIVA

EnumWarrantySubType

"NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO"

Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).

Propriedades

Nome Tipo Obrigatório Descrição
** string false Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).

Enumerated Values

Nome Código
** ACOES_DEBENTURES
** APLICACOES_FINANCEIRAS_RENDA_FIXA
** APLICACOES_FINANCEIRAS_RENDA_VARIAVEL
** APOLICES_CREDITO_EXPORTACAO
** CCR_CONVENIO_CREDITOS_RECIPROCOS
** CHEQUES
** CIVIL
** DIREITOS_SOBRE_ALUGUEIS
** DEPOSITOS_A_VISTA_A_PRAZO_POUPANCA_OURO_TITULOS_PUBLICOS_FEDERAIS_ART_36
** DEPOSITO_TITULOS_EMITIDOS_ENTIDADES_ART_23
** DUPLICATAS
** EMD_ENTIDADES_MULTILATERAIS_DESENVOLVIMENTO_ART_37
** EQUIPAMENTOS FATURA_CARTAO_CREDITO
** ESTADUAL_OU_DISTRITAL
** FATURA_CARTAO_CREDITO
** FEDERAL
** FCVS_FUNDO_COMPENSACAO_VARIACOES_SALARIAIS
** FGI_FUNDO_GARANTIDOR_INVESTIMENTOS
** FGPC_FUNDO_GARANTIA_PROMOCAO_COMPETIT
** FGTS_FUNDO_GARANTIA_TEMPO_SERVICO
** FUNDO_GARANTIDOR_AVAL
** GARANTIA_PRESTADA_FGPC_LEI_9531_ART_37
** GARANTIA_PRESTADA_FUNDOS_QUAISQUER_OUTROS_MECANISMOS_COBERTURA_RISCO_CREDITO_ART_37
** GARANTIA_PRESTADA_TESOURO_NACIONAL_OU_BACEN_ART_37_BENS_DIREITOS_INTEGRANTES_PATRIMONIO_AFETACAO
** IMOVEIS
** IMOVEIS_RESIDENCIAIS
** MITIGADORAS
** MUNICIPAL
** NAO_MITIGADORAS
** NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO
** OUTRAS
** OUTROS
** OUTROS_BENS
** OUTROS_GRAUS
** OUTROS_IMOVEIS
** OUTROS_SEGUROS_ASSEMELHADOS
** PESSOA_FISICA
** PESSOA_FISICA_EXTERIOR
** PESSOA_JURIDICA
** PESSOA_JURIDICA_EXTERIOR
** PRIMEIRO_GRAU_BENS_DIREITOS_INTEGRANTES_PATRIMONIO_AFETACAO
** PRIMEIRO_GRAU_IMOVEIS_RESIDENCIAIS
** PRIMEIRO_GRAU_OUTROS
** PRODUTOS_AGROPECUARIOS_COM_WARRANT
** PRODUTOS_AGROPECUARIOS_SEM_WARRANT
** SBCE_SOCIEDADE_BRASILEIRA_CREDITO_EXPORTAÇÃO
** SEGURO_RURAL
** TRIBUTOS_RECEITAS_ORCAMENTARIAS
** VEICULOS
** VEICULOS_AUTOMOTORES

EnumWarrantyType

"CESSAO_DIREITOS_CREDITORIOS"

Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)

Propriedades

Nome Tipo Obrigatório Descrição
** string false Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)

Enumerated Values

Nome Código
** SEM_TIPO_GARANTIA
** CESSAO_DIREITOS_CREDITORIOS
** CAUCAO
** PENHOR
** ALIENACAO_FIDUCIARIA
** HIPOTECA
** OPERACOES_GARANTIDAS_PELO_GOVERNO
** OUTRAS_GARANTIAS_NAO_FIDEJUSSORIAS
** SEGUROS_ASSEMELHADOS
** GARANTIA_FIDEJUSSORIA
** BENS_ARRENDADOS
** GARANTIAS_INTERNACIONAIS
** OPERACOES_GARANTIDAS_OUTRAS_ENTIDADES
** ACORDOS_COMPENSACAO

EnumCustomerPhoneType

"FIXO"

Identificação do Tipo de telefone do cliente.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Identificação do Tipo de telefone do cliente.

Enumerated Values

Nome Código
** FIXO
** MOVEL
** OUTRO

EnumTaxType

"JUROS_REMUNERATORIOS_POR_ATRASO"

Tipo de encargo pago fora da parcela

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de encargo pago fora da parcela

Enumerated Values

Nome Código
** JUROS_REMUNERATORIOS_POR_ATRASO
** MULTA_ATRASO_PAGAMENTO
** JUROS_MORA_ATRASO
** IOF_CONTRATACAO
** IOF_POR_ATRASO
** OUTROS

EnumFiliationType

"PAI"

Tipo de filiação.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de filiação.

Enumerated Values

Nome Código
** MAE
** PAI
** SEM_FILIACAO

EnumInformedIncomeFrequency

"DIARIA"

Traz a frequência ou período da renda informada.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz a frequência ou período da renda informada.

Enumerated Values

Nome Código
** DIARIA
** SEMANAL
** QUINZENAL
** MENSAL
** BIMESTRAL
** TRIMESTRAL
** SEMESTRAL
** ANUAL
** SEM_FREQUENCIA_RENDA_INFORMADA
** OUTROS

EnumInformedRevenueFrequency

"DIARIA"

Traz a frequência ou período do faturamento informado. "O faturamento é calculado a partir de todos os benefícios que a empresa conseguiu com sua atividade econômica em um determinado período. Esses benefícios são os rendimentos ou ganhos da organização através de suas vendas ou serviços prestados".

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz a frequência ou período do faturamento informado.
"O faturamento é calculado a partir de todos os benefícios que a empresa conseguiu com sua atividade econômica em um determinado período. Esses benefícios são os rendimentos ou ganhos da organização através de suas vendas ou serviços prestados".

Enumerated Values

Nome Código
** DIARIA
** SEMANAL
** QUINZENAL
** MENSAL
** BIMESTRAL
** TRIMESTRAL
** SEMESTRAL
** ANUAL
** SEM_FREQUENCIA_FATURAMENTO_INFORMADO
** OUTROS

EnumMaritalStatusCode

"SOLTEIRO"

Estado marital do cliente.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Estado marital do cliente.

Enumerated Values

Nome Código
** SOLTEIRO
** CASADO
** VIUVO
** SEPARADO_JUDICIALMENTE
** DIVORCIADO
** UNIAO_ESTAVEL
** OUTRO

EnumOccupationMainCodeType

"RECEITA_FEDERAL"

Traz a relação dos códigos relativos à ocupação.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz a relação dos códigos relativos à ocupação.

Enumerated Values

Nome Código
** RECEITA_FEDERAL
** CBO
** OUTRO

EnumBalanceType

"SALDO_DISPONIVEL"

tipos de saldo em conta: (vide enum) informados: Saldo disponível para utilização imediata. No caso de conta de depósito a vista, sem considerar cheque especial e investimentos atrelados a conta. Admite saldo negativo. Saldo bloqueado não disponível para utilização imediata, por motivo de bloqueio por compensação, ou bloqueio judicial Saldo disponível com aplicação automática - saldo disponível para utilização imediata, referente ao tipo de conta que remunera automaticamente o saldo em conta

Propriedades

Nome Tipo Obrigatório Descrição
** string false tipos de saldo em conta: (vide enum) informados:
Saldo disponível para utilização imediata. No caso de conta de depósito a vista, sem considerar cheque especial e investimentos atrelados a conta. Admite saldo negativo.
Saldo bloqueado não disponível para utilização imediata, por motivo de bloqueio por compensação, ou bloqueio judicial
Saldo disponível com aplicação automática - saldo disponível para utilização imediata, referente ao tipo de conta que remunera automaticamente o saldo em conta

Enumerated Values

Nome Código
** SALDO_DISPONIVEL
** SALDO_BLOQUEADO
** SALDO_DISPONIVEL_APLICACAO_AUTOMATICA

EnumCompletedAuthorisedPaymentIndicator

"TRANSACAO_EFETIVADA"

Indicador da transação: - Transação efetivada - Lançamento futuro

Propriedades

Nome Tipo Obrigatório Descrição
** string false Indicador da transação:
- Transação efetivada
- Lançamento futuro

Enumerated Values

Nome Código
** TRANSACAO_EFETIVADA
** LANCAMENTO_FUTURO

EnumContractProductSubTypeFinancings

"AQUISICAO_BENS_VEICULOS_AUTOMOTORES"

"Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum) Aquisição de bens veículos automotores, Aquisição de bens de outros bens, Microcrédito, Custeio, Investimento, Industrialização, Comercialização, Financiamento habitacional SFH e Financiamento habitacional exceto SFH"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Aquisição de bens veículos automotores, Aquisição de bens de outros bens, Microcrédito, Custeio, Investimento, Industrialização, Comercialização, Financiamento habitacional SFH e Financiamento habitacional exceto SFH"

Enumerated Values

Nome Código
** AQUISICAO_BENS_VEICULOS_AUTOMOTORES
** AQUISICAO_BENS_OUTROS_BENS
** MICROCREDITO
** CUSTEIO
** INVESTIMENTO
** INDUSTRIALIZACAO
** COMERCIALIZACAO
** FINANCIAMENTO_HABITACIONAL_SFH
** FINANCIAMENTO_HABITACIONAL_EXCETO_SFH

EnumContractProductSubTypeInvoiceFinancings

"DESCONTO_CHEQUES"

Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum) Desconto de duplicatas, Desconto de cheques, Antecipação da fatura do cartão de crédito, Outros direitos creditórios descontados, Outros títulos descontados

Propriedades

Nome Tipo Obrigatório Descrição
** string false Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Desconto de duplicatas, Desconto de cheques, Antecipação da fatura do cartão de crédito, Outros direitos creditórios descontados, Outros títulos descontados

Enumerated Values

Nome Código
** DESCONTO_DUPLICATAS
** DESCONTO_CHEQUES
** ANTECIPACAO_FATURA_CARTAO_CREDITO
** OUTROS_DIREITOS_CREDITORIOS_DESCONTADOS
** OUTROS_TITULOS_DESCONTADOS

EnumContractProductSubTypeLoans

"CREDITO_PESSOAL_COM_CONSIGNACAO"

Sub tipo da modalidades de crédito Empréstimos contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR).

Propriedades

Nome Tipo Obrigatório Descrição
** string false Sub tipo da modalidades de crédito Empréstimos contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR).

Enumerated Values

Nome Código
** HOME_EQUITY
** CHEQUE_ESPECIAL
** CONTA_GARANTIDA
** CAPITAL_GIRO_TETO_ROTATIVO
** CREDITO_PESSOAL_SEM_CONSIGNACAO
** CREDITO_PESSOAL_COM_CONSIGNACAO
** MICROCREDITO_PRODUTIVO_ORIENTADO
** CAPITAL_GIRO_PRAZO_VENCIMENTO_ATE_365_DIAS
** CAPITAL_GIRO_PRAZO_VENCIMENTO_SUPERIOR_365_DIAS

EnumContractProductTypeFinancings

"FINANCIAMENTOS"

"Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum) Financiamentos, Financiamentos rurais e Financiamentos imobiliários"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Financiamentos, Financiamentos rurais e Financiamentos imobiliários"

Enumerated Values

Nome Código
** FINANCIAMENTOS
** FINANCIAMENTOS_RURAIS
** FINANCIAMENTOS_IMOBILIARIOS

EnumContractProductTypeInvoiceFinancings

"DIREITOS_CREDITORIOS_DESCONTADOS"

Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum) Direitos creditórios descontados

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Direitos creditórios descontados

Enumerated Values

Nome Código
** DIREITOS_CREDITORIOS_DESCONTADOS

EnumContractProductTypeLoans

"EMPRESTIMOS"

Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR).

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR).

Enumerated Values

Nome Código
** EMPRESTIMOS

EnumCountrySubDivision

"SP"

Enumeração referente a cada sigla da unidade da federação que identifica o estado ou o distrito federal, no qual o endereço está localizado. p.ex. 'AC'. São consideradas apenas as siglas para os estados brasileiros

Propriedades

Nome Tipo Obrigatório Descrição
** string false Enumeração referente a cada sigla da unidade da federação que identifica o estado ou o distrito federal, no qual o endereço está localizado. p.ex. 'AC'. São consideradas apenas as siglas para os estados brasileiros

Enumerated Values

Nome Código
** AC
** AL
** AP
** AM
** BA
** CE
** DF
** ES
** GO
** MA
** MT
** MS
** MG
** PA
** PB
** PR
** PE
** PI
** RJ
** RN
** RS
** RO
** RR
** SC
** SP
** SE
** TO
** NA

EnumCreditCardAccountBalance

"VALOR_TRANSACAO_BRASIL"

Traz os tipos dos valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz os tipos dos valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga

Enumerated Values

Nome Código
** VALOR_TRANSACAO_BRASIL
** VALOR_TRANSACAO_CONVERTIDA_BRASIL

EnumCreditCardAccountFee

"ANUIDADE"

Traz os tipos de Tarifas: (Vide Enum) Anuidade, Saque com cartão no Brasil, Saque com cartão no exterior, Avaliação emergencial de crédito, Emissão segunda via, Tarifa pagamento de contas, SMS, OUTRA. [Restrição] Preenchimento obrigatório se Tipo de Transação selecionada for 'TARIFA'

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz os tipos de Tarifas: (Vide Enum)
Anuidade, Saque com cartão no Brasil, Saque com cartão no exterior, Avaliação emergencial de crédito, Emissão segunda via, Tarifa pagamento de contas, SMS, OUTRA.
[Restrição] Preenchimento obrigatório se Tipo de Transação selecionada for 'TARIFA'

Enumerated Values

Nome Código
** ANUIDADE
** SAQUE_CARTAO_BRASIL
** SAQUE_CARTAO_EXTERIOR
** AVALIACAO_EMERGENCIAL_CREDITO
** EMISSAO_SEGUNDA_VIA
** TARIFA_PAGAMENTO_CONTAS
** SMS
** OUTRA

EnumCreditCardAccountNetwork

"VISA"

Categoria de Bandeiras de Cartões de Crédito (Instituidor do arranjo de pagamento). Bandeira é a detentora de todos os direitos e deveres da utilização da marca estampada no cartão, inclusive as bandeiras pertencentes aos emissores.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Categoria de Bandeiras de Cartões de Crédito (Instituidor do arranjo de pagamento).
Bandeira é a detentora de todos os direitos e deveres da utilização da marca estampada no cartão, inclusive as bandeiras pertencentes aos emissores.

Enumerated Values

Nome Código
** VISA
** MASTERCARD
** AMERICAN_EXPRESS
** DINERS_CLUB
** HIPERCARD
** BANDEIRA_PROPRIA
** CHEQUE_ELETRONICO
** ELO
** OUTRAS

EnumCreditCardAccountPaymentMethodApresentation

"VIRTUAL"

Enumera as formas de disponibilização do cartão (conta de pagamento pós-paga)

Propriedades

Nome Tipo Obrigatório Descrição
** string false Enumera as formas de disponibilização do cartão (conta de pagamento pós-paga)

Enumerated Values

Nome Código
** FISICO
** VIRTUAL

EnumCreditCardAccountPaymentMethodType

"PRINCIPAL"

Enumera os tipos de cartão (conta de pagamento pós-paga)

Propriedades

Nome Tipo Obrigatório Descrição
** string false Enumera os tipos de cartão (conta de pagamento pós-paga)

Enumerated Values

Nome Código
** PRINCIPAL
** ADICIONAL

EnumCreditCardAccountsBillingValueType

"VALOR_PAGAMENTO_FATURA_PARCELADO"

Traz os tipos dos valores relativos aos pagamentos da fatura da conta de pagamento pós-paga: (Vide Enum) - Valor de pagamento da fatura com parcelamento - Valor pagamento da fatura realizado - Outro Valor pago na fatura

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz os tipos dos valores relativos aos pagamentos da fatura da conta de pagamento pós-paga: (Vide Enum)
- Valor de pagamento da fatura com parcelamento
- Valor pagamento da fatura realizado
- Outro Valor pago na fatura

Enumerated Values

Nome Código
** VALOR_PAGAMENTO_FATURA_PARCELADO
** VALOR_PAGAMENTO_FATURA_REALIZADO
** OUTRO_VALOR_PAGO_FATURA

EnumCreditCardAccountsConsolidationType

"CONSOLIDADO"

Indicador que permite informar se o valor do limite é consolidado ou individual.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Indicador que permite informar se o valor do limite é consolidado ou individual.

Enumerated Values

Nome Código
** CONSOLIDADO
** INDIVIDUAL

EnumCreditCardAccountsFinanceChargeType

"JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA"

Traz a denominação dos Encargos que incidem na fatura da conta de pagamento pós-paga. (Vide Enum) - Juros remuneratórios por atraso no pagamento da fatura - Multa por atraso no pagamento da fatura - Juros de mora por atraso no pagamento da fatura - IOF - Sem Encargo - Outros

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz a denominação dos Encargos que
incidem na fatura da conta de pagamento pós-paga. (Vide Enum)
- Juros remuneratórios por atraso no pagamento da fatura
- Multa por atraso no pagamento da fatura
- Juros de mora por atraso no pagamento da fatura
- IOF
- Sem Encargo
- Outros

Enumerated Values

Nome Código
** JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA
** MULTA_ATRASO_PAGAMENTO_FATURA
** JUROS_MORA_ATRASO_PAGAMENTO_FATURA
** IOF
** SEM_ENCARGO
** OUTROS

EnumCreditCardAccountsLimitType

"COM_LIMITE"

Indicador que permite informar se a operação de crédito é com limite ou com limite flexível

Propriedades

Nome Tipo Obrigatório Descrição
** string false Indicador que permite informar se a operação de crédito é com limite ou com limite flexível

Enumerated Values

Nome Código
** COM_LIMITE
** LIMITE_FLEXIVEL
** SEM_LIMITE

EnumCreditCardAccountsLineLimitType

"LIMITE_CREDITO_TOTAL"

Indicador do tipo de limite

Propriedades

Nome Tipo Obrigatório Descrição
** string false Indicador do tipo de limite

Enumerated Values

Nome Código
** LIMITE_CREDITO_TOTAL
** LIMITE_CREDITO_MODALIDADE_OPERACAO

EnumCreditCardAccountsLineName

"CREDITO_A_VISTA"

Propriedades

Nome Tipo Obrigatório Descrição
** string false

Enumerated Values

Nome Código
** CREDITO_A_VISTA
** CREDITO_PARCELADO
** SAQUE_CREDITO_BRASIL
** SAQUE_CREDITO_EXTERIOR
** EMPRESTIMO_CARTAO_CONSIGNADO
** OUTROS

EnumCreditCardAccountsOtherCredits

"CREDITO_ROTATIVO"

Traz outros tipos de crédito contratados no cartão.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz outros tipos de crédito contratados no cartão.

Enumerated Values

Nome Código
** CREDITO_ROTATIVO
** PARCELAMENTO_FATURA
** EMPRESTIMO
** OUTROS

EnumCreditCardAccountsOtherCreditType

"CREDITO_ROTATIVO"

Traz outros tipos de crédito contratados no cartão. [Restrição] Preenchimento obrigatório se o tipo transação selecionado for 'OPERACOES_CREDITO_CONTRATADAS_CARTAO'

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz outros tipos de crédito contratados no cartão.
[Restrição] Preenchimento obrigatório se o tipo transação selecionado for 'OPERACOES_CREDITO_CONTRATADAS_CARTAO'

Enumerated Values

Nome Código
** CREDITO_ROTATIVO
** PARCELAMENTO_FATURA
** EMPRESTIMO
** OUTROS

EnumCreditCardAccountsPaymentType

"A_VISTA"

Traz os tipos de pagamento. Preenchimento obrigatório se selecionado tipo de transação PAGAMENTO.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz os tipos de pagamento. Preenchimento obrigatório se selecionado tipo de transação PAGAMENTO.

Enumerated Values

Nome Código
** A_VISTA
** A_PRAZO

EnumCreditCardAccountsProductType

"OUTROS"

Categoria atribuída a um cartão de pagamento, sob uma certa denominação, que lhe agrega um conjunto de vantagens, diferenciando-o de acordo com o perfil do portador.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Categoria atribuída a um cartão de pagamento, sob uma certa denominação, que lhe agrega um conjunto de vantagens, diferenciando-o de acordo com o perfil do portador.

Enumerated Values

Nome Código
** CLASSIC_NACIONAL
** CLASSIC_INTERNACIONAL
** GOLD
** PLATINUM
** INFINITE
** ELECTRON
** STANDARD_NACIONAL
** STANDARD_INTERNACIONAL
** ELETRONIC
** BLACK
** REDESHOP
** MAESTRO_MASTERCARD_MAESTRO
** GREEN
** BLUE
** BLUEBOX
** PROFISSIONAL_LIBERAL
** CHEQUE_ELETRONICO
** CORPORATIVO
** EMPRESARIAL
** COMPRAS
** BASICO_NACIONAL
** BASICO_INTERNACIONAL
** NANQUIM
** GRAFITE
** MAIS
** OUTROS

EnumCreditCardTransactionType

"CASHBACK"

Traz os tipos de Transação

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz os tipos de Transação

Enumerated Values

Nome Código
** PAGAMENTO
** TARIFA
** OPERACOES_CREDITO_CONTRATADAS_CARTAO
** ESTORNO
** CASHBACK
** OUTROS

EnumCreditDebitIndicator

"DEBITO"

Indicador do tipo de lançamento: Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente. Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Indicador do tipo de lançamento:
Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente.
Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente.

Enumerated Values

Nome Código
** CREDITO
** DEBITO

EnumCreditCardAccountsPaymentMode

"DEBITO_CONTA_CORRENTE"

Traz as formas de efetivação do pagamento realizado: (Vide Enum) - Débito em conta corrente - Boleto bancário - Averbação em folha - PIX

Propriedades

Nome Tipo Obrigatório Descrição
** string false Traz as formas de efetivação do pagamento realizado: (Vide Enum)
- Débito em conta corrente
- Boleto bancário
- Averbação em folha
- PIX

Enumerated Values

Nome Código
** DEBITO_CONTA_CORRENTE
** BOLETO_BANCARIO
** AVERBACAO_FOLHA
** PIX

EnumOverdraftLimit

"FAIXA_1"

Faixa de valor que corresponde ao valor monetário do limite de cheque especial contratado. Cada faixa corresponde a um range de valor. São previstos valores diferentes das faixas para Contratos de Cheque Especial de Pessoa Natural e de Pessoa jurídica (vide Enum) - Faixa1 - Faixa2 - Faixa3 - Faixa4 - Faixa5

Propriedades

Nome Tipo Obrigatório Descrição
** string false Faixa de valor que corresponde ao valor monetário do limite de cheque especial contratado. Cada faixa corresponde a um range de valor. São previstos valores diferentes das faixas para Contratos de Cheque Especial de Pessoa Natural e de Pessoa jurídica (vide Enum)
- Faixa1
- Faixa2
- Faixa3
- Faixa4
- Faixa5

Enumerated Values

Nome Código
** FAIXA_1
** FAIXA_2
** FAIXA_3
** FAIXA_4
** FAIXA_5

EnumPartiesParticipationDocumentType

"CPF"

Tipo do documento informado.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo do documento informado.

Enumerated Values

Nome Código
** CPF
** PASSAPORTE
** OUTRO_DOCUMENTO_VIAGEM
** CNPJ

EnumPartiesParticipationType

"SOCIO"

Indica o perfil de atuação na empresa. Vide Enum O administrador é o responsável por desempenhar todas as funções administrativas da empresa. É ele quem conduz o dia a dia do negócio, assinando documentos, respondendo legalmente pela sociedade, realizando empréstimos e outras ações gerenciais. Apesar de estar na linha de frente da empresa, ele é denominado sócio por também possuir sua parcela de participação no Capital Social. Sócio não tem qualquer envolvimento nas atividades administrativas da sociedade.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Indica o perfil de atuação na empresa. Vide Enum
O administrador é o responsável por desempenhar todas as funções administrativas da empresa. É ele quem conduz o dia a dia do negócio, assinando documentos, respondendo legalmente pela sociedade, realizando empréstimos e outras ações gerenciais. Apesar de estar na linha de frente da empresa, ele é denominado sócio por também possuir sua parcela de participação no Capital Social.
Sócio não tem qualquer envolvimento nas atividades administrativas da sociedade.

Enumerated Values

Nome Código
** SOCIO
** ADMINISTRADOR

EnumPayerPersonType

"PESSOA_NATURAL"

Identificação do Tipo de Pessoa do Pagador da transação. Vide Enum Pessoa Natural - Informar CPF no campo “payerCnpjCpf” Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”

Propriedades

Nome Tipo Obrigatório Descrição
** string false Identificação do Tipo de Pessoa do Pagador da transação. Vide Enum
Pessoa Natural - Informar CPF no campo “payerCnpjCpf”
Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”

Enumerated Values

Nome Código
** PESSOA_NATURAL
** PESSOA_JURIDICA

EnumPayeePersonType

"PESSOA_NATURAL"

Identificação do Tipo de Pessoa do Recebedor da transação. Vide Enum Pessoa Natural - Informar CPF no campo “payerCnpjCpf” Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”

Propriedades

Nome Tipo Obrigatório Descrição
** string false Identificação do Tipo de Pessoa do Recebedor da transação. Vide Enum
Pessoa Natural - Informar CPF no campo “payerCnpjCpf”
Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”

Enumerated Values

Nome Código
** PESSOA_NATURAL
** PESSOA_JURIDICA

EnumPersonalOtherDocumentType

"CNH"

Relação dos Códigos dos demais documentos pessoa natural.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Relação dos Códigos dos demais documentos pessoa natural.

Enumerated Values

Nome Código
** CNH
** RG
** NIF
** RNE
** OUTROS
** SEM_OUTROS_DOCUMENTOS

EnumSex

"FEMININO"

"Conjunto de características anatomofisiológicas que distinguem o homem e a mulher: Sexo masculino; sexo feminino". No caso de não ser feminino nem masculino é classificado como 'OUTRO'

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Conjunto de características anatomofisiológicas que distinguem o homem e a mulher: Sexo masculino; sexo feminino".
No caso de não ser feminino nem masculino é classificado como 'OUTRO'

Enumerated Values

Nome Código
** FEMININO
** MASCULINO
** OUTRO

EnumOverdraftLimitType

"VALOR_UTILIZADO_LIMITE"

Tipo de saldo informado: (vide Enum) - Valor utilizado do limite do cheque especial - Saldo a descoberto em conta de depósito à vista (relativo ao excesso do limite de cheque especial ou ao adiantamento a depositante)

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de saldo informado: (vide Enum)
- Valor utilizado do limite do cheque especial
- Saldo a descoberto em conta de depósito à vista (relativo ao excesso do limite de cheque especial ou ao adiantamento a depositante)

Enumerated Values

Nome Código
** VALOR_CONTRATADO_LIMITE
** VALOR_UTILIZADO_LIMITE
** SALDO_DESCOBERTO

EnumProcuratorsTypeBusiness

"PROCURADOR"

Tipo de representante. Representante legal - Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social. Procurador - é qualquer pessoa que represente a Pessoa Natural em algum negócio, mediante autorização escrita do mesmo.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de representante.
Representante legal - Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social.
Procurador - é qualquer pessoa que represente a Pessoa Natural em algum negócio, mediante autorização escrita do mesmo.

Enumerated Values

Nome Código
** REPRESENTANTE_LEGAL
** PROCURADOR
** NAO_POSSUI

EnumProcuratorsTypePersonal

"PROCURADOR"

Tipo de representante. Representante legal - Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social. Procurador - é qualquer pessoa que represente a Pessoa Natural em algum negócio, mediante autorização escrita do mesmo.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de representante.
Representante legal - Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social.
Procurador - é qualquer pessoa que represente a Pessoa Natural em algum negócio, mediante autorização escrita do mesmo.

Enumerated Values

Nome Código
** REPRESENTANTE_LEGAL
** PROCURADOR
** NAO_SE_APLICA

EnumProductServiceType

"SEGURO"

Lista com a relação dos produtos e serviços com contrato vigente.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Lista com a relação dos produtos e serviços com contrato vigente.

Enumerated Values

Nome Código
** CONTA_DEPOSITO_A_VISTA
** CONTA_POUPANCA
** CONTA_PAGAMENTO_PRE_PAGA
** CARTAO_CREDITO
** OPERACAO_CREDITO
** SEGURO
** PREVIDENCIA
** INVESTIMENTO
** OPERACOES_CAMBIO
** CONTA_SALARIO
** CREDENCIAMENTO
** OUTROS

EnumTransactionTypes

"PIX"

Tipo de Transação

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipo de Transação

Enumerated Values

Nome Código
** TED
** DOC
** PIX
** TRANSFERENCIA_MESMA_INSTITUICAO
** BOLETO
** CONVENIO_ARRECADACAO
** PACOTE_TARIFA_SERVICOS
** TARIFA_SERVICOS_AVULSOS
** FOLHA_PAGAMENTO
** DEPOSITO
** SAQUE
** CARTAO
** ENCARGOS_JUROS_CHEQUE_ESPECIAL
** RENDIMENTO_APLIC_FINANCEIRA
** PORTABILIDADE_SALARIO
** RESGATE_APLIC_FINANCEIRA
** OPERACAO_CREDITO
** OUTROS

EnumUnarrangedAccountOverdraftProductType

"ADIANTAMENTO_A_DEPOSITANTES"

"Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum) Adiantamento a depositantes, Direitos creditórios descontados Empréstimos, Financiamentos, Financiamentos rurais e Financiamentos imobiliários"

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Adiantamento a depositantes, Direitos creditórios descontados Empréstimos, Financiamentos, Financiamentos rurais e Financiamentos imobiliários"

Enumerated Values

Nome Código
** ADIANTAMENTO_A_DEPOSITANTES

EnumUnarrangedAccountOverdraftSubProductType

"ADIANTAMENTO_A_DEPOSITANTES"

"Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum) Adiantamento a depositantes

Propriedades

Nome Tipo Obrigatório Descrição
** string false "Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Adiantamento a depositantes

Enumerated Values

Nome Código
** ADIANTAMENTO_A_DEPOSITANTES

Errors

{
  "code": "string",
  "title": "string",
  "detail": "string"
}

Propriedades

Nome Tipo Obrigatório Descrição
code string true Código de erro específico do endpoint
title string true Título legível por humanos do erro deste erro específico
detail string true Descrição legível por humanos deste erro específico

FinancingsBalloonPayment

{
  "dueDate": "2020-01-10",
  "currency": "BRL",
  "amount": 100000.04
}

Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada.

Propriedades

Nome Tipo Obrigatório Descrição
dueDate string(date) true Data de vencimento da parcela não regular a vencer do contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
amount number(double)¦null true Valor monetário da parcela não regular a vencer. Expresso em valor monetário com 4 casas decimais.

FinancingsChargeOverParcel

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "Informações adicionais",
  "chargeAmount": 100000.04
}

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campo livre para preenchimento das informações adicionais referente ao encargo.
[Restrição] Obrigatório quando chargeType for igual 'OUTROS'.
chargeAmount number(double)¦null true Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.

FinancingsCompletedPayment

{
  "paymentDate": "2020-01-10",
  "dueAmount": "200.00"
}

Propriedades

Nome Tipo Obrigatório Descrição
paymentDate string true Traz as datas de vencimento do pagamento do contrato da modalidade de crédito consultada, conforme especificação RFC-3339
dueAmount string true Traz o valor do pagamento do contrato da modalidade de crédito consultada. Expresso em valor monetário com 2 casas decimais

FinancingsContract

{
  "contractNumber": "1324926521496",
  "ipocCode": "92792126019929279212650822221989319252576",
  "productName": "Crédito Pessoal Consignado",
  "productType": "FINANCIAMENTOS",
  "productSubType": "AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
  "contractDate": "2018-01-05",
  "disbursementDate": "2018-01-15",
  "settlementDate": "2018-01-15",
  "contractAmount": 100000.04,
  "currency": "BRL",
  "dueDate": "2028-01-15",
  "instalmentPeriodicity": "SEMANAL",
  "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
  "firstInstalmentDueDate": "2018-02-15",
  "CET": 0.29,
  "amortizationScheduled": "SAC",
  "amortizationScheduledAdditionalInfo": "NA",
  "interestRates": [
    {
      "taxType": "EFETIVA",
      "interestRateType": "SIMPLES",
      "taxPeriodicity": "AA",
      "calculation": "21/252",
      "referentialRateIndexerType": "PRE_FIXADO",
      "referentialRateIndexerSubType": "TJLP",
      "referentialRateIndexerAdditionalInfo": "Informações adicionais",
      "preFixedRate": 0.6,
      "postFixedRate": 0.55,
      "additionalInfo": "Informações adicionais"
    }
  ],
  "contractedFees": [
    {
      "feeName": "Excesso em Conta",
      "feeCode": "EXCESSO_CONTA",
      "feeChargeType": "UNICA",
      "feeCharge": "MINIMO",
      "feeAmount": 100000.04,
      "feeRate": 0.2
    }
  ],
  "contractedFinanceCharges": [
    {
      "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
      "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
      "chargeRate": 0.07
    }
  ]
}

Conjunto de informações referentes à identificação da operação de crédito de financiamentos

Propriedades

Nome Tipo Obrigatório Descrição
contractNumber string true Número do contrato dado pela instituição contratante.
ipocCode string true "Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres."
productName string true Denominação/Identificação do nome da Modalidade da Operação de Crédito divulgado ao cliente
productType EnumContractProductTypeFinancings true "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Financiamentos, Financiamentos rurais e Financiamentos imobiliários"
productSubType EnumContractProductSubTypeFinancings true "Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Aquisição de bens veículos automotores, Aquisição de bens de outros bens, Microcrédito, Custeio, Investimento, Industrialização, Comercialização, Financiamento habitacional SFH e Financiamento habitacional exceto SFH"
contractDate string(date) true Data de contratação da operação de crédito. Especificação RFC-3339
disbursementDate string(date) false Data do Desembolso do valor contratado. Especificação RFC-3339
settlementDate string(date) true Data de liquidação da operação.
[Restrição] Deve aceitar NA caso não seja retornado pela instituição.
contractAmount number(double)¦null true Valor contratado da operação. Expresso em valor monetário com até 4 casas decimais
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
dueDate string(date) true Data de vencimento Final da operação. Especificação RFC-3339
instalmentPeriodicity EnumContractInstalmentPeriodicity true "Informação relativa à periodicidade regular das parcelas. (Vide Enum)
sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"
instalmentPeriodicityAdditionalInfo string true Campo obrigatório para complementar a informação relativa à periodicidade de pagamento regular quando tiver a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa da periodicidade de pagamento regular, quando selecionada o tipo ou subtipo OUTRO.
firstInstalmentDueDate string(date) true Data de vencimento primeira parcela do principal
CET number true CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas).
O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
amortizationScheduled EnumContractAmortizationScheduled true Sistema de amortização (Vide Enum):
- SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta.
- PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando.
- SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC).
- SEM SISTEMA DE AMORTIZAÇÃO
amortizationScheduledAdditionalInfo string true Campo obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS, para os demais casos informar "NA".
interestRates [FinancingsContractInterestRate] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFees [FinancingsContractedFee] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFinanceCharges [FinancingsFinanceCharge] true Lista que traz os encargos pactuados no contrato

FinancingsContractedFee

{
  "feeName": "Excesso em Conta",
  "feeCode": "EXCESSO_CONTA",
  "feeChargeType": "UNICA",
  "feeCharge": "MINIMO",
  "feeAmount": 100000.04,
  "feeRate": 0.2
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
feeName string true Denominação da Tarifa pactuada
feeCode string true Sigla identificadora da tarifa pactuada
feeChargeType EnumContractFeeChargeType true Tipo de cobrança para a tarifa pactuada no contrato.
feeCharge EnumContractFeeCharge true "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum)
- Mínimo
- Máximo
- Fixo
- Percentual"
feeAmount number(double)¦null true "Valor monetário da tarifa pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo"
feeRate number(double)¦null true É o valor da tarifa em percentual pactuada no contrato.
[Restrição] Preenchimento obrigatório quando a forma de cobrança for Percentual. Exemplo: 0.0150 = 1,5%.

FinancingsContractedWarranty

{
  "currency": "BRL",
  "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
  "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
  "warrantyAmount": 100000.04
}

Conjunto de informações referentes às garantias que avalizam a operação de crédito contratada

Propriedades

Nome Tipo Obrigatório Descrição
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
warrantyType EnumWarrantyType true Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)
warrantySubType EnumWarrantySubType true Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).
warrantyAmount number(double) true Valor original da garantia. Valor monetário, expresso com 4 casas decimais'

FinancingsContractInterestRate

{
  "taxType": "EFETIVA",
  "interestRateType": "SIMPLES",
  "taxPeriodicity": "AA",
  "calculation": "21/252",
  "referentialRateIndexerType": "PRE_FIXADO",
  "referentialRateIndexerSubType": "TJLP",
  "referentialRateIndexerAdditionalInfo": "Informações adicionais",
  "preFixedRate": 0.6,
  "postFixedRate": 0.55,
  "additionalInfo": "Informações adicionais"
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
taxType EnumContractTaxType true "Tipo de Taxa (vide Enum)
- NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal)
- EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"
interestRateType EnumContractInterestRateType true "Tipo de Juros (vide Enum)
- SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160)
- COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"
taxPeriodicity EnumContractTaxPeriodicity true "Periodicidade da taxa . (Vide Enum)
a.m - ao mês
a.a. - ao ano"
calculation EnumContractCalculation true Base de cálculo
referentialRateIndexerType EnumContractReferentialRateIndexerType true "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerSubType EnumContractReferentialRateIndexerSubType false "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerAdditionalInfo string false Campo livre para complementar a informação relativa ao Tipo de taxa referencial ou indexador.
[Restrição] Obrigatório para complementar a informação relativa ao Tipo de taxa referencial ou indexador, quando selecionada o tipo ou subtipo OUTRO.
preFixedRate number true Taxa pré fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
postFixedRate number¦null true Taxa pós fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045 .O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
additionalInfo string true Texto com informações adicionais sobre a composição das taxas de juros pactuadas.
[Restrição] Caso a instituição não possua a informação para compartilhamento, informar "NA".

FinancingsFinanceCharge

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
  "chargeRate": 0.07
}

Conjunto de informações referentes à identificação da operação de crédito

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato.
[Restrição] Obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato.
chargeRate number false Representa o valor do encargo em percentual pactuado no contrato. Exemplo: 0.0210 (=2.1%).

FinancingsInstalments

{
  "typeNumberOfInstalments": "MES",
  "totalNumberOfInstalments": 130632,
  "typeContractRemaining": "DIA",
  "contractRemainingNumber": 14600,
  "paidInstalments": 73,
  "dueInstalments": 57,
  "pastDueInstalments": 73,
  "balloonPayments": [
    {
      "dueDate": "2020-01-10",
      "currency": "BRL",
      "amount": 100000.04
    }
  ]
}

Conjunto de informações referentes às parcelas / prestações da operação de crédito de financiamentos contratada

Propriedades

Nome Tipo Obrigatório Descrição
typeNumberOfInstalments LoansInstalments/properties/typeNumberOfInstalments true Tipo de prazo total do contrato referente à modalidade de crédito informada.
totalNumberOfInstalments number¦null true Prazo Total segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
typeContractRemaining string true Tipo de prazo remanescente do contrato referente à modalidade de crédito informada.
contractRemainingNumber number¦null true Prazo Remanescente segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
paidInstalments number¦null true Quantidade de prestações pagas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
dueInstalments number¦null true Quantidade de prestações a vencer.(No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
pastDueInstalments number¦null true Quantidade de prestações vencidas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
balloonPayments [FinancingsBalloonPayment]¦null true Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada

Enumerated Values

Nome Código
typeContractRemaining DIA
typeContractRemaining SEMANA
typeContractRemaining MES
typeContractRemaining ANO
typeContractRemaining SEM_PRAZO_REMANESCENTE

FinancingsListContract

{
  "contractId": "92792126019929279212650822221989319252576",
  "brandName": "Organização A",
  "companyCnpj": "21128159000166",
  "productType": "FINANCIAMENTOS",
  "productSubType": "AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
  "ipocCode": "92792126019929279212650822221989319252576"
}

Conjunto de informações de contratos de financiamento mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento

Propriedades

Nome Tipo Obrigatório Descrição
contractId string true Identifica de forma única o contrato da operação de crédito do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.
productType EnumContractProductTypeFinancings true "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Financiamentos, Financiamentos rurais e Financiamentos imobiliários"
productSubType EnumContractProductSubTypeFinancings true "Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Aquisição de bens veículos automotores, Aquisição de bens de outros bens, Microcrédito, Custeio, Investimento, Industrialização, Comercialização, Financiamento habitacional SFH e Financiamento habitacional exceto SFH"
ipocCode string true Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres.

FinancingsPayments

{
  "paidInstalments": 73,
  "contractOutstandingBalance": 100000.04,
  "releases": [
    {
      "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
      "isOverParcelPayment": true,
      "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
      "paidDate": "2021-05-21",
      "currency": "BRL",
      "paidAmount": 100000.04,
      "overParcel": {
        "fees": [
          {
            "feeName": "Reavaliação periódica do bem",
            "feeCode": "aval_bem",
            "feeAmount": 100000.04
          }
        ],
        "charges": [
          {
            "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
            "chargeAdditionalInfo": "Informações adicionais",
            "chargeAmount": 100000.04
          }
        ]
      }
    }
  ]
}

Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de adiantamento a depositantes

Propriedades

Nome Tipo Obrigatório Descrição
paidInstalments number¦null true Quantidade total de parcelas pagas do contrato referente à Modalidade de Crédito informada.
contractOutstandingBalance number(double) true Valor necessario para o cliente liquidar a dívida.
releases [FinancingsReleases] true Lista dos pagamentos realizados no período

FinancingsReleases

{
  "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
  "isOverParcelPayment": true,
  "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
  "paidDate": "2021-05-21",
  "currency": "BRL",
  "paidAmount": 100000.04,
  "overParcel": {
    "fees": [
      {
        "feeName": "Reavaliação periódica do bem",
        "feeCode": "aval_bem",
        "feeAmount": 100000.04
      }
    ],
    "charges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais",
        "chargeAmount": 100000.04
      }
    ]
  }
}

Lista dos pagamentos realizados no período

Propriedades

Nome Tipo Obrigatório Descrição
paymentId string false Identificador de pagamento de responsabilidade de cada Instituição transmissora.
isOverParcelPayment boolean true Identifica se é um pagamento pactuado (false) ou avulso (true).
instalmentId string true Identificador de parcela, de responsabilidade de cada Instituição transmissora.
paidDate string(date) true Data efetiva do pagamento referente ao contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'.
Todos os valores monetários informados estão representados com a moeda vigente do Brasil.
paidAmount number(double) true Valor do pagamento referente ao contrato da modalidade de crédito consultada.
Expresso em valor monetário com até 4 casas decimais.
overParcel object true Objeto das tarifas e encargos que foram pagos fora da parcela.
» fees [object] true Lista das tarifas que foram pagas fora da parcela, só para pagamento avulso.
»» feeName string true Denominação da Tarifa pactuada
»» feeCode string true Sigla identificadora da tarifa pactuada
»» feeAmount number(double)¦null true Valor monetário da tarifa pactuada no contrato.
[Restrição] Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo
» charges [FinancingsChargeOverParcel] true Lista dos encargos que foram pagos fora da parcela.

FinancingsTaxesOverParcel

{
  "taxAdditionalInfo": "string",
  "taxpaidDate": "2020-01-10",
  "taxAmount": 100000.04
}

Propriedades

Nome Tipo Obrigatório Descrição
taxAdditionalInfo string false Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pago fora da parcela
taxpaidDate string true Traz a data de efetivação do pagamento do encargo pago fora da parcela, conforme especificação RFC-3339
taxAmount number(double) true Traz o valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com 4 casas decimais

FinancingsWarranties

{
  "currency": "BRL",
  "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
  "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
  "warrantyAmount": 200.0001
}

Conjunto de informações referentes à identificação da operação de crédito de financiamento.

Propriedades

Nome Tipo Obrigatório Descrição
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
warrantyType EnumWarrantyType true Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)
warrantySubType EnumWarrantySubType true Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).
warrantyAmount number(double) false Valor original da garantia. Valor monetário, expresso com até 4 casas decimais.

GeographicCoordinates

{
  "latitude": "-90.8365180",
  "longitude": "-180.836519"
}

Conjunto de informações, que correspondem aos valores das coordenadas geográficas em graus decimais, no Sistema de referência WGS84

Propriedades

Nome Tipo Obrigatório Descrição
latitude string false Informação da Latitude referente a geolocalização informada. Entre -90 e 90.p.ex. '-90.8365180'. (2 casas antes da vírgula, 11 posições)
longitude string false Informação da Longitude referente a geolocalização informada. Entre -180 e 180. p.ex '-180.836519.' (3 casas antes da vírgula, 11 posições)

InvoiceFinancingsBalloonPayment

{
  "dueDate": "2021-05-21",
  "currency": "BRL",
  "amount": 100000.04
}

Conjunto de informações relativas às parcelas não regulares do contrato da modalidade de crédito consultada

Propriedades

Nome Tipo Obrigatório Descrição
dueDate string(date) true Data de vencimento da parcela não regular a vencer do contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
amount number(double)¦null true Valor monetário da parcela não regular a vencer. Expresso em valor monetário com 4 casas decimais.

InvoiceFinancingsChargeOverParcel

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "string",
  "chargeAmount": 100000.04
}

Propriedades

Nome Tipo Obrigatório Descrição
chargeType string true Tipo de encargo pago fora da parcela
chargeAdditionalInfo string true Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pago fora da parcela
chargeAmount number(double)¦null true Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.

Enumerated Values

Nome Código
chargeType JUROS_REMUNERATORIOS_POR_ATRASO
chargeType MULTA_ATRASO_PAGAMENTO
chargeType JUROS_MORA_ATRASO
chargeType IOF_CONTRATACAO
chargeType IOF_POR_ATRASO
chargeType SEM_ENCARGO
chargeType OUTROS

InvoiceFinancingsCompletedPayment

{
  "paymentDate": "2020-01-10",
  "dueAmount": "200.00"
}

Propriedades

Nome Tipo Obrigatório Descrição
paymentDate string true Traz as datas de vencimento do pagamento do contrato da modalidade de crédito consultada, conforme especificação RFC-3339
dueAmount string true Traz o valor do pagamento do contrato da modalidade de crédito consultada. Expresso em valor monetário com 2 casas decimais

InvoiceFinancingsContract

{
  "contractNumber": "1324926521496",
  "ipocCode": "92792126019929279212650822221989319252576",
  "productName": "AD",
  "productType": "DIREITOS_CREDITORIOS_DESCONTADOS",
  "productSubType": "DESCONTO_CHEQUES",
  "contractDate": "2018-01-05",
  "disbursementDate": "2018-01-15",
  "settlementDate": "2018-01-15",
  "contractAmount": 100000.04,
  "currency": "BRL",
  "dueDate": "2028-01-15",
  "instalmentPeriodicity": "SEMANAL",
  "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
  "firstInstalmentDueDate": "2018-02-15",
  "CET": 0.29,
  "amortizationScheduled": "SAC",
  "amortizationScheduledAdditionalInfo": "NA",
  "interestRates": [
    {
      "taxType": "EFETIVA",
      "interestRateType": "SIMPLES",
      "taxPeriodicity": "AA",
      "calculation": "21/252",
      "referentialRateIndexerType": "PRE_FIXADO",
      "referentialRateIndexerSubType": "TJLP",
      "referentialRateIndexerAdditionalInfo": "",
      "preFixedRate": 0.6,
      "postFixedRate": 0.55,
      "additionalInfo": ""
    }
  ],
  "contractedFees": [
    {
      "feeName": "Excesso em Conta",
      "feeCode": "EXCESSO_CONTA",
      "feeChargeType": "UNICA",
      "feeCharge": "MINIMO",
      "feeAmount": 50,
      "feeRate": 50
    }
  ],
  "contractedFinanceCharges": [
    {
      "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
      "chargeAdditionalInfo": "string",
      "chargeRate": 0.07
    }
  ]
}

Propriedades

Nome Tipo Obrigatório Descrição
contractNumber string true Número do contrato dado pela instituição contratante.
ipocCode string true Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres.
productName string true Denominação/Identificação do nome da Modalidade da Operação de Crédito divulgado ao cliente
productType EnumContractProductTypeInvoiceFinancings true Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Direitos creditórios descontados
productSubType EnumContractProductSubTypeInvoiceFinancings true Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Desconto de duplicatas, Desconto de cheques, Antecipação da fatura do cartão de crédito, Outros direitos creditórios descontados, Outros títulos descontados
contractDate string(date) true Data de contratação da operação de crédito. Especificação RFC-3339
disbursementDate string(date) false Data do Desembolso do valor contratado. Especificação RFC-3339
settlementDate string(date) true Data de liquidação da operação.
[Restrição] Deve aceitar NA caso não seja retornado pela instituição.
contractAmount number(double)¦null true Valor contratado da operação. Expresso em valor monetário com até 4 casas decimais
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
dueDate string(date) true Data de vencimento Final da operação. Especificação RFC-3339
instalmentPeriodicity EnumContractInstalmentPeriodicity true "Informação relativa à periodicidade regular das parcelas. (Vide Enum)
sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"
instalmentPeriodicityAdditionalInfo string true Campo obrigatório para complementar a informação relativa à periodicidade de pagamento regular quando tiver a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa da periodicidade de pagamento regular, quando selecionada o tipo ou subtipo OUTRO.
firstInstalmentDueDate string(date) true Data de vencimento primeira parcela do principal
CET number true CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas).
O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
amortizationScheduled EnumContractAmortizationScheduled true Sistema de amortização (Vide Enum):
- SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta.
- PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando.
- SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC).
- SEM SISTEMA DE AMORTIZAÇÃO
amortizationScheduledAdditionalInfo string true Campo obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS, para os demais casos informar "NA".
interestRates [InvoiceFinancingsContractInterestRate] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFees [InvoiceFinancingsContractedFee] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFinanceCharges [InvoiceFinancingsFinanceCharge] true Lista que traz os encargos pactuados no contrato

InvoiceFinancingsContractData

{
  "contractId": "92792126019929279212650822221989319252576",
  "brandName": "Organização A",
  "companyCnpj": "21128159000166",
  "productType": "DIREITOS_CREDITORIOS_DESCONTADOS",
  "productSubType": "DESCONTO_CHEQUES",
  "ipocCode": "92792126019929279212650822221989319252576"
}

Conjunto de informações de antecipação de recebíveis mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento

Propriedades

Nome Tipo Obrigatório Descrição
contractId string true Identifica de forma única o contrato da operação de crédito do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.
productType EnumContractProductTypeInvoiceFinancings true Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Direitos creditórios descontados
productSubType EnumContractProductSubTypeInvoiceFinancings true Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Desconto de duplicatas, Desconto de cheques, Antecipação da fatura do cartão de crédito, Outros direitos creditórios descontados, Outros títulos descontados
ipocCode string true Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres.

InvoiceFinancingsContractedFee

{
  "feeName": "Excesso em Conta",
  "feeCode": "EXCESSO_CONTA",
  "feeChargeType": "UNICA",
  "feeCharge": "MINIMO",
  "feeAmount": 50,
  "feeRate": 50
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
feeName string true Denominação da Tarifa pactuada
feeCode string true Sigla identificadora da tarifa pactuada
feeChargeType EnumContractFeeChargeType true Tipo de cobrança para a tarifa pactuada no contrato.
feeCharge EnumContractFeeCharge true "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum)
- Mínimo
- Máximo
- Fixo
- Percentual"
feeAmount number¦null true Valor monetário da tarifa pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo.
feeRate number(double)¦null true Percentual que representa o valor da tarifa pactuada para o contrato.
[Restrição] Preenchimento obrigatório quando a forma de cobrança por Percentual. maxLength: 19

InvoiceFinancingsContractedWarranty

{
  "currency": "BRL",
  "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
  "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
  "warrantyAmount": 100000.04
}

Conjunto de informações referentes às garantias que avalizam a operação de crédito contratada

Propriedades

Nome Tipo Obrigatório Descrição
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
warrantyType EnumWarrantyType true Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)
warrantySubType EnumWarrantySubType true Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).
warrantyAmount number(double) false Valor original da garantia. Valor monetário, expresso com até 4 casas decimais.

InvoiceFinancingsContractInterestRate

{
  "taxType": "EFETIVA",
  "interestRateType": "SIMPLES",
  "taxPeriodicity": "AA",
  "calculation": "21/252",
  "referentialRateIndexerType": "PRE_FIXADO",
  "referentialRateIndexerSubType": "TJLP",
  "referentialRateIndexerAdditionalInfo": "",
  "preFixedRate": 0.6,
  "postFixedRate": 0.55,
  "additionalInfo": ""
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
taxType EnumContractTaxType true "Tipo de Taxa (vide Enum)
- NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal)
- EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"
interestRateType EnumContractInterestRateType true "Tipo de Juros (vide Enum)
- SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160)
- COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"
taxPeriodicity EnumContractTaxPeriodicity true "Periodicidade da taxa . (Vide Enum)
a.m - ao mês
a.a. - ao ano"
calculation EnumContractCalculation true Base de cálculo
referentialRateIndexerType EnumContractReferentialRateIndexerType true "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerSubType EnumContractReferentialRateIndexerSubType false "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerAdditionalInfo string false Campo livre para complementar a informação relativa ao Tipo de taxa referencial ou indexador.
[Restrição] Obrigatório para complementar a informação relativa ao Tipo de taxa referencial ou indexador, quando selecionada o tipo ou subtipo OUTRO.
preFixedRate number true Taxa pré fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
postFixedRate number¦null true Taxa pós fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045 .O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
additionalInfo string true Texto com informações adicionais sobre a composição das taxas de juros pactuadas

InvoiceFinancingsFinanceCharge

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "string",
  "chargeRate": 0.07
}

Conjunto de informações referentes à identificação da operação de crédito

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campos para informações adicionais.
[Restrição] Obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato.
chargeRate number false Representa o valor do encargo em percentual pactuado no contrato. Exemplo: 0.0210 (=2.1%).

InvoiceFinancingsInstalments

{
  "typeNumberOfInstalments": "MES",
  "totalNumberOfInstalments": 130632,
  "typeContractRemaining": "DIA",
  "contractRemainingNumber": 14600,
  "paidInstalments": 73,
  "dueInstalments": 57,
  "pastDueInstalments": 73,
  "balloonPayments": [
    {
      "dueDate": "2021-05-21",
      "currency": "BRL",
      "amount": 100000.04
    }
  ]
}

Conjunto de informações referentes às parcelas / prestações da operação de crédito contratada

Propriedades

Nome Tipo Obrigatório Descrição
typeNumberOfInstalments LoansInstalments/properties/typeNumberOfInstalments true Tipo de prazo total do contrato referente à modalidade de crédito informada.
totalNumberOfInstalments number¦null true Prazo Total segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
typeContractRemaining string true Tipo de prazo remanescente do contrato referente à modalidade de crédito informada.
contractRemainingNumber number¦null true Prazo Remanescente segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
paidInstalments number¦null true Quantidade de prestações pagas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
dueInstalments number¦null true Quantidade de prestações a vencer.(No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
pastDueInstalments number¦null true Quantidade de prestações vencidas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
balloonPayments [InvoiceFinancingsBalloonPayment]¦null true Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada

Enumerated Values

Nome Código
typeContractRemaining DIA
typeContractRemaining SEMANA
typeContractRemaining MES
typeContractRemaining ANO
typeContractRemaining SEM_PRAZO_REMANESCENTE

InvoiceFinancingsPaymentBank

{
  "payments": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "Parcela regular",
        "isOverParcelPayment": true,
        "instalmentId": "15",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Excesso em Conta",
              "feeCode": "EXCESSO_CONTA",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "string",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  }
}

Conjunto de informações de operações de crédito de direitos creditórios descontados contratadas

Propriedades

Nome Tipo Obrigatório Descrição
payments InvoiceFinancingsPayments true Conjunto de informações dos pagamentos referentes às operações de direitos creditórios descontados contratadas

InvoiceFinancingsPayments

{
  "paidInstalments": 73,
  "contractOutstandingBalance": 100000.04,
  "releases": [
    {
      "paymentId": "Parcela regular",
      "isOverParcelPayment": true,
      "instalmentId": "15",
      "paidDate": "2021-05-21",
      "currency": "BRL",
      "paidAmount": 100000.04,
      "overParcel": {
        "fees": [
          {
            "feeName": "Excesso em Conta",
            "feeCode": "EXCESSO_CONTA",
            "feeAmount": 100000.04
          }
        ],
        "charges": [
          {
            "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
            "chargeAdditionalInfo": "string",
            "chargeAmount": 100000.04
          }
        ]
      }
    }
  ]
}

Conjunto de informações dos pagamentos referentes às operações de direitos creditórios descontados contratadas

Propriedades

Nome Tipo Obrigatório Descrição
paidInstalments number¦null true Quantidade total de parcelas pagas do contrato referente à Modalidade de Crédito informada.
contractOutstandingBalance number(double) true Valor necessario para o cliente liquidar a dívida.
releases [InvoiceFinancingsReleases] true Lista dos pagamentos realizados no período.

InvoiceFinancingsReleases

{
  "paymentId": "Parcela regular",
  "isOverParcelPayment": true,
  "instalmentId": "15",
  "paidDate": "2021-05-21",
  "currency": "BRL",
  "paidAmount": 100000.04,
  "overParcel": {
    "fees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeAmount": 100000.04
      }
    ],
    "charges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "string",
        "chargeAmount": 100000.04
      }
    ]
  }
}

Lista dos pagamentos realizados no período

Propriedades

Nome Tipo Obrigatório Descrição
paymentId string false Identificador de pagamento de responsabilidade de cada Instituição transmissora.
isOverParcelPayment boolean true Identifica se é um pagamento pactuado (false) ou avulso (true).
instalmentId string true Identificador de parcela, de responsabilidade de cada Instituição transmissora.
paidDate string(date) true Data efetiva do pagamento referente ao contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. ''BRL'''.
Todos os valores monetários informados estão representados com a moeda vigente do Brasil.
paidAmount number(double) true Valor do pagamento referente ao contrato da modalidade de crédito consultada.
Expresso em valor monetário com até 4 casas decimais.
overParcel object true Objeto das tarifas e encargos que foram pagos fora da parcela.
» fees [object] true Lista das tarifas que foram pagas fora da parcela, só para pagamento avulso.
»» feeName string true Denominação da Tarifa pactuada
»» feeCode string true Sigla identificadora da tarifa pactuada
»» feeAmount number(double)¦null true Valor monetário da tarifa pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo
» charges [InvoiceFinancingsChargeOverParcel] true Lista dos encargos que foram pagos fora da parcela.

InvoiceFinancingsTaxesOverParcel

{
  "paymentId": "Parcela regular",
  "isOverParcelPayment": true,
  "instalmentId": "15",
  "paidDate": "2021-05-21",
  "currency": "BRL",
  "paidAmount": 100000.04,
  "overParcel": {
    "fee": [
      {
        "feeName": "reavaliação periódica do bem",
        "feeCode": "aval_bem",
        "feeAmount": 100000.04
      }
    ],
    "charge": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações Adicionais",
        "chargeAmount": 100000.04
      }
    ]
  }
}

Lista dos pagamentos realizados no período

Propriedades

Nome Tipo Obrigatório Descrição
paymentId string true Texto livre de responsabilidade de cada Instituição transmissora para identificar o pagamento informado
isOverParcelPayment boolean true Identifica se é um pagamento pactuado ou avulso.
instalmentId string true Texto livre de responsabilidade de cada Instituição transmissora para identificar a parcela informada
paidDate string(date) true Traz a data de efetivação do pagamento referente ao contrato da modalidade de crédito consultada, conforme especificação RFC-3339.
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. ''BRL''. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
paidAmount number(double) true Traz o valor do pagamento referente ao contrato da modalidade de crédito consultada. Expresso em valor monetário com 4 casas decimais
overParcel object true Objeto das tarifas e encargos que foram pagos fora da parcela.
» fee [object] true Lista das tarifas que foram pagas fora da parcela, só para pagamento avulso.
»» feeName string true Denominação da Tarifa avulsa paga fora da parcela
»» feeCode string true Sigla identificadora da tarifa avulsa fora da parcela
»» feeAmount number(double) true Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.
» charge [object] true
»» chargeType string true Tipo de encargo pago fora da parcela
»» chargeAdditionalInfo string true Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pago fora da parcela
»» chargeAmount number(double) true Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.

Enumerated Values

Nome Código
chargeType JUROS_REMUNERATORIOS_POR_ATRASO
chargeType MULTA_ATRASO_PAGAMENTO
chargeType JUROS_MORA_ATRASO
chargeType IOF_CONTRATACAO
chargeType IOF_POR_ATRASO
chargeType OUTROS

InvoiceFinancingsWarranties

{
  "currency": "BRL",
  "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
  "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
  "warrantyAmount": 200.0001
}

Conjunto de informações referentes às garantias que avalizam a operação de direitos creditórios descontados contratada

Propriedades

Nome Tipo Obrigatório Descrição
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
warrantyType EnumWarrantyType true Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)
warrantySubType EnumWarrantySubType true Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).
warrantyAmount number(double)¦null false Valor original da garantia. Valor monetário, expresso com até 4 casas decimais.

{
  "self": "https://api.banco.com.br/open-banking/api/v1/resource",
  "first": "https://api.banco.com.br/open-banking/api/v1/resource",
  "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
  "next": "https://api.banco.com.br/open-banking/api/v1/resource",
  "last": "https://api.banco.com.br/open-banking/api/v1/resource"
}

Referências para outros recusos da API requisitada.

Propriedades

Nome Tipo Obrigatório Descrição
self string(uri) true URI completo que gerou a resposta atual.
first string(uri) false URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
prev string(uri) false URI da página anterior dessa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
next string(uri) false URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
last string(uri) false URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta

LoansListContractData

{
  "contractId": "92792126019929279212650822221989319252576",
  "brandName": "Organização A",
  "companyCnpj": "21128159000166",
  "productType": "EMPRESTIMOS",
  "productSubType": "CREDITO_PESSOAL_COM_CONSIGNACAO",
  "ipocCode": "92792126019929279212650822221989319252576"
}

Conjunto de informações de contratos de empréstimo mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento

Propriedades

Nome Tipo Obrigatório Descrição
contractId string true Identifica de forma única o contrato da operação de crédito do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.
productType EnumContractProductTypeLoans true Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR).
productSubType EnumContractProductSubTypeLoans true Sub tipo da modalidades de crédito Empréstimos contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR).
ipocCode string true Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres.

LoansBalloonPayment

{
  "dueDate": "2021-05-21",
  "currency": "BRL",
  "amount": 100000.04
}

Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada.

Propriedades

Nome Tipo Obrigatório Descrição
dueDate string(date) true Data de vencimento da parcela não regular a vencer do contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
amount number(double)¦null true Valor monetário da parcela não regular a vencer. Expresso em valor monetário com 4 casas decimais.

LoansBank

{
  "warranties": {
    "currency": "BRL",
    "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
    "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
    "warrantyAmount": 200.0001
  }
}

Conjunto de informações de operações de crédito contratadas

Propriedades

Nome Tipo Obrigatório Descrição
warranties LoansWarranties true Conjunto de informações referentes à identificação da operação de crédito de empréstimo

LoansChargeOverParcel

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "Informações adicionais",
  "chargeAmount": 100000.04
}

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campo livre para preenchimento das informações adicionais referente ao encargo.
[Restrição] Obrigatório quando chargeType for igual 'OUTROS'.
chargeAmount number(double)¦null true Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.

LoansCompletedPayment

{
  "paymentDate": "2020-01-10",
  "dueAmount": "200.00"
}

Propriedades

Nome Tipo Obrigatório Descrição
paymentDate string true Traz as datas de vencimento do pagamento do contrato da modalidade de crédito consultada, conforme especificação RFC-3339
dueAmount string true Traz o valor do pagamento do contrato da modalidade de crédito consultada. Expresso em valor monetário com 2 casas decimais

LoansContract

{
  "contractNumber": "1324926521496",
  "ipocCode": "92792126019929279212650822221989319252576",
  "productName": "Crédito Pessoal Consignado",
  "productType": "EMPRESTIMOS",
  "productSubType": "CREDITO_PESSOAL_COM_CONSIGNACAO",
  "contractDate": "2018-01-05",
  "disbursementDate": "2018-01-15",
  "settlementDate": "2018-01-15",
  "contractAmount": 100000.04,
  "currency": "BRL",
  "dueDate": "2028-01-15",
  "instalmentPeriodicity": "SEMANAL",
  "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
  "firstInstalmentDueDate": "2018-02-15",
  "CET": 0.29,
  "amortizationScheduled": "SAC",
  "amortizationScheduledAdditionalInfo": "NA",
  "cnpjConsignee": "60500998000135",
  "interestRates": [
    {
      "taxType": "EFETIVA",
      "interestRateType": "SIMPLES",
      "taxPeriodicity": "AA",
      "calculation": "21/252",
      "referentialRateIndexerType": "PRE_FIXADO",
      "referentialRateIndexerSubType": "TJLP",
      "referentialRateIndexerAdditionalInfo": "Informações adicionais",
      "preFixedRate": 0.6,
      "postFixedRate": 0.55,
      "additionalInfo": "Informações adicionais"
    }
  ],
  "contractedFees": [
    {
      "feeName": "Renovação de cadastro",
      "feeCode": "CADASTRO",
      "feeChargeType": "UNICA",
      "feeCharge": "MINIMO",
      "feeAmount": 50,
      "feeRate": 0.25
    }
  ],
  "contractedFinanceCharges": [
    {
      "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
      "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
      "chargeRate": 0.07
    }
  ]
}

Conjunto de informações referentes à identificação da operação de crédito de empréstimo

Propriedades

Nome Tipo Obrigatório Descrição
contractNumber string true Número do contrato dado pela instituição contratante.
ipocCode string true Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres.
productName string true Denominação/Identificação do nome da Modalidade da Operação de Crédito divulgado ao cliente
productType EnumContractProductTypeLoans true Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR).
productSubType EnumContractProductSubTypeLoans true Sub tipo da modalidades de crédito Empréstimos contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR).
contractDate string(date) true Data de contratação da operação de crédito. Especificação RFC-3339
disbursementDate string(date) false Data do Desembolso do valor contratado. Especificação RFC-3339
settlementDate string(date) true Data de liquidação da operação.
[Restrição] Deve aceitar NA caso não seja retornado pela instituição.
contractAmount number(double)¦null true Valor contratado da operação. Expresso em valor monetário com até 4 casas decimais
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
dueDate string(date) true Data de vencimento Final da operação. Especificação RFC-3339
instalmentPeriodicity EnumContractInstalmentPeriodicity true "Informação relativa à periodicidade regular das parcelas. (Vide Enum)
sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"
instalmentPeriodicityAdditionalInfo string true Campo obrigatório para complementar a informação relativa à periodicidade de pagamento regular quando tiver a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa da periodicidade de pagamento regular, quando selecionada o tipo ou subtipo OUTRO.
firstInstalmentDueDate string(date) true Data de vencimento primeira parcela do principal
CET number true CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas).
O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
amortizationScheduled EnumContractAmortizationScheduled true Sistema de amortização (Vide Enum):
- SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta.
- PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando.
- SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC).
- SEM SISTEMA DE AMORTIZAÇÃO
amortizationScheduledAdditionalInfo string true Campo obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS, para os demais casos informar "NA".
cnpjConsignee string true CNPJ do consignante (CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica). Deve-se ter apenas os números do CNPJ, sem máscara. Informação adicional específica para Modalidade de Crédito: Empréstimo-Crédito Pessoal Consignado
interestRates [LoansContractInterestRate] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFees [LoansContractedFee] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFinanceCharges [LoansFinanceCharge] true Lista que traz os encargos pactuados no contrato

LoansContractedFee

{
  "feeName": "Renovação de cadastro",
  "feeCode": "CADASTRO",
  "feeChargeType": "UNICA",
  "feeCharge": "MINIMO",
  "feeAmount": 50,
  "feeRate": 0.25
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
feeName string true Denominação da Tarifa pactuada
feeCode string true Sigla identificadora da tarifa pactuada
feeChargeType EnumContractFeeChargeType true Tipo de cobrança para a tarifa pactuada no contrato.
feeCharge EnumContractFeeCharge true "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum)
- Mínimo
- Máximo
- Fixo
- Percentual"
feeAmount number¦null true Valor monetário da tarifa pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo.
feeRate number(double)¦null true É o valor da tarifa em percentual pactuada no contrato. Deve-se informar 4 casas decimais, mesmo que preenchidas com zeros. Exemplo: 0.2000
[Restrição] Preenchimento obrigatório quando a forma de cobrança for Percentual. Exemplo: 0.0150 = 1,5%.

LoansContractedWarranty

{
  "currency": "BRL",
  "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
  "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
  "warrantyAmount": 200.0001
}

Propriedades

None

LoansContractInterestRate

{
  "taxType": "EFETIVA",
  "interestRateType": "SIMPLES",
  "taxPeriodicity": "AA",
  "calculation": "21/252",
  "referentialRateIndexerType": "PRE_FIXADO",
  "referentialRateIndexerSubType": "TJLP",
  "referentialRateIndexerAdditionalInfo": "Informações adicionais",
  "preFixedRate": 0.6,
  "postFixedRate": 0.55,
  "additionalInfo": "Informações adicionais"
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
taxType EnumContractTaxType true "Tipo de Taxa (vide Enum)
- NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal)
- EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"
interestRateType EnumContractInterestRateType true "Tipo de Juros (vide Enum)
- SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160)
- COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"
taxPeriodicity EnumContractTaxPeriodicity true "Periodicidade da taxa . (Vide Enum)
a.m - ao mês
a.a. - ao ano"
calculation EnumContractCalculation true Base de cálculo
referentialRateIndexerType EnumContractReferentialRateIndexerType true "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerSubType EnumContractReferentialRateIndexerSubType false "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerAdditionalInfo string false Campo livre para complementar a informação relativa ao Tipo de taxa referencial ou indexador.
[Restrição] Obrigatório para complementar a informação relativa ao Tipo de taxa referencial ou indexador, quando selecionada o tipo ou subtipo OUTRO.
preFixedRate number true Taxa pré fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
postFixedRate number¦null true Taxa pós fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045 .O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)
additionalInfo string true Texto com informações adicionais sobre a composição das taxas de juros pactuadas.
[Restrição] Caso a instituição não possua a informação para compartilhamento, informar NA.

LoansFinanceCharge

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
  "chargeRate": 0.07
}

Conjunto de informações referentes à identificação da operação de crédito

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato.
[Restrição] Obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato.
chargeRate number false Representa o valor do encargo em percentual pactuado no contrato. Exemplo: 0.0210 (=2.1%).

LoansInstalments

{
  "typeNumberOfInstalments": "MES",
  "totalNumberOfInstalments": 130632,
  "typeContractRemaining": "DIA",
  "contractRemainingNumber": 14600,
  "paidInstalments": 73,
  "dueInstalments": 57,
  "pastDueInstalments": 73,
  "balloonPayments": [
    {
      "dueDate": "2021-05-21",
      "currency": "BRL",
      "amount": 100000.04
    }
  ]
}

Conjunto de informações referentes ao prazo remanescente e às parcelas de uma operação de crédito de empréstimos

Propriedades

Nome Tipo Obrigatório Descrição
typeNumberOfInstalments string true Tipo de prazo total do contrato referente à modalidade de crédito informada.
totalNumberOfInstalments number¦null true Prazo Total segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
typeContractRemaining string true Tipo de prazo remanescente do contrato referente à modalidade de crédito informada.
contractRemainingNumber number¦null true Prazo Remanescente segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
paidInstalments number¦null true Quantidade de prestações pagas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
dueInstalments number¦null true Quantidade de prestações a vencer.(No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
pastDueInstalments number¦null true Quantidade de prestações vencidas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
balloonPayments [LoansBalloonPayment]¦null true Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada

Enumerated Values

Nome Código
typeNumberOfInstalments DIA
typeNumberOfInstalments SEMANA
typeNumberOfInstalments MES
typeNumberOfInstalments ANO
typeNumberOfInstalments SEM_PRAZO_TOTAL
typeContractRemaining DIA
typeContractRemaining SEMANA
typeContractRemaining MES
typeContractRemaining ANO
typeContractRemaining SEM_PRAZO_REMANESCENTE

LoansPayments

{
  "paidInstalments": 73,
  "contractOutstandingBalance": 100000.04,
  "releases": [
    {
      "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
      "isOverParcelPayment": true,
      "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
      "paidDate": "2021-05-21",
      "currency": "BRL",
      "paidAmount": 100000.04,
      "overParcel": {
        "fees": [
          {
            "feeName": "Reavaliação periódica do bem",
            "feeCode": "aval_bem",
            "feeAmount": 100000.04
          }
        ],
        "charges": [
          {
            "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
            "chargeAdditionalInfo": "Informações adicionais",
            "chargeAmount": 100000.04
          }
        ]
      }
    }
  ]
}

Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de empréstimos.

Propriedades

Nome Tipo Obrigatório Descrição
paidInstalments number¦null true Quantidade total de parcelas pagas do contrato referente à Modalidade de Crédito informada.
contractOutstandingBalance number(double) true Valor necessário para o cliente liquidar a dívida.
releases [LoansReleases] true Lista dos pagamentos realizados no período

LoansReleases

{
  "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
  "isOverParcelPayment": true,
  "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
  "paidDate": "2021-05-21",
  "currency": "BRL",
  "paidAmount": 100000.04,
  "overParcel": {
    "fees": [
      {
        "feeName": "Reavaliação periódica do bem",
        "feeCode": "aval_bem",
        "feeAmount": 100000.04
      }
    ],
    "charges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais",
        "chargeAmount": 100000.04
      }
    ]
  }
}

Lista dos pagamentos realizados no período

Propriedades

Nome Tipo Obrigatório Descrição
paymentId string false Identificador de pagamento de responsabilidade de cada Instituição transmissora.
isOverParcelPayment boolean true Identifica se é um pagamento pactuado (false) ou avulso (true).
instalmentId string true Identificador de parcela, de responsabilidade de cada Instituição transmissora.
paidDate string(date) true Data efetiva do pagamento referente ao contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'.
Todos os valores monetários informados estão representados com a moeda vigente do Brasil.
paidAmount number(double) true Valor do pagamento referente ao contrato da modalidade de crédito consultada.
Expresso em valor monetário com até 4 casas decimais.
overParcel object true Objeto das tarifas e encargos que foram pagos fora da parcela.
» fees [LoansFeeOverParcel] true Lista das tarifas que foram pagas fora da parcela, só para pagamento avulso.
» charges [LoansChargeOverParcel] true Lista dos encargos que foram pagos fora da parcela.

LoansFeeOverParcel

{
  "feeName": "Reavaliação periódica do bem",
  "feeCode": "aval_bem",
  "feeAmount": 100000.04
}

Propriedades

Nome Tipo Obrigatório Descrição
feeName string true Denominação da Tarifa pactuada
feeCode string true Sigla identificadora da tarifa pactuada
feeAmount number(double)¦null true Valor monetário da tarifa pactuada no contrato.
[Restrição] Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo

LoansWarranties

{
  "currency": "BRL",
  "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
  "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
  "warrantyAmount": 200.0001
}

Conjunto de informações referentes à identificação da operação de crédito de empréstimo

Propriedades

Nome Tipo Obrigatório Descrição
currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
warrantyType EnumWarrantyType true Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)
warrantySubType EnumWarrantySubType true Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).
warrantyAmount number(double) false Valor original da garantia. Valor monetário, expresso com até 4 casas decimais.
[Restrição] Preenchimento obrigatório se tipo de garantia selecionada for diferente de 'SEM_TIPO_GARANTIA'

Meta

{
  "totalRecords": 1,
  "totalPages": 1,
  "requestDateTime": "2021-05-21T08:30:00Z"
}

Meta informações referente a API requisitada.

Propriedades

Nome Tipo Obrigatório Descrição
totalRecords integer(int32) true Número total de registros no resultado
totalPages integer(int32) true Número total de páginas no resultado
requestDateTime string(date-time) true Data e hora da consulta, conforme especificação RFC-3339, formato UTC.

Nationality

{
  "otherNationalitiesInfo": "CAN",
  "documents": [
    {
      "type": "SOCIAL SEC",
      "number": "423929299",
      "expirationDate": "2021-05-21",
      "issueDate": "2021-05-21",
      "country": "Brasil",
      "typeAdditionalInfo": "Informações adicionais."
    }
  ]
}

Objeto que agrupa informações relativas à nacionalidade da Pessoa Natural

Propriedades

Nome Tipo Obrigatório Descrição
otherNationalitiesInfo string true Campo de preenchimento obrigatório caso o cliente não possua nacionalidade brasileira. Preencher indicando todas suas demais nacionalidades utilizando o código de pais de acordo com o código “alpha3” do ISO-3166.p.ex.'CAN'
documents [NationalityOtherDocument] true Lista que traz relação de documentos complementares de pessoas com nacionalidade diferente de brasileira

NationalityOther

{
  "otherNationalitiesInfo": "CAN",
  "documents": [
    {
      "type": "SOCIAL SEC",
      "number": "423929299",
      "expirationDate": "2021-05-21",
      "issueDate": "2021-05-21",
      "country": "Brasil",
      "typeAdditionalInfo": "Informações adicionais."
    }
  ]
}

Conjunto de informações específicas para cliente que possue nacionalidade diferente da brasileira

Propriedades

Nome Tipo Obrigatório Descrição
otherNationalitiesInfo string false Campo de preenchimento obrigatório caso o cliente não possua nacionalidade brasileira. Preencher indicando todas suas demais nacionalidades utilizando o código de pais de acordo com o código “alpha3” do ISO-3166.p.ex.'CAN'
documents [NationalityOtherDocument] false Lista que traz relação de documentos complementares de pessoas com nacionalidade diferente de brasileira

NationalityOtherDocument

{
  "type": "SOCIAL SEC",
  "number": "423929299",
  "expirationDate": "2021-05-21",
  "issueDate": "2021-05-21",
  "country": "Brasil",
  "typeAdditionalInfo": "Informações adicionais."
}

Propriedades

Nome Tipo Obrigatório Descrição
type string true Tipo de documento. Campo livre, de preenchimento obrigatório quando a nacionalidade for diferente de brasileira. Informar tipo e número do documento, além da, vigência e demais informações complementares para se identificar o documento de pessoa estrangeira
number string true Número de identificação do documento. Campo livre, de preenchimento obrigatório quando a nacionalidade for diferente de brasileira. Informar o número do documento e demais informações complementares para se identificar o documento de pessoa estrangeira
expirationDate string(date) true Data de validade do documento informado, conforme especificação RFC-3339.
issueDate string(date) true Data de emissão do documento, conforme especificação RFC-3339.
country string false Nome do país
typeAdditionalInfo string false Campo livre de preenchimento obrigatório se selecionada a opção OUTROS tipos de documentos.

PartiesParticipation

{
  "personType": "PESSOA_NATURAL",
  "type": "SOCIO",
  "civilName": "Juan Kaique Cláudio Fernandes",
  "socialName": "Karina",
  "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
  "tradeName": "Mundo da Eletronica",
  "startDate": "2021-05-21T08:30:00Z",
  "shareholding": "0.51",
  "documentType": "CPF",
  "documentNumber": "73677831148",
  "documentAdditionalInfo": "CNH",
  "documentCountry": "CAN",
  "documentExpirationDate": "2021-05-21",
  "documentIssueDate": "2021-05-21"
}

Lista relativa às informações das partes envolvidas, como: sócio e /ou administrador

Propriedades

Nome Tipo Obrigatório Descrição
personType string true Indica se a pessoa da parte envolvida é uma pessoa natural ou juridica
type EnumPartiesParticipationType true Indica o perfil de atuação na empresa. Vide Enum
O administrador é o responsável por desempenhar todas as funções administrativas da empresa. É ele quem conduz o dia a dia do negócio, assinando documentos, respondendo legalmente pela sociedade, realizando empréstimos e outras ações gerenciais. Apesar de estar na linha de frente da empresa, ele é denominado sócio por também possuir sua parcela de participação no Capital Social.
Sócio não tem qualquer envolvimento nas atividades administrativas da sociedade.
civilName string true Nome civil completo da pessoa natural (Direito fundamental da pessoa, o nome civil é aquele atribuído à pessoa natural desde o registro de seu nascimento, com o qual será identificada por toda a sua vida, bem como após a sua morte)
socialName string true Nome social da pessoa natural, se houver. (aquele pelo qual travestis e transexuais se reconhecem, bem como são identificados por sua comunidade e em seu meio social, conforme Decreto Local)
companyName string true Razão social da empresa consultada é o termo registrado sob o qual uma pessoa jurídica (PJ) se individualiza e exerce suas atividades. Também pode ser chamada por denominação social ou firma empresarial
tradeName string false Nome fantasia da pessoa jurídica, se houver. (É o nome popular da empresa, utilizado para divulgação da empresa e melhor fixação com o público). De preenchimento obrigatório se houver
startDate string(date-time) true Data de início da participação, conforme especificação RFC-3339.
shareholding string true Percentual de participação societária (informar com 2 casas decimais). Sócio só deve ser informado se sua participação societária for igual ou superior a 25%. p.ex: 0.25 (Este valor representa 25%. O valor '1 'representa 100%)
documentType EnumPartiesParticipationDocumentType true Tipo do documento informado.
documentNumber string true Número do documento informado. Campo Texto Livre para preencher número e dígito do documento se houver
documentAdditionalInfo string false Campo livre, de preenchimento obrigatório quando o documento informado tiver informações complementares relevantes para a sua identificação
documentCountry string true País de emissão do documento. Código do pais de acordo com o código alpha3 do ISO-3166.
documentExpirationDate string(date) true Data de validade do documento informado, conforme especificação RFC-3339.
documentIssueDate string(date) false Data de emissão do documento, conforme especificação RFC-3339.

Enumerated Values

Nome Código
personType PESSOA_NATURAL
personType PESSOA_JURIDICA

PersonalDocument

{
  "cpfNumber": "25872252137",
  "passportNumber": "75253468744594820620",
  "passportCountry": "CAN",
  "passportExpirationDate": "2021-05-21",
  "passportIssueDate": "2021-05-21"
}

Objeto agrupador de informações relativas a Documentos da pessoa natural

Propriedades

Nome Tipo Obrigatório Descrição
cpfNumber string true Número completo do CPF. Atributo que corresponde às informações mínimas exigidas pela Regulamentação em vigor. O CPF é o Cadastro de Pessoa natural. Ele é um documento feito pela Receita Federal e serve para identificar os contribuintes. O CPF é uma numeração com 11 dígitos, que só mudam por decisão judicial. O documento é emitido pela receita federal
passportNumber string true Número do Passaporte. Documento concedido aos viajantes por uma autoridade
administrativa nacional a fim de certificar sua identidade perante autoridades
estrangeiras. De preenchimento obrigatório. Aplicável somente à Pessoa natural
residente no exterior desobrigada de inscrição no CPF.
passportCountry string true Pais de emissão do passaporte. Código do pais de acordo com o código 'alpha3' do ISO-3166.
passportExpirationDate string(date) true Data vigência do Passaporte, conforme especificação RFC-3339.
passportIssueDate string(date) false Data de emissão do passaporte, conforme especificação RFC-3339.

OverdraftLimitsBalance

{
  "type": "VALOR_UTILIZADO_LIMITE",
  "amount": 500
}

Propriedades

Nome Tipo Obrigatório Descrição
type EnumOverdraftLimitType true Tipo de saldo informado: (vide Enum)
- Valor utilizado do limite do cheque especial
- Saldo a descoberto em conta de depósito à vista (relativo ao excesso do limite de cheque especial ou ao adiantamento a depositante)
amount number¦null true Valor do saldo. Expressa em valor monetário com 4 casas decimais.

PersonalFinancialRelationData

{
  "updateDateTime": "2021-05-21T08:30:00Z",
  "startDate": "2021-05-21T08:30:00Z",
  "productsServicesType": [
    "SEGURO"
  ],
  "productsServicesTypeAdditionalInfo": "Informações adicionais do tipo de serviço.",
  "procurators": [
    {
      "type": "PROCURADOR",
      "cpfNumber": "73677831148",
      "civilName": "Elza Milena Stefany Teixeira",
      "socialName": "Carlos"
    }
  ],
  "accounts": [
    {
      "compeCode": "001",
      "branchCode": "6272",
      "number": "24550245",
      "checkDigit": "4",
      "type": "CONTA_DEPOSITO_A_VISTA",
      "subtype": "INDIVIDUAL"
    }
  ]
}

Objeto que reúne as informações relativas ao relacionamento do cliente junto à Instituição. Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente e seus representantes

Propriedades

Nome Tipo Obrigatório Descrição
updateDateTime string(date-time) true Data e hora da atualização do bloco de Relacionamento, conforme especificação RFC-3339, formato UTC.
startDate string(date-time) true Data de início de relacionamento com a Instituição Financeira. Deve trazer o menor valor entre a informação reportada ao BACEN pelo DOC 3040 e CCS.
productsServicesType [EnumProductServiceType] true [Lista com a relação dos produtos e serviços com contrato vigente.]
productsServicesTypeAdditionalInfo string false Informações adicionais do tipo de serviço.
[Restrição] Campo obrigatório quando productsServicesType for 'OUTROS'.
procurators [PersonalProcurator] true Lista dos representantes. De preenchimento obrigatório se houver representante.
accounts [object] true Lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.
» compeCode string true Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas).O Compe (Sistema de Compensação de Cheques e Outros Papéis) é um sistema que identifica e processa as compensações bancárias. Ele é representado por um código de três dígitos que serve como identificador de bancos, sendo assim, cada instituição bancária possui um número exclusivo
» branchCode string true Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)
» number string true Número da conta
» checkDigit string true Dígito da conta
» type string true Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum
Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante
Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado
Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de 2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'.
SEM_TIPO_CONTA - para reporte nos dados de identificação quando o cliente não possuir conta na instituição transmissora.
» subtype string true Subtipo de conta (vide Enum):
Conta individual - possui um único titular
Conta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta.
Conta conjunta solidária - é a modalidade cujos titulares podem realizar movimentações de forma isolada, isto é, sem que seja necessária a autorização dos demais titulares.
SEM_SUB_TIPO_CONTA - para reporte nos dados de identificação quando o cliente não possuir conta na instituição transmissora.

Enumerated Values

Nome Código
type CONTA_DEPOSITO_A_VISTA
type CONTA_POUPANCA
type CONTA_PAGAMENTO_PRE_PAGA
type SEM_TIPO_CONTA
subtype INDIVIDUAL
subtype CONJUNTA_SIMPLES
subtype CONJUNTA_SOLIDARIA
subtype SEM_SUB_TIPO_CONTA

PersonalIdentificationData

{
  "updateDateTime": "2021-05-21T08:30:00Z",
  "personalId": "578-psd-71md6971kjh-2d414",
  "brandName": "Organização A",
  "civilName": "Juan Kaique Cláudio Fernandes",
  "socialName": "string",
  "birthDate": "2021-05-21",
  "maritalStatusCode": "SOLTEIRO",
  "maritalStatusAdditionalInfo": "",
  "sex": "FEMININO",
  "companyCnpj": [
    "01773247000103",
    "01773247000563"
  ],
  "documents": {
    "cpfNumber": "25872252137",
    "passportNumber": "75253468744594820620",
    "passportCountry": "CAN",
    "passportExpirationDate": "2021-05-21",
    "passportIssueDate": "2021-05-21"
  },
  "otherDocuments": [
    {
      "type": "CNH",
      "typeAdditionalInfo": "NA",
      "number": "15291908",
      "checkDigit": "P",
      "additionalInfo": "SSP/SP",
      "expirationDate": "2021-05-21"
    }
  ],
  "hasBrazilianNationality": false,
  "nationality": [
    {
      "otherNationalitiesInfo": "CAN",
      "documents": [
        {
          "type": "SOCIAL SEC",
          "number": "423929299",
          "expirationDate": "2021-05-21",
          "issueDate": "2021-05-21",
          "country": "Brasil",
          "typeAdditionalInfo": "Informações adicionais."
        }
      ]
    }
  ],
  "filiation": [
    {
      "type": "PAI",
      "civilName": "Marcelo Cláudio Fernandes",
      "socialName": "NA"
    }
  ],
  "contacts": {
    "postalAddresses": [
      {
        "isMain": true,
        "address": "Av Naburo Ykesaki, 1270",
        "additionalInfo": "Fundos",
        "districtName": "Centro",
        "townName": "Marília",
        "ibgeTownCode": "3550308",
        "countrySubDivision": "SP",
        "postCode": "17500001",
        "country": "Brasil",
        "countryCode": "BRA",
        "geographicCoordinates": {
          "latitude": "-90.8365180",
          "longitude": "-180.836519"
        }
      }
    ],
    "phones": [
      {
        "isMain": true,
        "type": "FIXO",
        "additionalInfo": "Informações adicionais.",
        "countryCallingCode": "55",
        "areaCode": "19",
        "number": "29875132",
        "phoneExtension": "932"
      }
    ],
    "emails": [
      {
        "isMain": true,
        "email": "karinafernandes-81@br.inter.net"
      }
    ]
  }
}

Conjunto de informações relativas a Identificação ou seja a ação e o efeito de identificar de forma única a pessoa natural através de seus dados cadastrais.

Propriedades

Nome Tipo Obrigatório Descrição
updateDateTime string(date-time) true
personalId string true Um identificador único e imutável usado para identificar o recurso cliente pessoa natural. Este identificador não tem significado para o cliente que deu o consentimento
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
civilName string¦null true Nome civil completo da pessoa natural (Direito fundamental da pessoa, o nome civil é aquele atribuído à pessoa natural desde o registro de seu nascimento, com o qual será identificada por toda a sua vida, bem como após a sua morte)
socialName string true Nome social da pessoa natural, se houver. (aquele pelo qual travestis e transexuais se reconhecem, bem como são identificados por sua comunidade e em seu meio social, conforme Decreto Local)
birthDate string(date) true Data de nascimento, conforme especificação RFC-3339
maritalStatusCode EnumMaritalStatusCode true Estado marital do cliente.
maritalStatusAdditionalInfo string false Campo livre para complementar a informação relativa ao estado marital, quando selecionada a opção 'OUTROS'
sex EnumSex true "Conjunto de características anatomofisiológicas que distinguem o homem e a mulher: Sexo masculino; sexo feminino".
No caso de não ser feminino nem masculino é classificado como 'OUTRO'
companyCnpj [string] true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica.
Deve-se ter apenas os números do CNPJ, sem máscara
documents PersonalDocument true Objeto agrupador de informações relativas a Documentos da pessoa natural
otherDocuments [PersonalOtherDocument] true Relação dos demais documentos
hasBrazilianNationality boolean true Informa se o Cliente tem nacionalidade brasileira.
nationality [Nationality] true [Objeto que agrupa informações relativas à nacionalidade da Pessoa Natural]
filiation [object] true
» type EnumFiliationType true Tipo de filiação.
» civilName string true Nome civil completo da pessoa relativa à filiação.
(Direito fundamental da pessoa, o nome civil é aquele atribuído à pessoa natural desde o registro de seu nascimento,
com o qual será identificada por toda a sua vida, bem como após a sua morte)
» socialName string false Nome social da pessoa natural, se houver.
(aquele pelo qual travestis e transexuais se reconhecem,
bem como são identificados por sua comunidade e em seu meio social, conforme Decreto Local)
contacts PersonalContacts true Conjunto de informações referentes às formas para contatar o cliente.

PersonalOtherDocument

{
  "type": "CNH",
  "typeAdditionalInfo": "NA",
  "number": "15291908",
  "checkDigit": "P",
  "additionalInfo": "SSP/SP",
  "expirationDate": "2021-05-21"
}

Propriedades

Nome Tipo Obrigatório Descrição
type EnumPersonalOtherDocumentType true Relação dos Códigos dos demais documentos pessoa natural.
typeAdditionalInfo string true Campo livre de preenchimento obrigatório se selecionada a opção OUTROS tipos de documentos
number string true Identificação/Número do documento informado
checkDigit string true Dígito verificador do documento informado. De preenchimento obrigatório se o documento informado tiver dígito verificador
additionalInfo string false Para documentos em que se aplique o uso do local de emissão o mesmo deve ser enviado mandatoriamente, com a informação de órgão e UF. Exemplo: RG, local de emissão: SSP/RS.
[Restrição] Obrigatório quando o Local de Emissão do Documento for relevante.
expirationDate string(date) true Data de validade do documento informado, conforme especificação RFC-3339.

PersonalProcurator

{
  "type": "PROCURADOR",
  "cpfNumber": "73677831148",
  "civilName": "Elza Milena Stefany Teixeira",
  "socialName": "Carlos"
}

Propriedades

Nome Tipo Obrigatório Descrição
type EnumProcuratorsTypePersonal true Tipo de representante.
Representante legal - Nome Civil completo da Pessoa Natural que represente uma entidade ou uma empresa e é nomeado em seu ato constitutivo, ou seja, no contrato social ou estatuto social.
Procurador - é qualquer pessoa que represente a Pessoa Natural em algum negócio, mediante autorização escrita do mesmo.
cpfNumber string true Número completo do CPF. O CPF é o Cadastro de Pessoa natural. Ele é um documento feito pela Receita Federal e serve para identificar os contribuintes. O CPF é uma numeração com 11 dígitos, que só mudam por decisão judicial. O documento é emitido pela receita federal
civilName string true Nome civil completo da pessoa natural. (Direito fundamental da pessoa, o nome civil é aquele atribuído à pessoa natural desde o registro de seu nascimento, com o qual será identificada por toda a sua vida, bem como após a sua morte)
socialName string true Nome social da pessoa natural, se houver. (aquele pelo qual travestis e transexuais se reconhecem, bem como são identificados por sua comunidade e em seu meio social, conforme Decreto Nº 51.180, de 14 de janeiro de 2010)

PersonalQualificationData

{
  "updateDateTime": "2021-05-21T08:30:00Z",
  "companyCnpj": "50685362000135",
  "occupationCode": "RECEITA_FEDERAL",
  "occupationDescription": "01",
  "informedIncome": {
    "frequency": "DIARIA",
    "amount": 100000.04,
    "currency": "BRL",
    "date": "2021-05-21"
  },
  "informedPatrimony": {
    "amount": 100000.04,
    "currency": "BRL",
    "year": 2010
  }
}

Conjunto de informações relativas ao processo de qualificação. Considera-se qualificação as informações que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira

Propriedades

Nome Tipo Obrigatório Descrição
updateDateTime string(date-time) true Data e hora da atualização do bloco, conforme especificação RFC-3339
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica.
Deve-se ter apenas os números do CNPJ, sem máscara
occupationCode EnumOccupationMainCodeType true Traz a relação dos códigos relativos à ocupação.
occupationDescription string true Campo livre, de preenchimento obrigatório. Traz o código da ocupação ou o descritivo da ocupação, se selecionada a opção 'OUTRO'
informedIncome object true
» frequency EnumInformedIncomeFrequency true Traz a frequência ou período da renda informada.
» amount number(double)¦null true Valor total da renda informada. Expresso em valor monetário com 4 casas decimais.
Renda primária indica os montantes a pagar ou a receber em troca do uso temporário de recursos financeiros, trabalho ou ativos não financeiros não produzidos, a saber, remuneração de trabalhadores, renda de investimentos e demais rendas primárias.
Fazem parte da primeira a remuneração do trabalho assalariado (salários e ordenados); da segunda, renda de investimento direto, renda de investimento em carteira, renda de outros investimentos e renda de ativos de reserva; e da terceira, tributos sobre a produção e importação, subsídios e aluguéis.
Fonte: Banco Central do Brasil – Departamento Econômico
» currency string true Moeda referente ao valor da renda, segundo modelo ISO-4217.
» date string(date) true Data da renda, conforme especificação RFC-3339.
informedPatrimony object true
» amount number(double)¦null true Valor do patrimônio informado. Expresso em valor monetário com 4 casas decimais.
Patrimônio é o conjunto de bens vinculado a uma pessoa ou a uma entidade.
» currency string true Moeda referente ao valor do patrimônio, segundo modelo ISO-4217.
» year number¦null true Ano de referência do Patrimônio, conforme especificação RFC-3339.

ResponseAccountList

{
  "data": [
    {
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "type": "CONTA_DEPOSITO_A_VISTA",
      "compeCode": "001",
      "branchCode": "6272",
      "number": "94088392",
      "checkDigit": "4",
      "accountID": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [AccountData] true Lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseAccountBalances

{
  "data": {
    "availableAmount": 100000.04,
    "availableAmountCurrency": "BRL",
    "blockedAmount": 99.9999,
    "blockedAmountCurrency": "BRL",
    "automaticallyInvestedAmount": 2566449494219,
    "automaticallyInvestedAmountCurrency": "BRL"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data AccountBalancesData true Conjunto de informações das Contas de: depósito à vista, poupança e de pagamento pré-paga
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseAccountIdentification

{
  "data": {
    "compeCode": "001",
    "branchCode": "6272",
    "number": "24550245",
    "checkDigit": "4",
    "type": "CONTA_DEPOSITO_A_VISTA",
    "subtype": "INDIVIDUAL",
    "currency": "BRL"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data AccountIdentificationData true Conjunto dos atributos que caracterizam as Contas de: depósito à vista, poupança e de pagamento pré-paga
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseAccountOverdraftLimits

{
  "data": {
    "overdraftContractedLimit": 99.9999,
    "overdraftContractedLimitCurrency": "BRL",
    "overdraftUsedLimit": 10000.9999,
    "overdraftUsedLimitCurrency": "BRL",
    "unarrangedOverdraftAmount": 99.9999,
    "unarrangedOverdraftAmountCurrency": "BRL"
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data AccountOverdraftLimitsData true Conjunto de informações da Conta de: depósito à vista
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseAccountTransactions

{
  "data": [
    {
      "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
      "completedAuthorisedPaymentType": "TRANSACAO_EFETIVADA",
      "creditDebitType": "DEBITO",
      "transactionName": "TRANSFCWAR5TXHCX5I9IDBHML8082N8NEO30M6LNNG7ANAYIJYRM00ZBZPU8",
      "type": "PIX",
      "amount": 500.54,
      "transactionCurrency": "BRL",
      "transactionDate": "2021-01-07",
      "partieCnpjCpf": "43908445778",
      "partiePersonType": "PESSOA_NATURAL",
      "partieCompeCode": "001",
      "partieBranchCode": "6272",
      "partieNumber": "67890854360",
      "partieCheckDigit": "4"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [AccountTransactionsData] true Lista dos lançamentos referentes às transações realizadas e de lançamentos futuros para as contas de: depósito à vista, poupança e de pagamento pré-paga
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseBusinessCustomersFinancialRelation

{
  "data": {
    "updateDateTime": "2020-07-21T08:30:00Z",
    "startDate": "2020-07-21T08:30:00Z",
    "productsServicesType": [
      "SEGURO"
    ],
    "procurators": [
      {
        "type": "PROCURADOR",
        "cnpjCpfNumber": "73677831148",
        "civilName": "Elza Milena Stefany Teixeira",
        "socialName": "Stefany Teixeirass"
      }
    ],
    "accounts": [
      {
        "compeCode": "001",
        "branchCode": "6272",
        "number": "24550245",
        "checkDigit": "4",
        "type": "CONTA_DEPOSITO_A_VISTA"
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data BusinessFinancialRelationData true Objeto que reúne as informações relativas ao relacionamento do cliente junto à Instituição. Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente e seus representantes
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseBusinessCustomersIdentification

{
  "data": [
    {
      "updateDateTime": "2021-05-21T08:30:00Z",
      "businessId": "578-psd-71md6971kjh-2d414",
      "brandName": "Organização A",
      "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
      "tradeName": "Mundo da Eletronica",
      "incorporationDate": "2021-05-21T08:30:00Z",
      "cnpjNumber": "50685362006773",
      "companyCnpjNumber": [
        "50685362000135",
        "50685362006555"
      ],
      "otherDocuments": [
        {
          "type": "EIN",
          "number": "128328453",
          "country": "CAN",
          "expirationDate": "2021-05-21"
        }
      ],
      "parties": [
        {
          "personType": "PESSOA_NATURAL",
          "type": "SOCIO",
          "civilName": "Juan Kaique Cláudio Fernandes",
          "socialName": "Karina",
          "companyName": "Luiza e Benjamin Assessoria Jurídica Ltda",
          "tradeName": "Mundo da Eletronica",
          "startDate": "2021-05-21T08:30:00Z",
          "shareholding": "0.51",
          "documentType": "CPF",
          "documentNumber": "73677831148",
          "documentAdditionalInfo": "CNH",
          "documentCountry": "CAN",
          "documentExpirationDate": "2021-05-21",
          "documentIssueDate": "2021-05-21"
        }
      ],
      "contacts": {
        "postalAddresses": [
          {
            "isMain": true,
            "address": "Av Naburo Ykesaki, 1270",
            "additionalInfo": "Fundos",
            "districtName": "Centro",
            "townName": "Marília",
            "ibgeTownCode": "3550308",
            "countrySubDivision": "SP",
            "postCode": "17500001",
            "country": "Brasil",
            "countryCode": "BRA",
            "geographicCoordinates": {
              "latitude": "-90.8365180",
              "longitude": "-180.836519"
            }
          }
        ],
        "phones": [
          {
            "isMain": true,
            "type": "FIXO",
            "additionalInfo": "Informações adicionais.",
            "countryCallingCode": "55",
            "areaCode": "19",
            "number": "29875132",
            "phoneExtension": "932"
          }
        ],
        "emails": [
          {
            "isMain": true,
            "email": "karinafernandes-81@br.inter.net"
          }
        ]
      }
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [BusinessIdentificationData] true [Conjunto de informações relativas a Identificação ou seja a ação e o efeito de identificar de forma única a pessoa jurídica através de seus dados cadastrais]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseBusinessCustomersQualification

{
  "data": {
    "updateDateTime": "2021-05-21T08:30:00Z",
    "economicActivities": [
      {
        "code": 8599604,
        "isMain": true
      }
    ],
    "informedRevenue": {
      "frequency": "DIARIA",
      "frequencyAdditionalInfo": "Informações adicionais",
      "amount": 100000.04,
      "currency": "BRL",
      "year": 2010
    },
    "informedPatrimony": {
      "amount": 100000.04,
      "currency": "BRL",
      "date": "2021-05-21"
    }
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data BusinessQualificationData true Objeto que reúne as informações relativas ao processo de qualificação. Considera-se qualificação as informações que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseCreditCardAccountsList

{
  "data": [
    {
      "creditCardAccountId": "XXZTR3459087",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "name": "Cartão Universitário",
      "productType": "OUTROS",
      "productAdditionalInfo": "string",
      "creditCardNetwork": "VISA",
      "networkAdditionalInfo": "NA"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [CreditCardAccountsData] true Conjunto de informações de conta de pagamento pós-paga
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseCreditCardAccountsIdentification

{
  "data": {
    "name": "Cartão Universitário",
    "productType": "OUTROS",
    "productAdditionalInfo": "OURO_INTERNACIONAL",
    "creditCardNetwork": "VISA",
    "networkAdditionalInfo": "NA",
    "paymentMethod": {
      "identificationNumber": "4453",
      "isMultipleCreditCard": true
    }
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data CreditCardsAccountsIdentificationData true Conjunto de informações referentes à identificação da conta de pagamento pós-paga.
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseCreditCardAccountsBills

{
  "data": [
    {
      "billId": "3459087XXZTR",
      "dueDate": "2021-05-21",
      "billTotalAmount": 100000.04,
      "billTotalAmountCurrency": "BRL",
      "billMinimumAmount": 1000.04,
      "billMinimumAmountCurrency": "BRL",
      "isInstalment": false,
      "financeCharges": [
        {
          "type": "JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA",
          "additionalInfo": "Informações Adicionais",
          "amount": 100000.04,
          "currency": "BRL"
        }
      ],
      "payments": [
        {
          "valueType": "VALOR_PAGAMENTO_FATURA_PARCELADO",
          "paymentDate": "2021-05-21",
          "paymentMode": "DEBITO_CONTA_CORRENTE",
          "amount": 100000.04,
          "currency": "BRL"
        }
      ]
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [CreditCardAccountsBillsData] true [Conjunto das informações referentes a lista de faturas associadas à conta de pagamento pós-paga]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseCreditCardAccountsLimits

{
  "data": [
    {
      "creditLineLimitType": "LIMITE_CREDITO_TOTAL",
      "consolidationType": "CONSOLIDADO",
      "identificationNumber": "4453",
      "lineName": "CREDITO_A_VISTA",
      "lineNameAdditionalInfo": "Informações adicionais e complementares.",
      "isLimitFlexible": true,
      "limitAmountCurrency": "BRL",
      "limitAmount": 100000.0001,
      "usedAmountCurrency": "BRL",
      "usedAmount": 7500.05,
      "availableAmountCurrency": "BRL",
      "availableAmount": 2499.95
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [CreditCardAccountsLimitsData] true [Conjunto de informações referentes aos limites da conta de pagamento pós-paga.]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseCreditCardAccountsTransactions

{
  "data": [
    {
      "transactionId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
      "identificationNumber": "4453",
      "lineName": "CREDITO_A_VISTA",
      "transactionName": "PGTO",
      "billId": "MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM",
      "creditDebitType": "DEBITO",
      "transactionType": "CASHBACK",
      "transactionalAdditionalInfo": "string",
      "paymentType": "A_VISTA",
      "feeType": "ANUIDADE",
      "feeTypeAdditionalInfo": "string",
      "otherCreditsType": "CREDITO_ROTATIVO",
      "otherCreditsAdditionalInfo": "string",
      "chargeIdentificator": "PARCELA_1",
      "chargeNumber": 3,
      "brazilianAmount": 100000.04,
      "amount": 100000.04,
      "currency": "BRL",
      "transactionDate": "2021-05-21",
      "billPostDate": "2021-05-21",
      "payeeMCC": 5137
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [CreditCardAccountsTransaction] true [Lista que traz os valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseError

{
  "errors": [
    {
      "code": "string",
      "title": "string",
      "detail": "string"
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
errors [object] true
» code string true Código de erro específico do endpoint
» title string true Título legível por humanos deste erro específico
» detail string true Descrição legível por humanos deste erro específico
meta Meta false Meta informações referente a API requisitada.

ResponsePersonalCustomersFinancialRelation

{
  "data": {
    "updateDateTime": "2021-05-21T08:30:00Z",
    "startDate": "2021-05-21T08:30:00Z",
    "productsServicesType": [
      "SEGURO"
    ],
    "productsServicesTypeAdditionalInfo": "Informações adicionais do tipo de serviço.",
    "procurators": [
      {
        "type": "PROCURADOR",
        "cpfNumber": "73677831148",
        "civilName": "Elza Milena Stefany Teixeira",
        "socialName": "Carlos"
      }
    ],
    "accounts": [
      {
        "compeCode": "001",
        "branchCode": "6272",
        "number": "24550245",
        "checkDigit": "4",
        "type": "CONTA_DEPOSITO_A_VISTA",
        "subtype": "INDIVIDUAL"
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data PersonalFinancialRelationData true Objeto que reúne as informações relativas ao relacionamento do cliente junto à Instituição. Considera-se relacionamento as informações que permitam conhecer desde quando a pessoa consultada é cliente da instituição, bem como um indicador dos produtos e serviços que ela consome atualmente e seus representantes
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponsePersonalCustomersIdentification

{
  "data": [
    {
      "updateDateTime": "2021-05-21T08:30:00Z",
      "personalId": "578-psd-71md6971kjh-2d414",
      "brandName": "Organização A",
      "civilName": "Juan Kaique Cláudio Fernandes",
      "socialName": "string",
      "birthDate": "2021-05-21",
      "maritalStatusCode": "SOLTEIRO",
      "maritalStatusAdditionalInfo": "",
      "sex": "FEMININO",
      "companyCnpj": [
        "01773247000103",
        "01773247000563"
      ],
      "documents": {
        "cpfNumber": "25872252137",
        "passportNumber": "75253468744594820620",
        "passportCountry": "CAN",
        "passportExpirationDate": "2021-05-21",
        "passportIssueDate": "2021-05-21"
      },
      "otherDocuments": [
        {
          "type": "CNH",
          "typeAdditionalInfo": "NA",
          "number": "15291908",
          "checkDigit": "P",
          "additionalInfo": "SSP/SP",
          "expirationDate": "2021-05-21"
        }
      ],
      "hasBrazilianNationality": false,
      "nationality": [
        {
          "otherNationalitiesInfo": "CAN",
          "documents": [
            {
              "type": "SOCIAL SEC",
              "number": "423929299",
              "expirationDate": "2021-05-21",
              "issueDate": "2021-05-21",
              "country": "Brasil",
              "typeAdditionalInfo": "Informações adicionais."
            }
          ]
        }
      ],
      "filiation": [
        {
          "type": "PAI",
          "civilName": "Marcelo Cláudio Fernandes",
          "socialName": "NA"
        }
      ],
      "contacts": {
        "postalAddresses": [
          {
            "isMain": true,
            "address": "Av Naburo Ykesaki, 1270",
            "additionalInfo": "Fundos",
            "districtName": "Centro",
            "townName": "Marília",
            "ibgeTownCode": "3550308",
            "countrySubDivision": "SP",
            "postCode": "17500001",
            "country": "Brasil",
            "countryCode": "BRA",
            "geographicCoordinates": {
              "latitude": "-90.8365180",
              "longitude": "-180.836519"
            }
          }
        ],
        "phones": [
          {
            "isMain": true,
            "type": "FIXO",
            "additionalInfo": "Informações adicionais.",
            "countryCallingCode": "55",
            "areaCode": "19",
            "number": "29875132",
            "phoneExtension": "932"
          }
        ],
        "emails": [
          {
            "isMain": true,
            "email": "karinafernandes-81@br.inter.net"
          }
        ]
      }
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [PersonalIdentificationData] true [Conjunto de informações relativas a Identificação ou seja a ação e o efeito de identificar de forma única a pessoa natural através de seus dados cadastrais.]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponsePersonalCustomersQualification

{
  "data": {
    "updateDateTime": "2021-05-21T08:30:00Z",
    "companyCnpj": "50685362000135",
    "occupationCode": "RECEITA_FEDERAL",
    "occupationDescription": "01",
    "informedIncome": {
      "frequency": "DIARIA",
      "amount": 100000.04,
      "currency": "BRL",
      "date": "2021-05-21"
    },
    "informedPatrimony": {
      "amount": 100000.04,
      "currency": "BRL",
      "year": 2010
    }
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data PersonalQualificationData true Conjunto de informações relativas ao processo de qualificação. Considera-se qualificação as informações que permitam as instituições apreciar, avaliar, caracterizar e classificar o cliente com a finalidade de conhecer o seu perfil de risco e sua capacidade econômico-financeira
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseFinancingsContract

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "Crédito Pessoal Consignado",
    "productType": "FINANCIAMENTOS",
    "productSubType": "AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "Informações adicionais",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": "Informações adicionais"
      }
    ],
    "contractedFees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 100000.04,
        "feeRate": 0.2
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data FinancingsContract true Conjunto de informações referentes à identificação da operação de crédito de financiamentos
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseFinancingsInstalments

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2020-01-10",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data FinancingsInstalments true Conjunto de informações referentes às parcelas / prestações da operação de crédito de financiamentos contratada
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseFinancingsContractList

{
  "data": [
    {
      "contractId": "92792126019929279212650822221989319252576",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "productType": "FINANCIAMENTOS",
      "productSubType": "AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [FinancingsListContract] true [Conjunto de informações de contratos de financiamento mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseFinancingsPayments

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
        "isOverParcelPayment": true,
        "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Reavaliação periódica do bem",
              "feeCode": "aval_bem",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "Informações adicionais",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data FinancingsPayments true Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de adiantamento a depositantes
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseFinancingsWarranties

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 200.0001
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [FinancingsWarranties] true [Conjunto de informações referentes à identificação da operação de crédito de financiamento.]
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseLoansContractList

{
  "data": [
    {
      "contractId": "92792126019929279212650822221989319252576",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "productType": "EMPRESTIMOS",
      "productSubType": "CREDITO_PESSOAL_COM_CONSIGNACAO",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [LoansListContractData] true Conjunto de informações de contratos de empréstimo mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseLoansContract

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "Crédito Pessoal Consignado",
    "productType": "EMPRESTIMOS",
    "productSubType": "CREDITO_PESSOAL_COM_CONSIGNACAO",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "cnpjConsignee": "60500998000135",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "Informações adicionais",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": "Informações adicionais"
      }
    ],
    "contractedFees": [
      {
        "feeName": "Renovação de cadastro",
        "feeCode": "CADASTRO",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 50,
        "feeRate": 0.25
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data LoansContract true Conjunto de informações referentes à identificação da operação de crédito de empréstimo
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseLoansInstalments

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2021-05-21",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data LoansInstalments true Conjunto de informações referentes ao prazo remanescente e às parcelas de uma operação de crédito de empréstimos
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseLoansPayments

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
        "isOverParcelPayment": true,
        "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Reavaliação periódica do bem",
              "feeCode": "aval_bem",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "Informações adicionais",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data LoansPayments true Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de empréstimos.
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseLoansWarranties

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 200.0001
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [LoansWarranties] true Conjunto de informações referentes à identificação da operação de crédito de empréstimo
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseInvoiceFinancingsContract

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "AD",
    "productType": "DIREITOS_CREDITORIOS_DESCONTADOS",
    "productSubType": "DESCONTO_CHEQUES",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": ""
      }
    ],
    "contractedFees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 50,
        "feeRate": 50
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "string",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data InvoiceFinancingsContract true
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseInvoiceFinancingsContractList

{
  "data": [
    {
      "contractId": "92792126019929279212650822221989319252576",
      "brandName": "Organização A",
      "companyCnpj": "21128159000166",
      "productType": "DIREITOS_CREDITORIOS_DESCONTADOS",
      "productSubType": "DESCONTO_CHEQUES",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [InvoiceFinancingsContractData] true Conjunto de informações de contratos de direitos creditórios descontados mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseInvoiceFinancingsInstalments

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2021-05-21",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data InvoiceFinancingsInstalments true Conjunto de informações referentes às parcelas / prestações da operação de crédito contratada
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseInvoiceFinancingsPayments

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "Parcela regular",
        "isOverParcelPayment": true,
        "instalmentId": "15",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Excesso em Conta",
              "feeCode": "EXCESSO_CONTA",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "string",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data InvoiceFinancingsPayments true Conjunto de informações dos pagamentos referentes às operações de direitos creditórios descontados contratadas
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseInvoiceFinancingsWarranties

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 100000.04
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [InvoiceFinancingsContractedWarranty] true Conjunto de informações referentes às garantias que avalizam a operação de direitos creditórios descontados contratada
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseUnarrangedAccountOverdraftContract

{
  "data": {
    "contractNumber": "1324926521496",
    "ipocCode": "92792126019929279212650822221989319252576",
    "productName": "AD",
    "productType": "ADIANTAMENTO_A_DEPOSITANTES",
    "productSubType": "ADIANTAMENTO_A_DEPOSITANTES",
    "contractDate": "2018-01-05",
    "disbursementDate": "2018-01-15",
    "settlementDate": "2018-01-15",
    "contractAmount": 100000.04,
    "currency": "BRL",
    "dueDate": "2028-01-15",
    "instalmentPeriodicity": "SEMANAL",
    "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
    "firstInstalmentDueDate": "2018-02-15",
    "CET": 0.29,
    "amortizationScheduled": "SAC",
    "amortizationScheduledAdditionalInfo": "NA",
    "interestRates": [
      {
        "taxType": "EFETIVA",
        "interestRateType": "SIMPLES",
        "taxPeriodicity": "AA",
        "calculation": "21/252",
        "referentialRateIndexerType": "PRE_FIXADO",
        "referentialRateIndexerSubType": "TJLP",
        "referentialRateIndexerAdditionalInfo": "Informações adicionais",
        "preFixedRate": 0.6,
        "postFixedRate": 0.55,
        "additionalInfo": "Informações adicionais"
      }
    ],
    "contractedFees": [
      {
        "feeName": "Excesso em Conta",
        "feeCode": "EXCESSO_CONTA",
        "feeChargeType": "UNICA",
        "feeCharge": "MINIMO",
        "feeAmount": 50,
        "feeRate": 50
      }
    ],
    "contractedFinanceCharges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
        "chargeRate": 0.07
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data UnarrangedAccountOverdraftContractData true Conjunto de informações referentes à identificação da operação de crédito de adiantamento a depositantes
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseUnarrangedAccountOverdraftContractList

{
  "data": [
    {
      "contractId": "xcjklompowsa279212650822221989319aadrtjk",
      "brandName": "Organização A",
      "companyCnpj": "60500998000144",
      "productType": "ADIANTAMENTO_A_DEPOSITANTES",
      "productSubType": "ADIANTAMENTO_A_DEPOSITANTES",
      "ipocCode": "92792126019929279212650822221989319252576"
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [UnarrangedAccountOverdraftContractListData] true Conjunto de informações de contratos de adiantamento a depositantes mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseUnarrangedAccountOverdraftInstalments

{
  "data": {
    "typeNumberOfInstalments": "MES",
    "totalNumberOfInstalments": 130632,
    "typeContractRemaining": "DIA",
    "contractRemainingNumber": 14600,
    "paidInstalments": 73,
    "dueInstalments": 57,
    "pastDueInstalments": 73,
    "balloonPayments": [
      {
        "dueDate": "2020-01-10",
        "currency": "BRL",
        "amount": 100000.04
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data UnarrangedAccountOverdraftInstalmentsData true Conjunto de informações referentes ao prazo remanescente e às parcelas de uma operação de crédito de adiantamento a depositante
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseUnarrangedAccountOverdraftPayments

{
  "data": {
    "paidInstalments": 73,
    "contractOutstandingBalance": 100000.04,
    "releases": [
      {
        "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
        "isOverParcelPayment": true,
        "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
        "paidDate": "2021-05-21",
        "currency": "BRL",
        "paidAmount": 100000.04,
        "overParcel": {
          "fees": [
            {
              "feeName": "Saque a descoberto",
              "feeCode": "Saque descoberto",
              "feeAmount": 100000.04
            }
          ],
          "charges": [
            {
              "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
              "chargeAdditionalInfo": "Informações adicionais",
              "chargeAmount": 100000.04
            }
          ]
        }
      }
    ]
  },
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data UnarrangedAccountOverdraftPaymentsData true Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de adiantamento a depositantes
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

ResponseUnarrangedAccountOverdraftWarranties

{
  "data": [
    {
      "currency": "BRL",
      "warrantyType": "CESSAO_DIREITOS_CREDITORIOS",
      "warrantySubType": "NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO",
      "warrantyAmount": 100000.04
    }
  ],
  "links": {
    "self": "https://api.banco.com.br/open-banking/api/v1/resource",
    "first": "https://api.banco.com.br/open-banking/api/v1/resource",
    "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
    "next": "https://api.banco.com.br/open-banking/api/v1/resource",
    "last": "https://api.banco.com.br/open-banking/api/v1/resource"
  },
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data [object] true Conjunto de informações referentes às garantias que avalizam a operação de crédito de adiantamento a depositantes
» currency string true Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil
» warrantyType EnumWarrantyType true Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)
» warrantySubType EnumWarrantySubType true Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12).
» warrantyAmount number(double) true Valor original da garantia. Valor monetário, expresso com até 4 casas decimais.
links Links true Referências para outros recusos da API requisitada.
meta Meta true Meta informações referente a API requisitada.

UnarrangedAccountOverdraftBalloonPayment

{
  "dueDate": "2020-01-10",
  "currency": "BRL",
  "amount": 100000.04
}

Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada.

Propriedades

Nome Tipo Obrigatório Descrição
dueDate string(date) true Data de vencimento da parcela não regular a vencer do contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil
amount number(double)¦null true Valor monetário da parcela não regular a vencer. Expresso em valor monetário com 4 casas decimais.

UnarrangedAccountOverdraftChargeOverParcel

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "Informações adicionais",
  "chargeAmount": 100000.04
}

Lista dos encargos que foram pagos fora da parcela.

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campo livre para preenchimento das informações adicionais referente ao encargo.
[Restrição] Obrigatório quando chargeType for igual OUTROS.
chargeAmount number(double)¦null true Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.

UnarrangedAccountOverdraftCompletedPayment

{
  "paymentDate": "2020-01-10",
  "dueAmount": "200.00"
}

Propriedades

Nome Tipo Obrigatório Descrição
paymentDate string true Traz as datas de vencimento do pagamento do contrato da modalidade de crédito consultada, conforme especificação RFC-3339
dueAmount string true Traz o valor do pagamento do contrato da modalidade de crédito consultada. Expresso em valor monetário com 2 casas decimais

UnarrangedAccountOverdraftContractData

{
  "contractNumber": "1324926521496",
  "ipocCode": "92792126019929279212650822221989319252576",
  "productName": "AD",
  "productType": "ADIANTAMENTO_A_DEPOSITANTES",
  "productSubType": "ADIANTAMENTO_A_DEPOSITANTES",
  "contractDate": "2018-01-05",
  "disbursementDate": "2018-01-15",
  "settlementDate": "2018-01-15",
  "contractAmount": 100000.04,
  "currency": "BRL",
  "dueDate": "2028-01-15",
  "instalmentPeriodicity": "SEMANAL",
  "instalmentPeriodicityAdditionalInfo": "Informações adicionais sobre periodicidade",
  "firstInstalmentDueDate": "2018-02-15",
  "CET": 0.29,
  "amortizationScheduled": "SAC",
  "amortizationScheduledAdditionalInfo": "NA",
  "interestRates": [
    {
      "taxType": "EFETIVA",
      "interestRateType": "SIMPLES",
      "taxPeriodicity": "AA",
      "calculation": "21/252",
      "referentialRateIndexerType": "PRE_FIXADO",
      "referentialRateIndexerSubType": "TJLP",
      "referentialRateIndexerAdditionalInfo": "Informações adicionais",
      "preFixedRate": 0.6,
      "postFixedRate": 0.55,
      "additionalInfo": "Informações adicionais"
    }
  ],
  "contractedFees": [
    {
      "feeName": "Excesso em Conta",
      "feeCode": "EXCESSO_CONTA",
      "feeChargeType": "UNICA",
      "feeCharge": "MINIMO",
      "feeAmount": 50,
      "feeRate": 50
    }
  ],
  "contractedFinanceCharges": [
    {
      "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
      "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
      "chargeRate": 0.07
    }
  ]
}

Conjunto de informações referentes à identificação da operação de crédito de adiantamento a depositantes

Propriedades

Nome Tipo Obrigatório Descrição
contractNumber string true Número do contrato dado pela instituição contratante.
ipocCode string true "Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres."
productName string true "Denominação/Identificação do nome da Modalidade da Operação de Crédito divulgado ao cliente"
productType EnumUnarrangedAccountOverdraftProductType true "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Adiantamento a depositantes, Direitos creditórios descontados Empréstimos, Financiamentos, Financiamentos rurais e Financiamentos imobiliários"
productSubType EnumUnarrangedAccountOverdraftSubProductType true "Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Adiantamento a depositantes
contractDate string(date) true Data de contratação da operação de crédito. Especificação RFC-3339
disbursementDate string(date) false Data do Desembolso do valor contratado. Especificação RFC-3339
settlementDate string(date) true Data de liquidação da operação.
[Restrição] Deve aceitar NA caso não seja retornado pela instituição.
contractAmount number(double)¦null true Valor contratado da operação. Expresso em valor monetário com até 4 casas decimais
currency string true "Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'
Todos os valores monetários informados estão representados com a moeda vigente do Brasil"
dueDate string(date) true Data de vencimento Final da operação. Especificação RFC-3339
instalmentPeriodicity EnumContractInstalmentPeriodicity true "Informação relativa à periodicidade regular das parcelas. (Vide Enum)
sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"
instalmentPeriodicityAdditionalInfo string true Campo obrigatório para complementar a informação relativa à periodicidade de pagamento regular quando tiver a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa da periodicidade de pagamento regular, quando selecionada o tipo ou subtipo OUTRO.
firstInstalmentDueDate string(date) true Data de vencimento primeira parcela do principal
CET number true "CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas).
O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)"
amortizationScheduled EnumContractAmortizationScheduled true Sistema de amortização (Vide Enum):
- SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta.
- PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando.
- SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC).
- SEM SISTEMA DE AMORTIZAÇÃO
amortizationScheduledAdditionalInfo string true Campo obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS.
[Restrição] Obrigatório para complementar a informação relativa à amortização quando selecionada a opção OUTROS, para os demais casos informar "NA".
interestRates [UnarrangedAccountOverdraftContractInterestRate] true [Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito]
contractedFees [UnarrangedAccountOverdraftContractedFee] true Lista que traz a relação de tarifas pactuadas no contrato
contractedFinanceCharges [UnarrangedAccountOverdraftFinanceCharge] true Lista que traz os encargos pactuados no contrato

UnarrangedAccountOverdraftContractedFee

{
  "feeName": "Excesso em Conta",
  "feeCode": "EXCESSO_CONTA",
  "feeChargeType": "UNICA",
  "feeCharge": "MINIMO",
  "feeAmount": 50,
  "feeRate": 50
}

Propriedades

Nome Tipo Obrigatório Descrição
feeName string true Denominação da Tarifa pactuada
feeCode string true Sigla identificadora da tarifa pactuada
feeChargeType EnumContractFeeChargeType true Tipo de cobrança para a tarifa pactuada no contrato.
feeCharge EnumContractFeeCharge true "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum)
- Mínimo
- Máximo
- Fixo
- Percentual"
feeAmount number true Valor monetário da tarifa pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo.
feeRate number(double)¦null true É o valor da tarifa em percentual pactuada no contrato. Deve-se informar 4 casas decimais, mesmo que preenchidas com zeros. Exemplo: 0.2000
[Restrição] Preenchimento obrigatório quando a forma de cobrança for Percentual. Exemplo: 0.0150 = 1,5%.

UnarrangedAccountOverdraftContractInterestRate

{
  "taxType": "EFETIVA",
  "interestRateType": "SIMPLES",
  "taxPeriodicity": "AA",
  "calculation": "21/252",
  "referentialRateIndexerType": "PRE_FIXADO",
  "referentialRateIndexerSubType": "TJLP",
  "referentialRateIndexerAdditionalInfo": "Informações adicionais",
  "preFixedRate": 0.6,
  "postFixedRate": 0.55,
  "additionalInfo": "Informações adicionais"
}

Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito

Propriedades

Nome Tipo Obrigatório Descrição
taxType EnumContractTaxType true "Tipo de Taxa (vide Enum)
- NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal)
- EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"
interestRateType EnumContractInterestRateType true "Tipo de Juros (vide Enum)
- SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160)
- COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"
taxPeriodicity EnumContractTaxPeriodicity true "Periodicidade da taxa . (Vide Enum)
a.m - ao mês
a.a. - ao ano"
calculation EnumContractCalculation true Base de cálculo
referentialRateIndexerType EnumContractReferentialRateIndexerType true "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerSubType EnumContractReferentialRateIndexerSubType false "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
referentialRateIndexerAdditionalInfo string false Campo livre para complementar a informação relativa ao Tipo de taxa referencial ou indexador.
[Restrição] Obrigatório para complementar a informação relativa ao Tipo de taxa referencial ou indexador, quando selecionada o tipo ou subtipo OUTRO.
preFixedRate number true "Taxa pré fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)"
postFixedRate number true "Taxa pós fixada aplicada sob o contrato da modalidade crédito.
p.ex. 0.0045 .O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros
(representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)"
additionalInfo string true Texto com informações adicionais sobre a composição das taxas de juros pactuadas

UnarrangedAccountOverdraftContractListData

{
  "contractId": "xcjklompowsa279212650822221989319aadrtjk",
  "brandName": "Organização A",
  "companyCnpj": "60500998000144",
  "productType": "ADIANTAMENTO_A_DEPOSITANTES",
  "productSubType": "ADIANTAMENTO_A_DEPOSITANTES",
  "ipocCode": "92792126019929279212650822221989319252576"
}

Conjunto de informações de contratos de adiantamento a depositantes mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento.

Propriedades

Nome Tipo Obrigatório Descrição
contractId string true Um identificador único e imutável usado para identificar o contrato de uma operação de crédito. Este identificador não tem significado para o tomador do crédito
brandName string true Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes
companyCnpj string true Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara
productType EnumUnarrangedAccountOverdraftProductType true "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Adiantamento a depositantes, Direitos creditórios descontados Empréstimos, Financiamentos, Financiamentos rurais e Financiamentos imobiliários"
productSubType EnumUnarrangedAccountOverdraftSubProductType true "Sub tipo da modalidades de crédito contratadas, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
Adiantamento a depositantes
ipocCode string true "Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
- CNPJ da instituição: 8 (oito) posições iniciais;
- Modalidade da operação: 4 (quatro) posições;
- Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
- Código do cliente: O número de posições varia conforme o tipo do cliente:
1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
- Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres."

UnarrangedAccountOverdraftFinanceCharge

{
  "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "chargeAdditionalInfo": "Informações adicionais sobre encargos.",
  "chargeRate": 0.07
}

Propriedades

Nome Tipo Obrigatório Descrição
chargeType EnumContractFinanceChargeType true Tipo de encargo pactuado no contrato.
chargeAdditionalInfo string true Campo para informações adicionais.
[Restrição] Obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato.
chargeRate number false Representa o valor do encargo em percentual pactuado no contrato. Exemplo: 0.0210 (=2.1%).

UnarrangedAccountOverdraftInstalmentsData

{
  "typeNumberOfInstalments": "MES",
  "totalNumberOfInstalments": 130632,
  "typeContractRemaining": "DIA",
  "contractRemainingNumber": 14600,
  "paidInstalments": 73,
  "dueInstalments": 57,
  "pastDueInstalments": 73,
  "balloonPayments": [
    {
      "dueDate": "2020-01-10",
      "currency": "BRL",
      "amount": 100000.04
    }
  ]
}

Conjunto de informações referentes ao prazo remanescente e às parcelas de uma operação de crédito de adiantamento a depositante

Propriedades

Nome Tipo Obrigatório Descrição
typeNumberOfInstalments LoansInstalments/properties/typeNumberOfInstalments true Tipo de prazo total do contrato referente à modalidade de crédito informada.
totalNumberOfInstalments number¦null true Prazo Total segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
typeContractRemaining string true Tipo de prazo remanescente do contrato referente à modalidade de crédito informada.
contractRemainingNumber number¦null true Prazo Remanescente segundo o tipo (dia, semana, mês, ano) referente à Modalidade de Crédito informada.
paidInstalments number¦null true Quantidade de prestações pagas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
dueInstalments number¦null true Quantidade de prestações a vencer.(No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
pastDueInstalments number¦null true Quantidade de prestações vencidas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)
balloonPayments [UnarrangedAccountOverdraftBalloonPayment]¦null true Lista que traz as datas de vencimento e valor das parcelas não regulares do contrato da modalidade de crédito consultada

Enumerated Values

Nome Código
typeContractRemaining DIA
typeContractRemaining SEMANA
typeContractRemaining MES
typeContractRemaining ANO
typeContractRemaining SEM_PRAZO_REMANESCENTE

UnarrangedAccountOverdraftPaymentsData

{
  "paidInstalments": 73,
  "contractOutstandingBalance": 100000.04,
  "releases": [
    {
      "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
      "isOverParcelPayment": true,
      "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
      "paidDate": "2021-05-21",
      "currency": "BRL",
      "paidAmount": 100000.04,
      "overParcel": {
        "fees": [
          {
            "feeName": "Saque a descoberto",
            "feeCode": "Saque descoberto",
            "feeAmount": 100000.04
          }
        ],
        "charges": [
          {
            "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
            "chargeAdditionalInfo": "Informações adicionais",
            "chargeAmount": 100000.04
          }
        ]
      }
    }
  ]
}

Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de adiantamento a depositantes

Propriedades

Nome Tipo Obrigatório Descrição
paidInstalments number¦null true Quantidade total de parcelas pagas do contrato referente à Modalidade de Crédito informada.
contractOutstandingBalance number(double) true Valor necessario para o cliente liquidar a dívida.
releases [UnarrangedAccountOverdraftReleases] true Lista dos pagamentos realizados no período

UnarrangedAccountOverdraftReleases

{
  "paymentId": "XlthLXpBLVowLTldW2EtekEtWjAtOVwtXXswLDk5fSQ",
  "isOverParcelPayment": true,
  "instalmentId": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH",
  "paidDate": "2021-05-21",
  "currency": "BRL",
  "paidAmount": 100000.04,
  "overParcel": {
    "fees": [
      {
        "feeName": "Saque a descoberto",
        "feeCode": "Saque descoberto",
        "feeAmount": 100000.04
      }
    ],
    "charges": [
      {
        "chargeType": "JUROS_REMUNERATORIOS_POR_ATRASO",
        "chargeAdditionalInfo": "Informações adicionais",
        "chargeAmount": 100000.04
      }
    ]
  }
}

Lista dos pagamentos realizados no período

Propriedades

Nome Tipo Obrigatório Descrição
paymentId string false Identificador de pagamento de responsabilidade de cada Instituição transmissora.
isOverParcelPayment boolean true Identifica se é um pagamento pactuado (false) ou avulso (true).
instalmentId string true Identificador de parcela, de responsabilidade de cada Instituição transmissora.
paidDate string(date) true Data efetiva do pagamento referente ao contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19
currency string true Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL'.
Todos os valores monetários informados estão representados com a moeda vigente do Brasil.
paidAmount number(double) true Valor do pagamento referente ao contrato da modalidade de crédito consultada.
Expresso em valor monetário com até 4 casas decimais.
overParcel object true Objeto das tarifas e encargos que foram pagos fora da parcela.
» fees [object] true Lista das tarifas que foram pagas fora da parcela, só para pagamento avulso.
»» feeName string true Denominação da Tarifa pactuada
»» feeCode string true Sigla identificadora da tarifa avulsa fora da parcela
»» feeAmount number(double)¦null true Valor monetário da tarifa pactuada no contrato.
[Restrição] Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo
» charges [UnarrangedAccountOverdraftChargeOverParcel] true Lista dos encargos que foram pagos fora da parcela.

UnarrangedAccountOverdraftTaxesOverParcel

{
  "taxType": "JUROS_REMUNERATORIOS_POR_ATRASO",
  "taxAdditionalInfo": "",
  "taxpaidDate": "2020-01-10",
  "taxAmount": 200
}

Propriedades

Nome Tipo Obrigatório Descrição
taxType EnumTaxType true Tipo de encargo pago fora da parcela
taxAdditionalInfo string false Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pago fora da parcela
taxpaidDate string true Traz a data de efetivação do pagamento do encargo pago fora da parcela, conforme especificação RFC-3339
taxAmount number true Traz o valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com 2 casas decimais

Fase 3 - APIs do Open Banking Brasil v1.0.0-rc1.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Na fase 3 do Open Banking Brasil, a iniciação de pagamento permitirá que o cliente solicite um pagamento Pix fora dos canais da detentora de conta através de uma iniciadora de transação de pagamento.

A solicitação de pagamento será processada apenas se o cliente consentir na iniciadora, através da API de consentimento fase 3, e autorizar na detentora de conta, por meio de autenticação com credenciais de acesso e confirmação dos dados do pagamento.

Diferente da fase 2, o consentimento é dado para cada transação e não pode ser revogado, pois é consumido no momento que a transação é confirmada e processada.

O processamento da transação é feito de forma instantânea, não sendo possível agendamentos.

Idempotência

Segundo a W3C, "um método HTTP idempotente é um método HTTP que pode ser chamado muitas vezes sem resultados diferentes ou efeitos colaterais. Não importa se o método é chamado apenas uma vez ou dez vezes. O resultado deve ser o mesmo. Essencialmente, significa que o resultado de uma solicitação executada com sucesso é independente do número de vezes que ela é executada. Por exemplo, na aritmética, adicionar zero a um número é uma operação idempotente."

Os conhecidos métodos GET, PUT e DELETE são naturalmente idempotentes, assim como HEAD, OPTIONS e TRACE também são.

Porém, o método POST requer um tratamento especial para que se torne idempotente e, por estarmos tratando aqui de meios de pagamentos, fazer esse tratamento é algo desejável para que não ocorram acidentes.

Por que é necessário tratarmos a Idempotência do POST?

Imagine que seja realizado um POST de pagamento e, depois de alguns segundos, é retornada uma mensagem de Timeout. Nesse caso, não é possível saber se o POST foi efetivo e enviar o POST novamente, sem tratar a idempotência, poderá ocasionar em duplicidade de pagamento.

Como mitigarmos esse risco?

Do lado da iniciadora do pagamento: É necessário que seja enviado o POST com um GUID de Idempotência. Caso o mesmo POST seja reenviado por acidente ou precise ser reenviado, por qualquer motivo que seja, basta reenviar o POST com o mesmo GUID de Idempotência.

Do lado da detentora da conta: É necessário validar o GUID de Idempotência recebido. Caso tenha recebido o mesmo GUID de Idempotência, a nova mensagem de POST deverá ser descartada.

Importante reforçar que cada nova transação com POST deverá ter um novo GUID de Idempotência.

A iniciadora não deve usar comportamento idempotente do POST para pesquisar o status dos recursos.

Conjunto inicial de regras propostas na aplicação da idempotencia:

Diagrama de Sequência

Iniciacao_de_Pagamento Download do Diagrama de Sequência

Recomendação uso de pooling

A consulta via GET, para verificar o processamento da transação, pode ser dado a qualquer momento desde que se respeite o rate limit de:

API - Pagamentos

Versão
1.0.0-rc1.0

Visão Geral

A API tem como objetivo coletar o consentimento e ralizar a iniciação de pagamento entre bancos e instituições financeiras e acessível também à estabelecimentos comerciais participantes do Open Banking Brasil.

Os recursos estão disponíveis para pagadores que possuem vínculo com uma instituição detentora de conta participante do Open Banking, independentemente de serem pessoa física ou jurídica.

Especificação em OAS 3.0

Download da Especificação (OAS 3.0)

[Em Revisão] Criar consentimento para iniciação de pagamento.

Exemplo de código

const data = JSON.stringify({
  "data": {
    "creditor": {
      "personType": "PESSOA_NATURAL",
      "cpfCnpj": "58764789000137",
      "name": "Marco Antonio de Brito"
    },
    "payment": {
      "type": "PIX",
      "dateTime": "2021-01-01T00:00:00Z",
      "currency": "BRL",
      "amount": 100000.12
    },
    "debtorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://example.com/payments/v1/consents");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");
xhr.setRequestHeader("x-idempotency-key", "string");
xhr.setRequestHeader("x-jws-signature", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\"data\":{\"creditor\":{\"personType\":\"PESSOA_NATURAL\",\"cpfCnpj\":\"58764789000137\",\"name\":\"Marco Antonio de Brito\"},\"payment\":{\"type\":\"PIX\",\"dateTime\":\"2021-01-01T00:00:00Z\",\"currency\":\"BRL\",\"amount\":100000.12},\"debtorAccount\":{\"ispb\":\"12345678\",\"branchCode\":\"1774\",\"number\":\"1234567890\",\"checkDigit\":\"4\",\"accountType\":\"CACC\"}}}"

headers = {
    'Content-Type': "application/json",
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string",
    'x-idempotency-key': "string",
    'x-jws-signature': "string"
    }

conn.request("POST", "/payments/v1/consents", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.post("https://example.com/payments/v1/consents")
  .header("Content-Type", "application/json")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .header("x-idempotency-key", "string")
  .header("x-jws-signature", "string")
  .body("{\"data\":{\"creditor\":{\"personType\":\"PESSOA_NATURAL\",\"cpfCnpj\":\"58764789000137\",\"name\":\"Marco Antonio de Brito\"},\"payment\":{\"type\":\"PIX\",\"dateTime\":\"2021-01-01T00:00:00Z\",\"currency\":\"BRL\",\"amount\":100000.12},\"debtorAccount\":{\"ispb\":\"12345678\",\"branchCode\":\"1774\",\"number\":\"1234567890\",\"checkDigit\":\"4\",\"accountType\":\"CACC\"}}}")
  .asString();

POST /payments/v1/consents

Método para a criação do consentimento para iniciação de pagamento.

Dicionário de dados

Fazer download do dicionário de dados

Body parameter

{
  "data": {
    "creditor": {
      "personType": "PESSOA_NATURAL",
      "cpfCnpj": "58764789000137",
      "name": "Marco Antonio de Brito"
    },
    "payment": {
      "type": "PIX",
      "dateTime": "2021-01-01T00:00:00Z",
      "currency": "BRL",
      "amount": 100000.12
    },
    "debtorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
x-idempotency-key header string true Cabeçalho HTTP personalizado. Identificador de solicitação exclusivo para suportar a idempotência.
x-jws-signature header string true Cabeçalho contendo uma assinatura JWS separada do corpo do payload.
body body CreatePaymentConsent true Payload para criação do consentimento para iniciação do pagamento Pix.

O comando acima retorna uma estrutura json como essa:

201 Response

{
  "data": {
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2021-05-21T08:30:00Z",
    "statusUpdateDateTime": "2021-05-21T08:30:00Z",
    "status": "AWAITING_AUTHORISATION",
    "creditor": {
      "personType": "PESSOA_NATURAL",
      "cpfCnpj": "58764789000137",
      "name": "Marco Antonio de Brito"
    },
    "payment": {
      "type": "PIX",
      "dateTime": "2021-01-01T00:00:00Z",
      "currency": "BRL",
      "amount": 100000.12
    },
    "debtorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação.

{
  "errors": [
    {
      "code": "01",
      "title": "Forma de pagamento inválida",
      "detail": "Meio de pagamento inválido."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "02",
      "title": "Data de pagamento inválida",
      "detail": "Data de pagamento inválida no contexto, por exemplo, data no passado."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "99",
      "title": "Desconhecido",
      "detail": "Não informada pela instituição detentora da conta."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
201 Created Consentimento de pagamento criado com sucesso. ResponsePaymentConsent
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
415 Unsupported Media Type O formato do payload não é um formato suportado. ResponseError
422 Unprocessable Entity A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação. 422ResponseErrorCreateConsent
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Response Headers

Status Header Type Format Description
201 x-fapi-interaction-id string none

[Em Revisão] Consultar consentimento para iniciação de pagamento.

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/payments/v1/consents/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");
xhr.setRequestHeader("x-jws-signature", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string",
    'x-jws-signature': "string"
    }

conn.request("GET", "/payments/v1/consents/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/payments/v1/consents/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .header("x-jws-signature", "string")
  .asString();

GET /payments/v1/consents/{consentId}

Método para consultar o consentimento para iniciação de pagamento.

Dicionário de dados

Fazer download do dicionário de dados

Parâmetros

Nome Origem Tipo Obrigatório Descrição
consentId path string true Identificador do consentimento.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
x-jws-signature header string true Cabeçalho contendo uma assinatura JWS separada do corpo do payload.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2021-05-21T08:30:00Z",
    "statusUpdateDateTime": "2021-05-21T08:30:00Z",
    "status": "AWAITING_AUTHORISATION",
    "creditor": {
      "personType": "PESSOA_NATURAL",
      "cpfCnpj": "58764789000137",
      "name": "Marco Antonio de Brito"
    },
    "payment": {
      "type": "PIX",
      "dateTime": "2021-01-01T00:00:00Z",
      "currency": "BRL",
      "amount": 100000.12
    },
    "debtorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados do consentimento de pagamento obtidos com sucesso. ResponsePaymentConsent
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
415 Unsupported Media Type O formato do payload não é um formato suportado. ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Response Headers

Status Header Type Format Description
200 x-fapi-interaction-id string none

[Em Revisão] Pix - Criar iniciação de pagamento.

Exemplo de código

const data = JSON.stringify({
  "data": {
    "payment": {
      "amount": 100000.12,
      "currency": "BRL"
    },
    "creditorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    },
    "remittanceInformation": "Pagamento da nota XPTO035-002.",
    "qrCode": "00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012  \nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062  \n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB  \nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\n",
    "pixKey": "string"
  }
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://example.com/payments/v1/pix/payments");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");
xhr.setRequestHeader("x-idempotency-key", "string");
xhr.setRequestHeader("x-jws-signature", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\"data\":{\"payment\":{\"amount\":100000.12,\"currency\":\"BRL\"},\"creditorAccount\":{\"ispb\":\"12345678\",\"branchCode\":\"1774\",\"number\":\"1234567890\",\"checkDigit\":\"4\",\"accountType\":\"CACC\"},\"remittanceInformation\":\"Pagamento da nota XPTO035-002.\",\"qrCode\":\"00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012  \\nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062  \\n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB  \\nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\\n\",\"pixKey\":\"string\"}}"

headers = {
    'Content-Type': "application/json",
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string",
    'x-idempotency-key': "string",
    'x-jws-signature': "string"
    }

conn.request("POST", "/payments/v1/pix/payments", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.post("https://example.com/payments/v1/pix/payments")
  .header("Content-Type", "application/json")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .header("x-idempotency-key", "string")
  .header("x-jws-signature", "string")
  .body("{\"data\":{\"payment\":{\"amount\":100000.12,\"currency\":\"BRL\"},\"creditorAccount\":{\"ispb\":\"12345678\",\"branchCode\":\"1774\",\"number\":\"1234567890\",\"checkDigit\":\"4\",\"accountType\":\"CACC\"},\"remittanceInformation\":\"Pagamento da nota XPTO035-002.\",\"qrCode\":\"00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012  \\nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062  \\n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB  \\nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\\n\",\"pixKey\":\"string\"}}")
  .asString();

POST /payments/v1/pix/payments

Método para a criação de uma iniciação de pagamento.

Dicionário de dados

Fazer download do dicionário de dados

Body parameter

{
  "data": {
    "payment": {
      "amount": 100000.12,
      "currency": "BRL"
    },
    "creditorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    },
    "remittanceInformation": "Pagamento da nota XPTO035-002.",
    "qrCode": "00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012  \nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062  \n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB  \nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\n",
    "pixKey": "string"
  }
}

Parâmetros

Nome Origem Tipo Obrigatório Descrição
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
x-idempotency-key header string true Cabeçalho HTTP personalizado. Identificador de solicitação exclusivo para suportar a idempotência.
x-jws-signature header string true Cabeçalho contendo uma assinatura JWS separada do corpo do payload.
body body CreatePixPayment true Payload para criação da iniciação do pagamento Pix.

O comando acima retorna uma estrutura json como essa:

201 Response

{
  "data": {
    "paymentId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
    "endToEndId": "E9040088820210128000800123873170",
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2020-07-21T08:30:00Z",
    "statusUpdateDateTime": "2020-07-21T08:30:00Z",
    "pixKey": "12345678901",
    "status": "PDNG",
    "rejectionReason": "DS27",
    "payment": {
      "amount": 100000.12,
      "currency": "BRL"
    },
    "remittanceInformation": "Pagamento da nota RSTO035-002.",
    "creditorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação.

{
  "errors": [
    {
      "code": "01",
      "title": "Saldo insuficiente",
      "detail": "A conta selecionada não possui saldo suficiente para realizar o pagamento."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "02",
      "title": "Beneficiário incompatível",
      "detail": "O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "03",
      "title": "Valor da transação incompatível",
      "detail": "O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "04",
      "title": "Acima do limite estabelecido",
      "detail": "O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "05",
      "title": "Valor inválido",
      "detail": "O valor enviado não é válido para o QR Code informado."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "06",
      "title": "Cobrança inválida",
      "detail": "Validação de expiração, validação de vencimento ou Status Válido."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "07",
      "title": "Consentimento inválido",
      "detail": "Consentimento inválido (status diferente de 'AUTHORISED' ou está expirado)."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "10",
      "title": "Janela de operação inválida",
      "detail": "Requisição está fora da janela de funcionamento."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}
{
  "errors": [
    {
      "code": "99",
      "title": "Desconhecido",
      "detail": "Não informada pela instituição detentora da conta."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Resposta

Status Significado Descrição Schema
201 Created Iniciação de pagamento Pix criada com sucesso. ResponsePixPayment
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
415 Unsupported Media Type O formato do payload não é um formato suportado. ResponseError
422 Unprocessable Entity A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação. 422ResponseErrorCreatePixPayment
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Response Headers

Status Header Type Format Description
201 x-fapi-interaction-id string none

[Em Revisão] Pix - Consultar iniciação de pagamento.

Exemplo de código

const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.com/payments/v1/pix/payments/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "string");
xhr.setRequestHeader("x-fapi-auth-date", "stringstringstringstringstrin");
xhr.setRequestHeader("x-fapi-customer-ip-address", "string");
xhr.setRequestHeader("x-fapi-interaction-id", "string");
xhr.setRequestHeader("x-customer-user-agent", "string");
xhr.setRequestHeader("x-jws-signature", "string");

xhr.send(data);
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = {
    'Accept': "application/json",
    'Authorization': "string",
    'x-fapi-auth-date': "stringstringstringstringstrin",
    'x-fapi-customer-ip-address': "string",
    'x-fapi-interaction-id': "string",
    'x-customer-user-agent': "string",
    'x-jws-signature': "string"
    }

conn.request("GET", "/payments/v1/pix/payments/string", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://example.com/payments/v1/pix/payments/string")
  .header("Accept", "application/json")
  .header("Authorization", "string")
  .header("x-fapi-auth-date", "stringstringstringstringstrin")
  .header("x-fapi-customer-ip-address", "string")
  .header("x-fapi-interaction-id", "string")
  .header("x-customer-user-agent", "string")
  .header("x-jws-signature", "string")
  .asString();

GET /payments/v1/pix/payments/{paymentId}

Método para consultar uma iniciação de pagamento.

Dicionário de dados

Fazer download do dicionário de dados

Parâmetros

Nome Origem Tipo Obrigatório Descrição
paymentId path string true Identificador da operação de pagamento.
Authorization header string true Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
x-fapi-auth-date header string false Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231.Exemplo: Sun, 10 Sep 2017 19:43:31 UTC
x-fapi-customer-ip-address header string false O endereço IP do usuário se estiver atualmente logado com o receptor.
x-fapi-interaction-id header string false Um UID RFC4122 usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.
x-customer-user-agent header string false Indica o user-agent que o usuário utiliza.
x-jws-signature header string true Cabeçalho contendo uma assinatura JWS separada do corpo do payload.

O comando acima retorna uma estrutura json como essa:

200 Response

{
  "data": {
    "paymentId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
    "endToEndId": "E9040088820210128000800123873170",
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2020-07-21T08:30:00Z",
    "statusUpdateDateTime": "2020-07-21T08:30:00Z",
    "pixKey": "12345678901",
    "status": "PDNG",
    "rejectionReason": "DS27",
    "payment": {
      "amount": 100000.12,
      "currency": "BRL"
    },
    "remittanceInformation": "Pagamento da nota RSTO035-002.",
    "creditorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

Resposta

Status Significado Descrição Schema
200 OK Dados de iniciação de pagamento Pix obtidos com sucesso. ResponsePixPayment
400 Bad Request A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. ResponseError
401 Unauthorized Cabeçalho de autenticação ausente/inválido ou token inválido ResponseError
403 Forbidden O token tem escopo incorreto ou uma política de segurança foi violada ResponseError
404 Not Found O recurso solicitado não existe ou não foi implementado ResponseError
405 Method Not Allowed O consumidor tentou acessar o recurso com um método não suportado ResponseError
406 Not Acceptable A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 ResponseError
415 Unsupported Media Type O formato do payload não é um formato suportado. ResponseError
429 Too Many Requests A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido ResponseError
500 Internal Server Error Ocorreu um erro no gateway da API ou no microsserviço ResponseError

Response Headers

Status Header Type Format Description
200 x-fapi-interaction-id string none

Schemas

Account

{
  "ispb": "12345678",
  "branchCode": "1774",
  "number": "1234567890",
  "checkDigit": "4",
  "accountType": "CACC"
}

Objeto que contém a identificação de uma conta.

Propriedades

Nome Tipo Obrigatório Descrição
ispb string true Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números.
branchCode string false Código da Agência detentora da conta sem dígito.
(Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito,
no exercício de atividades da instituição, não podendo ser móvel ou transitória).
[Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO).
number string true Número da conta sem o dígito.
checkDigit string true Dígito da conta.
accountType EnumAccountPaymentsType true Tipos de contas usadas para pagamento via Pix.
Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas,
conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica.
Segue descrição de cada valor do ENUM para o escopo do Pix.
CACC - Current - Conta Corrente.
SLRY - Salary - Conta-Salário.
SVGS - Savings - Conta de Poupança.
TRAN - TransactingAccount - Conta de Pagamento pré-paga.

CreatePaymentConsent

{
  "data": {
    "creditor": {
      "personType": "PESSOA_NATURAL",
      "cpfCnpj": "58764789000137",
      "name": "Marco Antonio de Brito"
    },
    "payment": {
      "type": "PIX",
      "dateTime": "2021-01-01T00:00:00Z",
      "currency": "BRL",
      "amount": 100000.12
    },
    "debtorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data object true Objeto contendo as informações de consentimento para a iniciação de pagamento individual.
» creditor Identification true Objeto contendo os dados do recebedor (creditor).
» payment PaymentConsent true Objeto contendo dados de pagamento para consentimento.
» debtorAccount DebtorAccount false Objeto que contém a identificação da conta de origem do pagador.
As informações quanto à conta de origem do pagador poderão ser trazidas no consentimento para a detentora, caso a iniciadora tenha coletado essas informações do cliente. Do contrário, será coletada na detentora e trazida para a iniciadora como resposta à criação do pagamento.

CreatePixPayment

{
  "data": {
    "payment": {
      "amount": 100000.12,
      "currency": "BRL"
    },
    "creditorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    },
    "remittanceInformation": "Pagamento da nota XPTO035-002.",
    "qrCode": "00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012  \nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062  \n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB  \nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\n",
    "pixKey": "string"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data CreatePixPaymentData true Objeto contendo dados do pagamento e do recebedor (creditor).

CreatePixPaymentData

{
  "payment": {
    "amount": 100000.12,
    "currency": "BRL"
  },
  "creditorAccount": {
    "ispb": "12345678",
    "branchCode": "1774",
    "number": "1234567890",
    "checkDigit": "4",
    "accountType": "CACC"
  },
  "remittanceInformation": "Pagamento da nota XPTO035-002.",
  "qrCode": "00020104141234567890123426660014BR.GOV.BCB.PIX014466756C616E6F32303139406578616D706C652E636F6D27300012  \nBR.COM.OUTRO011001234567895204000053039865406123.455802BR5915NOMEDORECEBEDOR6008BRASILIA61087007490062  \n530515RP12345678-201950300017BR.GOV.BCB.BRCODE01051.0.080450014BR.GOV.BCB.PIX0123PADRAO.URL.PIX/0123AB  \nCD81390012BR.COM.OUTRO01190123.ABCD.3456.WXYZ6304EB76\n",
  "pixKey": "string"
}

Objeto contendo dados do pagamento e do recebedor (creditor).

Propriedades

Nome Tipo Obrigatório Descrição
payment PaymentPix true Objeto contendo dados do pagameto como moeda e valor.
creditorAccount CreditorAccount true Objeto que contém a identificação da conta de destino do beneficiário/recebedor.
remittanceInformation string false Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor.
qrCode string false Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador.
É a sequência de caracteres que seria lida pelo leitor de QR Code, e deve propiciar o retorno dos dados do pagador após consulta na DICT.
Essa funcionalidade é possível tanto para QR Code estático quanto para QR Code dinâmico.
No arranjo do Pix esta é a mesma sequência gerada e/ou lida pela funcionalidade Pix Copia e Cola.
Este campo deverá ser no formato UTF-8.
[Restrição] Preenchimento obrigatório para pagamentos por QR Code, observado o tamanho máximo de 512 bytes.
pixKey string false Chave cadastrada no DICT pertencente ao recebedor. Os tipos de chaves podem ser: telefone, e-mail, cpf/cnpj ou chave aleatória.
No caso de telefone celular deve ser informado no padrão E.1641.
Para e-mail deve ter o formato xxxxxxxx@xxxxxxx.xxx(.xx) e no máximo 77 caracteres.
No caso de CPF deverá ser informado com 11 números, sem pontos ou traços.
Para o caso de CNPJ deverá ser informado com 14 números, sem pontos ou traços.
No caso de chave aleatória deve ser informado o UUID gerado pelo DICT, conforme formato especificado na RFC41223.
[Restrição] Preenchimento obrigatório para pagamentos via Chave.

DebtorAccount

{
  "ispb": "12345678",
  "branchCode": "1774",
  "number": "1234567890",
  "checkDigit": "4",
  "accountType": "CACC"
}

Objeto que contém a identificação da conta de origem do pagador.
As informações quanto à conta de origem do pagador poderão ser trazidas no consentimento para a detentora, caso a iniciadora tenha coletado essas informações do cliente. Do contrário, será coletada na detentora e trazida para a iniciadora como resposta à criação do pagamento.

Propriedades

Nome Tipo Obrigatório Descrição
ispb string true Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números.
branchCode string false Código da Agência detentora da conta sem dígito.
(Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito,
no exercício de atividades da instituição, não podendo ser móvel ou transitória).
[Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO).
number string true Número da conta sem o dígito.
checkDigit string true Dígito da conta.
accountType EnumAccountPaymentsType true Tipos de contas usadas para pagamento via Pix.
Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas,
conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica.
Segue descrição de cada valor do ENUM para o escopo do Pix.
CACC - Current - Conta Corrente.
SLRY - Salary - Conta-Salário.
SVGS - Savings - Conta de Poupança.
TRAN - TransactingAccount - Conta de Pagamento pré-paga.

EnumAccountPaymentsType

"CACC"

Tipos de contas usadas para pagamento via Pix.
Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas,
conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica.
Segue descrição de cada valor do ENUM para o escopo do Pix.
CACC - Current - Conta Corrente.
SLRY - Salary - Conta-Salário.
SVGS - Savings - Conta de Poupança.
TRAN - TransactingAccount - Conta de Pagamento pré-paga.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Tipos de contas usadas para pagamento via Pix.
Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas,
conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica.
Segue descrição de cada valor do ENUM para o escopo do Pix.
CACC - Current - Conta Corrente.
SLRY - Salary - Conta-Salário.
SVGS - Savings - Conta de Poupança.
TRAN - TransactingAccount - Conta de Pagamento pré-paga.

Enumerated Values

Nome Código
** CACC
** SLRY
** SVGS
** TRAN

EnumAuthorisationStatusType

"AWAITING_AUTHORISATION"

Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION. Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED. O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento.
Em caso de consentimento expirado a detentora deverá retornar o status REJECTED.
Estados possíveis:
AWAITING_AUTHORISATION - Aguardando autorização
AUTHORISED - Autorizado
REJECTED - Rejeitado
CONSUMED - Consumido

Propriedades

Nome Tipo Obrigatório Descrição
** string false Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION.
Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED.
O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento.
Em caso de consentimento expirado a detentora deverá retornar o status REJECTED.
Estados possíveis:
AWAITING_AUTHORISATION - Aguardando autorização
AUTHORISED - Autorizado
REJECTED - Rejeitado
CONSUMED - Consumido

Enumerated Values

Nome Código
** AWAITING_AUTHORISATION
** AUTHORISED
** REJECTED
** CONSUMED

EnumPaymentPersonType

"PESSOA_NATURAL"

Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor).

Propriedades

Nome Tipo Obrigatório Descrição
** string false Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor).

Enumerated Values

Nome Código
** PESSOA_NATURAL
** PESSOA_JURIDICA

EnumPaymentType

"PIX"

Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento.

Enumerated Values

Nome Código
** PIX

EnumErrorsCreateConsent

"01"

Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos.
• 01 – Forma de pagamento inválida;
• 02 – Data de pagamento inválida;
• 99 – Desconhecido.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos.
• 01 – Forma de pagamento inválida;
• 02 – Data de pagamento inválida;
• 99 – Desconhecido.

Enumerated Values

Nome Código
** 01
** 02
** 99

EnumErrorsCreatePayment

"01"

Códigos de erros previstos na criação da iniciação de pagamento.
• 01 – Saldo insuficiente;
• 02 – Beneficiário incompatível;
• 03 – Valor da transação incompatível;
• 04 – Acima do limite estabelecido;
• 05 – Valor inválido;
• 06 – Cobrança inválida;
• 07 – Consentimento inválido;
• 10 – Janela de operação inválida;
• 99 – Desconhecido.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Códigos de erros previstos na criação da iniciação de pagamento.
• 01 – Saldo insuficiente;
• 02 – Beneficiário incompatível;
• 03 – Valor da transação incompatível;
• 04 – Acima do limite estabelecido;
• 05 – Valor inválido;
• 06 – Cobrança inválida;
• 07 – Consentimento inválido;
• 10 – Janela de operação inválida;
• 99 – Desconhecido.

Enumerated Values

Nome Código
** 01
** 02
** 03
** 04
** 05
** 06
** 07
** 10
** 99

EnumRejectionReasonType

"DS27"

Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status.
AB03 (ABORTED_SETTLEMENT_TIMEOUT) - Liquidação da transação interrompida devido a timeout no SPI.
AB09 (ERROR_CREDITOR_AGENT) - Transação interrompida devido a erro no participante do usuário recebedor.
AB11 (TIMEOUT_DEBTOR_AGENT) - Timeout do participante emissor da ordem de pagamento.
AC03 (INVALID_CREDITOR_ACCOUNT_NUMBER) - Número da conta transacional do usuário recebedor inexistente ou inválido.
AC06 (BLOCKED_ACCOUNT) - Conta transacional do usuário recebedor encontra-se bloqueada.
AC07 (CLOSED_CREDITOR_ACCOUNT_NUMBER) - Número da conta transacional do usuário recebedor encerrada.
AC14 (INVALID_CREDITOR_ACCOUNTTYPE) - Tipo incorreto para a conta transacional do usuário recebedor. AG03 (TRANSACTION_NOT_SUPPORTED) - Tipo de transação não é suportado/autorizado na conta transacional do usuário recebedor. Exemplo: transferência para conta salário.
AG12 (NOT_ALLOWED_BOOK_TRANSFER) - Não é permitida ordem de pagamento/devolução no SPI cujos recursos sejam transferidos de uma conta transacional para outra em uma mesma instituição participante ou entre participantes que utilizem o serviço de liquidação de um mesmo participante liquidante no SPI (booktransfer).
AG13 (FORBIDDEN_RETURN_PAYMENT) - Não é permitido devolver a devolução de um pagamento instantâneo.
AGNT (INCORRECT_AGENT) - Participante direto não é liquidante do participante do usuário pagador / participante do usuário recebedor.
AM01 (ZERO_AMOUNT) - Ordem de pagamento instantâneo com valor zero.
AM02 (NOT_ALLOWED_AMOUNT) - Ordem de pagamento/devolução em valor que faz superar o limite permitido para o tipo de conta transacional creditada.
AM04 (INSUFFICIENT_FUNDS) - Saldo insuficiente na conta PI do participante do usuário pagador.
AM09 (WRONG_AMOUNT) - Devolução de pagamento em valor que faz superar o valor da ordem de pagamento instantâneo correspondente.
AM12 (INVALID_AMOUNT) - Divergência entre a somatória dos valores do bloco ‘valorDoDinheiroOuCompra’ e o campo ‘valor’.
AM18 (INVALID_NUMBER_OF_TRANSACTIONS) - Quantidade de transações inválida.
BE01 (INCONSISTENT_WITH_END_CUSTOMER) - CPF/CNPJ do usuário recebedor não é consistente com o titular da conta transacional especificada.
BE15 (INVALID_IDENTIFICATION_CODE) - Código de situação de pagamento ou de erro inválido.
BE17 (INVALID_CREDITOR_IDENTIFICATION_CODE) - QR Code rejeitado pelo participante do usuário recebedor.
CH11 (CREDITOR_IDENTIFIER_INCORRECT) - CPF/CNPJ do usuário recebedor incorreto.
CH16 (ELEMENT_CONTENT_FORMALLY_INCORRECT) - Elemento da mensagem incorreto.
DS04 (ORDER_REJECTED) - Ordem rejeitada pelo participante do usuário recebedor.
DS0G (NOT_ALLOWED_PAYMENT) - Participante que assinou a mensagem não é autorizado a realizar a operação na conta PI debitada. No caso em que o participante que assinou a mensagem não é o titular da conta PI debitada nem é o liquidante no SPI do participante do usuário pagador.
DS0H (NOT_ALLOWED_ACCOUNT) - ISPB do participante que submeteu a resposta à ordem de pagamento/devolução diferente do ISPB do participante creditado pela ordem.
DS27 (USER_NOT_YET_ACTIVATED) - Participante não se encontra cadastrado ou ainda não iniciou a operação no SPI.
DT02 (INVALID_CREATION_DATE) - Data e Hora do envio da mensagem inválida.
DT05 (INVALID_CUT_OFF_DATE) - Transação extrapola o prazo máximo para devolução de pagamento instantâneo regulamentado pelo Arranjo Pix.
ED05 (SETTLEMENT_FAILED) - Erro no processamento do pagamento instantâneo.
FF07 (INVALID_PURPOSE) - Inconsistência entre a finalidade da transação e o preenchimento do bloco elementos Structured.
FF08 (INVALID_END_TO_END_ID) - Identificador da operação mal formatado.
RC09 (INVALID_DEBTOR_CLEARING_SYSTEM_MEMBER_IDENTIFIER) - ISPB do participante do usuário pagador inválido ou inexistente.
RC10 (INVALID_CREDITOR_CLEARING_SYSTEM_MEMBER_IDENTIFIER) - ISPB do participante do usuário recebedor inválido ou inexistente.
RR4 (REGULATORY_REASON) - Ordem de pagamento em que o usuário pagador é sancionado por resolução do Conselho de Segurança das Nações Unidas (CSNU). Nos casos em que o usuário recebedor for o sancionado, a ordem de pagamento não deve ser rejeitada.
SL02 (SPECIFIC_SERVICE_OFFERED_BY_CREDITOR_AGENT) - A transação original não está relacionada ao serviço de Saque Pix.
[Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).

Propriedades

Nome Tipo Obrigatório Descrição
** string false Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status.
AB03 (ABORTED_SETTLEMENT_TIMEOUT) - Liquidação da transação interrompida devido a timeout no SPI.
AB09 (ERROR_CREDITOR_AGENT) - Transação interrompida devido a erro no participante do usuário recebedor.
AB11 (TIMEOUT_DEBTOR_AGENT) - Timeout do participante emissor da ordem de pagamento.
AC03 (INVALID_CREDITOR_ACCOUNT_NUMBER) - Número da conta transacional do usuário recebedor inexistente ou inválido.
AC06 (BLOCKED_ACCOUNT) - Conta transacional do usuário recebedor encontra-se bloqueada.
AC07 (CLOSED_CREDITOR_ACCOUNT_NUMBER) - Número da conta transacional do usuário recebedor encerrada.
AC14 (INVALID_CREDITOR_ACCOUNTTYPE) - Tipo incorreto para a conta transacional do usuário recebedor. AG03 (TRANSACTION_NOT_SUPPORTED) - Tipo de transação não é suportado/autorizado na conta transacional do usuário recebedor. Exemplo: transferência para conta salário.
AG12 (NOT_ALLOWED_BOOK_TRANSFER) - Não é permitida ordem de pagamento/devolução no SPI cujos recursos sejam transferidos de uma conta transacional para outra em uma mesma instituição participante ou entre participantes que utilizem o serviço de liquidação de um mesmo participante liquidante no SPI (booktransfer).
AG13 (FORBIDDEN_RETURN_PAYMENT) - Não é permitido devolver a devolução de um pagamento instantâneo.
AGNT (INCORRECT_AGENT) - Participante direto não é liquidante do participante do usuário pagador / participante do usuário recebedor.
AM01 (ZERO_AMOUNT) - Ordem de pagamento instantâneo com valor zero.
AM02 (NOT_ALLOWED_AMOUNT) - Ordem de pagamento/devolução em valor que faz superar o limite permitido para o tipo de conta transacional creditada.
AM04 (INSUFFICIENT_FUNDS) - Saldo insuficiente na conta PI do participante do usuário pagador.
AM09 (WRONG_AMOUNT) - Devolução de pagamento em valor que faz superar o valor da ordem de pagamento instantâneo correspondente.
AM12 (INVALID_AMOUNT) - Divergência entre a somatória dos valores do bloco ‘valorDoDinheiroOuCompra’ e o campo ‘valor’.
AM18 (INVALID_NUMBER_OF_TRANSACTIONS) - Quantidade de transações inválida.
BE01 (INCONSISTENT_WITH_END_CUSTOMER) - CPF/CNPJ do usuário recebedor não é consistente com o titular da conta transacional especificada.
BE15 (INVALID_IDENTIFICATION_CODE) - Código de situação de pagamento ou de erro inválido.
BE17 (INVALID_CREDITOR_IDENTIFICATION_CODE) - QR Code rejeitado pelo participante do usuário recebedor.
CH11 (CREDITOR_IDENTIFIER_INCORRECT) - CPF/CNPJ do usuário recebedor incorreto.
CH16 (ELEMENT_CONTENT_FORMALLY_INCORRECT) - Elemento da mensagem incorreto.
DS04 (ORDER_REJECTED) - Ordem rejeitada pelo participante do usuário recebedor.
DS0G (NOT_ALLOWED_PAYMENT) - Participante que assinou a mensagem não é autorizado a realizar a operação na conta PI debitada. No caso em que o participante que assinou a mensagem não é o titular da conta PI debitada nem é o liquidante no SPI do participante do usuário pagador.
DS0H (NOT_ALLOWED_ACCOUNT) - ISPB do participante que submeteu a resposta à ordem de pagamento/devolução diferente do ISPB do participante creditado pela ordem.
DS27 (USER_NOT_YET_ACTIVATED) - Participante não se encontra cadastrado ou ainda não iniciou a operação no SPI.
DT02 (INVALID_CREATION_DATE) - Data e Hora do envio da mensagem inválida.
DT05 (INVALID_CUT_OFF_DATE) - Transação extrapola o prazo máximo para devolução de pagamento instantâneo regulamentado pelo Arranjo Pix.
ED05 (SETTLEMENT_FAILED) - Erro no processamento do pagamento instantâneo.
FF07 (INVALID_PURPOSE) - Inconsistência entre a finalidade da transação e o preenchimento do bloco elementos Structured.
FF08 (INVALID_END_TO_END_ID) - Identificador da operação mal formatado.
RC09 (INVALID_DEBTOR_CLEARING_SYSTEM_MEMBER_IDENTIFIER) - ISPB do participante do usuário pagador inválido ou inexistente.
RC10 (INVALID_CREDITOR_CLEARING_SYSTEM_MEMBER_IDENTIFIER) - ISPB do participante do usuário recebedor inválido ou inexistente.
RR4 (REGULATORY_REASON) - Ordem de pagamento em que o usuário pagador é sancionado por resolução do Conselho de Segurança das Nações Unidas (CSNU). Nos casos em que o usuário recebedor for o sancionado, a ordem de pagamento não deve ser rejeitada.
SL02 (SPECIFIC_SERVICE_OFFERED_BY_CREDITOR_AGENT) - A transação original não está relacionada ao serviço de Saque Pix.
[Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).

Enumerated Values

Nome Código
** AB03
** AB09
** AB11
** AC03
** AC06
** AC07
** AC14
** AG03
** AG12
** AG13
** AGNT
** AM01
** AM02
** AM04
** AM09
** AM12
** AM18
** BE01
** BE15
** BE17
** CH11
** CH16
** DS04
** DS0G
** DS0H
** DS27
** DT02
** DT05
** ED05
** FF07
** FF08
** RC09
** RC10
** RR4
** SL02

EnumPaymentStatusType

"PDNG"

Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem:
1. PDNG (PENDING) - Iniciação de pagamento ou transação de pagamento está pendente. Checagens adicionais em realização.
2. PART (PARTIALLY ACCEPTED) - Aguardando autorização múltipla alçada.
3. ACSP (ACCEPTED_SETTLEMENT_IN_PROCESS) - Iniciação de pagamento aceita e processamento do pagamento foi iniciado.
4. ACSC (ACCEPTED_SETTLEMENT_COMPLETED_DEBITOR_ACCOUNT) - Débito realizado na conta do pagador.
5. ACCC (ACCEPTED_SETTLEMENT_COMPLETED) - Crédito realizado na instituição de destino.
Em caso insucesso:
RJCT (REJECTED) - Instrução de pagamento rejeitada.

Propriedades

Nome Tipo Obrigatório Descrição
** string false Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem:
1. PDNG (PENDING) - Iniciação de pagamento ou transação de pagamento está pendente. Checagens adicionais em realização.
2. PART (PARTIALLY ACCEPTED) - Aguardando autorização múltipla alçada.
3. ACSP (ACCEPTED_SETTLEMENT_IN_PROCESS) - Iniciação de pagamento aceita e processamento do pagamento foi iniciado.
4. ACSC (ACCEPTED_SETTLEMENT_COMPLETED_DEBITOR_ACCOUNT) - Débito realizado na conta do pagador.
5. ACCC (ACCEPTED_SETTLEMENT_COMPLETED) - Crédito realizado na instituição de destino.
Em caso insucesso:
RJCT (REJECTED) - Instrução de pagamento rejeitada.

Enumerated Values

Nome Código
** PDNG
** PART
** ACSP
** ACSC
** ACCC
** RJCT

CreditorAccount

{
  "ispb": "12345678",
  "branchCode": "1774",
  "number": "1234567890",
  "checkDigit": "4",
  "accountType": "CACC"
}

Objeto que contém a identificação da conta de destino do beneficiário/recebedor.

Propriedades

Nome Tipo Obrigatório Descrição
ispb string true Deve ser preenchido com o ISPB (Identificador do Sistema de Pagamentos Brasileiros) do participante do SPI (Sistema de pagamentos instantâneos) somente com números.
branchCode string false Código da Agência detentora da conta sem dígito.
(Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito,
no exercício de atividades da instituição, não podendo ser móvel ou transitória).
[Restrição] Preenchimento obrigatório para os seguintes tipos de conta: CACC (CONTA_DEPOSITO_A_VISTA), SVGS (CONTA_POUPANCA) e SLRY (CONTA_SALARIO).
number string true Número da conta sem o dígito.
checkDigit string true Dígito da conta.
accountType EnumAccountPaymentsType true Tipos de contas usadas para pagamento via Pix.
Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas,
conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica.
Segue descrição de cada valor do ENUM para o escopo do Pix.
CACC - Current - Conta Corrente.
SLRY - Salary - Conta-Salário.
SVGS - Savings - Conta de Poupança.
TRAN - TransactingAccount - Conta de Pagamento pré-paga.

Identification

{
  "personType": "PESSOA_NATURAL",
  "cpfCnpj": "58764789000137",
  "name": "Marco Antonio de Brito"
}

Objeto contendo os dados do recebedor (creditor).

Propriedades

Nome Tipo Obrigatório Descrição
personType EnumPaymentPersonType true Titular, pessoa natural ou juridica a quem se referem os dados de recebedor (creditor).
cpfCnpj string true Identificação da pessoa envolvida na transação.
Preencher com o CPF ou CNPJ, de acordo com o valor escolhido no campo type.
O CPF será utilizado com 11 números e deverá ser informado sem pontos ou traços.
O CNPJ será utilizado com 14 números e deverá ser informado sem pontos ou traços.
name string true Em caso de pessoa natural deve ser informado o nome completo do titular da conta do recebedor.
Em caso de pessoa jurídica deve ser informada a razão social ou o nome fantasia da conta do recebedor.

PaymentConsent

{
  "type": "PIX",
  "dateTime": "2021-01-01T00:00:00Z",
  "currency": "BRL",
  "amount": 100000.12
}

Objeto contendo dados de pagamento para consentimento.

Propriedades

Nome Tipo Obrigatório Descrição
type EnumPaymentType true Este campo define o tipo de pagamento que será iniciado após a autorização do consentimento.
dateTime string(date-time) true Data e hora do pagamento.
Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
currency string true Código da moeda nacional segundo modelo ISO-4217, ou seja, 'BRL'.
Todos os valores monetários informados estão representados com a moeda vigente do Brasil.
amount number(double) true Valor da transação com 2 casas decimais.

PaymentPix

{
  "amount": 100000.12,
  "currency": "BRL"
}

Objeto contendo dados do pagameto como moeda e valor.

Propriedades

Nome Tipo Obrigatório Descrição
amount number(double) true Valor da transação com 2 casas decimais.
currency string true Código da moeda nacional segundo modelo ISO-4217, ou seja, 'BRL'.
Todos os valores monetários informados estão representados com a moeda vigente do Brasil.

ResponseError

{
  "errors": [
    {
      "code": "string",
      "title": "string",
      "detail": "string"
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
errors [object] true
» code string true Código de erro específico do endpoint
» title string true Título legível por humanos deste erro específico
» detail string true Descrição legível por humanos deste erro específico
meta Meta false Meta informações referente a API requisitada.

422ResponseErrorCreateConsent

{
  "errors": [
    {
      "code": "01",
      "title": "Forma de pagamento inválida.",
      "detail": "Meio de pagamento inválido."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
errors [object] true
» code EnumErrorsCreateConsent true Códigos de erros previstos na criação de consentimento para a iniciação de pagamentos.
• 01 – Forma de pagamento inválida;
• 02 – Data de pagamento inválida;
• 99 – Desconhecido.
» title string true Título específico do erro reportado, de acordo com o código enviado:
• 01: Forma de pagamento inválida;
• 02: Data de pagamento inválida;
• 99: Desconhecido.
» detail string true Descrição específica do erro de acordo com o código reportado.
• 01: Meio de pagamento inválido;
• 02: Data de pagamento inválida no contexto, por exemplo, data no passado.
Para pagamentos únicos deve ser informada a data atual, do dia corrente.
• 99: Não informada pela instituição detentora da conta.
meta Meta false Meta informações referente a API requisitada.

422ResponseErrorCreatePixPayment

{
  "errors": [
    {
      "code": "01",
      "title": "Forma de pagamento inválida.",
      "detail": "Meio de pagamento inválido."
    }
  ],
  "meta": {
    "totalRecords": 1,
    "totalPages": 1,
    "requestDateTime": "2021-05-21T08:30:00Z"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
errors [object] true
» code EnumErrorsCreatePayment true Códigos de erros previstos na criação da iniciação de pagamento.
• 01 – Saldo insuficiente;
• 02 – Beneficiário incompatível;
• 03 – Valor da transação incompatível;
• 04 – Acima do limite estabelecido;
• 05 – Valor inválido;
• 06 – Cobrança inválida;
• 07 – Consentimento inválido;
• 10 – Janela de operação inválida;
• 99 – Desconhecido.
» title string true Título específico do erro reportado, de acordo com o código enviado:
• 01: Saldo insuficiente;
• 02: Beneficiário incompatível;
• 03: Valor da transação incompatível;
• 04: Acima do limite estabelecido;
• 05: Valor inválido;
• 06: Cobrança inválida;
• 07: Consentimento inválido;
• 10: Janela de operação inválida;
• 99: Desconhecido.
» detail string true Descrição específica do erro de acordo com o código reportado.
• 01: A conta selecionada não possui saldo suficiente para realizar o pagamento.
• 02: O beneficiário informado no consentimento não é o mesmo do esperado pelo DICT.
• 03: O valor informado no consentimento não é o mesmo valor do informado no payload de pagamento.
• 04: O valor (ou quantidade de transações) ultrapassa a faixa de limite parametrizada na detentora para permitir a realização de transações pelo cliente.
• 05: O valor enviado não é válido para o QR Code informado.
• 06: Validação de expiração, validação de vencimento ou Status Válido.
• 07: Consentimento inválido (status diferente de "AUTHORISED" ou está expirado).
• 10: Requisição está fora da janela de funcionamento.
• 99: Não informada pela instituição detentora da conta.
meta Meta false Meta informações referente a API requisitada.

ResponsePaymentConsent

{
  "data": {
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2021-05-21T08:30:00Z",
    "statusUpdateDateTime": "2021-05-21T08:30:00Z",
    "status": "AWAITING_AUTHORISATION",
    "creditor": {
      "personType": "PESSOA_NATURAL",
      "cpfCnpj": "58764789000137",
      "name": "Marco Antonio de Brito"
    },
    "payment": {
      "type": "PIX",
      "dateTime": "2021-01-01T00:00:00Z",
      "currency": "BRL",
      "amount": 100000.12
    },
    "debtorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data object true Objeto contendo as informações de resposta do consentimento para a iniciação de pagamento individual.
» consentId string true Identificador único do consentimento criado para a iniciação de pagamento solicitada.
» creationDateTime string(date-time) true Data e hora em que o consentimento foi criado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» statusUpdateDateTime string(date-time) true Data e hora em que o recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format).
» status EnumAuthorisationStatusType true Retorna o estado do consentimento, o qual no momento de sua criação será AWAITING_AUTHORISATION.
Este estado será alterado depois da autorização do consentimento na detentora da conta do pagador (Debtor) para AUTHORISED ou REJECTED.
O consentimento fica no estado CONSUMED após ocorrer a iniciação do pagamento referente ao consentimento.
Em caso de consentimento expirado a detentora deverá retornar o status REJECTED.
Estados possíveis:
AWAITING_AUTHORISATION - Aguardando autorização
AUTHORISED - Autorizado
REJECTED - Rejeitado
CONSUMED - Consumido
» creditor Identification true Objeto contendo os dados do recebedor (creditor).
» payment PaymentConsent true Objeto contendo dados de pagamento para consentimento.
» debtorAccount DebtorAccount false Objeto que contém a identificação da conta de origem do pagador.
As informações quanto à conta de origem do pagador poderão ser trazidas no consentimento para a detentora, caso a iniciadora tenha coletado essas informações do cliente. Do contrário, será coletada na detentora e trazida para a iniciadora como resposta à criação do pagamento.

ResponsePixPayment

{
  "data": {
    "paymentId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
    "endToEndId": "E9040088820210128000800123873170",
    "consentId": "urn:bancoex:C1DD33123",
    "creationDateTime": "2020-07-21T08:30:00Z",
    "statusUpdateDateTime": "2020-07-21T08:30:00Z",
    "pixKey": "12345678901",
    "status": "PDNG",
    "rejectionReason": "DS27",
    "payment": {
      "amount": 100000.12,
      "currency": "BRL"
    },
    "remittanceInformation": "Pagamento da nota RSTO035-002.",
    "creditorAccount": {
      "ispb": "12345678",
      "branchCode": "1774",
      "number": "1234567890",
      "checkDigit": "4",
      "accountType": "CACC"
    }
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
data ResponsePixPaymentData true Objeto contendo dados do pagamento e da conta do recebedor (creditor).

ResponsePixPaymentData

{
  "paymentId": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl",
  "endToEndId": "E9040088820210128000800123873170",
  "consentId": "urn:bancoex:C1DD33123",
  "creationDateTime": "2020-07-21T08:30:00Z",
  "statusUpdateDateTime": "2020-07-21T08:30:00Z",
  "pixKey": "12345678901",
  "status": "PDNG",
  "rejectionReason": "DS27",
  "payment": {
    "amount": 100000.12,
    "currency": "BRL"
  },
  "remittanceInformation": "Pagamento da nota RSTO035-002.",
  "creditorAccount": {
    "ispb": "12345678",
    "branchCode": "1774",
    "number": "1234567890",
    "checkDigit": "4",
    "accountType": "CACC"
  }
}

Objeto contendo dados do pagamento e da conta do recebedor (creditor).

Propriedades

Nome Tipo Obrigatório Descrição
paymentId string true Código ou identificador único informado pela instituição detentora da conta para representar
a iniciação de pagamento individual. O paymentId deve ser diferente do endToEndId retornado pela detentora.
Este é o identificador que deverá ser utilizado na consulta ao status da iniciação de pagamento efetuada.
endToEndId string false Código de identificação único da transação no arranjo do Pix. É usado em toda a cadeia de mensagens de uma instrução de pagamento no SPI. É um código gerado pela instituição detentora da conta que está iniciando o pagamento.
Deve ser preenchido no formato padrão ExxxxxxxxyyyyMMddHHmmkkkkkkkkkkk (32 caracteres), sendo:
• “E” – fixo (1 caractere);
• xxxxxxxx – identificação do agente que gerou o endToEndId, podendo ser: o ISPB do participante direto ou o ISPB do participante indireto (8 caracteres numéricos [0-9]);
• yyyyMMddHHmm – data, hora e minuto (12 caracteres), seguindo o horário UTC, da submissão da ordem de pagamento, caso a liquidação seja prioritária, ou prevista para o envio da ordem ao sistema de liquidação, caso seja realizado um agendamento. No caso de ordens prioritárias, aceita-se o preenchimento, pelo agente que gerou o , com uma tolerância máxima de 1 hora e 30 minutos, para o futuro e para o passado, em relação ao horário efetivo de processamento da ordem pelo SPI. Para ordens não prioritárias, a tolerância máxima é de 12 horas, para o futuro e para o passado;
• kkkkkkkkkkk – sequencial criado pelo agente que gerou o endToEndId (11 caracteres alfanuméricos [a-z
consentId string true Identificador único do consentimento.
creationDateTime string(date-time) true Data e hora em que o recurso foi criado.
Uma string com data e hora conforme especificação RFC-3339,
sempre com a utilização de timezone UTC(UTC time format).
statusUpdateDateTime string(date-time) true Data e hora da última atualização da iniciação de pagamento.
Uma string com data e hora conforme especificação RFC-3339,
sempre com a utilização de timezone UTC(UTC time format).
pixKey string false Chave cadastrada no DICT pertencente ao recebedor. Os tipos de chaves podem ser: telefone, e-mail, cpf/cnpj ou chave aleatória.
No caso de telefone celular deve ser informado no padrão E.1641.
Para e-mail deve ter o formato xxxxxxxx@xxxxxxx.xxx(.xx) e no máximo 77 caracteres.
No caso de CPF deverá ser informado com 11 números, sem pontos ou traços.
Para o caso de CNPJ deverá ser informado com 14 números, sem pontos ou traços.
No caso de chave aleatória deve ser informado o UUID gerado pelo DICT, conforme formato especificado na RFC41223.
[Restrição] Preenchimento obrigatório para pagamentos via Chave.
status EnumPaymentStatusType true Estado atual da iniciação de pagamento. O estado evolui na seguinte ordem:
1. PDNG (PENDING) - Iniciação de pagamento ou transação de pagamento está pendente. Checagens adicionais em realização.
2. PART (PARTIALLY ACCEPTED) - Aguardando autorização múltipla alçada.
3. ACSP (ACCEPTED_SETTLEMENT_IN_PROCESS) - Iniciação de pagamento aceita e processamento do pagamento foi iniciado.
4. ACSC (ACCEPTED_SETTLEMENT_COMPLETED_DEBITOR_ACCOUNT) - Débito realizado na conta do pagador.
5. ACCC (ACCEPTED_SETTLEMENT_COMPLETED) - Crédito realizado na instituição de destino.
Em caso insucesso:
RJCT (REJECTED) - Instrução de pagamento rejeitada.
rejectionReason EnumRejectionReasonType false Motivo da rejeição do pagamento. Informações complementares sobre o motivo do status.
AB03 (ABORTED_SETTLEMENT_TIMEOUT) - Liquidação da transação interrompida devido a timeout no SPI.
AB09 (ERROR_CREDITOR_AGENT) - Transação interrompida devido a erro no participante do usuário recebedor.
AB11 (TIMEOUT_DEBTOR_AGENT) - Timeout do participante emissor da ordem de pagamento.
AC03 (INVALID_CREDITOR_ACCOUNT_NUMBER) - Número da conta transacional do usuário recebedor inexistente ou inválido.
AC06 (BLOCKED_ACCOUNT) - Conta transacional do usuário recebedor encontra-se bloqueada.
AC07 (CLOSED_CREDITOR_ACCOUNT_NUMBER) - Número da conta transacional do usuário recebedor encerrada.
AC14 (INVALID_CREDITOR_ACCOUNTTYPE) - Tipo incorreto para a conta transacional do usuário recebedor. AG03 (TRANSACTION_NOT_SUPPORTED) - Tipo de transação não é suportado/autorizado na conta transacional do usuário recebedor. Exemplo: transferência para conta salário.
AG12 (NOT_ALLOWED_BOOK_TRANSFER) - Não é permitida ordem de pagamento/devolução no SPI cujos recursos sejam transferidos de uma conta transacional para outra em uma mesma instituição participante ou entre participantes que utilizem o serviço de liquidação de um mesmo participante liquidante no SPI (booktransfer).
AG13 (FORBIDDEN_RETURN_PAYMENT) - Não é permitido devolver a devolução de um pagamento instantâneo.
AGNT (INCORRECT_AGENT) - Participante direto não é liquidante do participante do usuário pagador / participante do usuário recebedor.
AM01 (ZERO_AMOUNT) - Ordem de pagamento instantâneo com valor zero.
AM02 (NOT_ALLOWED_AMOUNT) - Ordem de pagamento/devolução em valor que faz superar o limite permitido para o tipo de conta transacional creditada.
AM04 (INSUFFICIENT_FUNDS) - Saldo insuficiente na conta PI do participante do usuário pagador.
AM09 (WRONG_AMOUNT) - Devolução de pagamento em valor que faz superar o valor da ordem de pagamento instantâneo correspondente.
AM12 (INVALID_AMOUNT) - Divergência entre a somatória dos valores do bloco ‘valorDoDinheiroOuCompra’ e o campo ‘valor’.
AM18 (INVALID_NUMBER_OF_TRANSACTIONS) - Quantidade de transações inválida.
BE01 (INCONSISTENT_WITH_END_CUSTOMER) - CPF/CNPJ do usuário recebedor não é consistente com o titular da conta transacional especificada.
BE15 (INVALID_IDENTIFICATION_CODE) - Código de situação de pagamento ou de erro inválido.
BE17 (INVALID_CREDITOR_IDENTIFICATION_CODE) - QR Code rejeitado pelo participante do usuário recebedor.
CH11 (CREDITOR_IDENTIFIER_INCORRECT) - CPF/CNPJ do usuário recebedor incorreto.
CH16 (ELEMENT_CONTENT_FORMALLY_INCORRECT) - Elemento da mensagem incorreto.
DS04 (ORDER_REJECTED) - Ordem rejeitada pelo participante do usuário recebedor.
DS0G (NOT_ALLOWED_PAYMENT) - Participante que assinou a mensagem não é autorizado a realizar a operação na conta PI debitada. No caso em que o participante que assinou a mensagem não é o titular da conta PI debitada nem é o liquidante no SPI do participante do usuário pagador.
DS0H (NOT_ALLOWED_ACCOUNT) - ISPB do participante que submeteu a resposta à ordem de pagamento/devolução diferente do ISPB do participante creditado pela ordem.
DS27 (USER_NOT_YET_ACTIVATED) - Participante não se encontra cadastrado ou ainda não iniciou a operação no SPI.
DT02 (INVALID_CREATION_DATE) - Data e Hora do envio da mensagem inválida.
DT05 (INVALID_CUT_OFF_DATE) - Transação extrapola o prazo máximo para devolução de pagamento instantâneo regulamentado pelo Arranjo Pix.
ED05 (SETTLEMENT_FAILED) - Erro no processamento do pagamento instantâneo.
FF07 (INVALID_PURPOSE) - Inconsistência entre a finalidade da transação e o preenchimento do bloco elementos Structured.
FF08 (INVALID_END_TO_END_ID) - Identificador da operação mal formatado.
RC09 (INVALID_DEBTOR_CLEARING_SYSTEM_MEMBER_IDENTIFIER) - ISPB do participante do usuário pagador inválido ou inexistente.
RC10 (INVALID_CREDITOR_CLEARING_SYSTEM_MEMBER_IDENTIFIER) - ISPB do participante do usuário recebedor inválido ou inexistente.
RR4 (REGULATORY_REASON) - Ordem de pagamento em que o usuário pagador é sancionado por resolução do Conselho de Segurança das Nações Unidas (CSNU). Nos casos em que o usuário recebedor for o sancionado, a ordem de pagamento não deve ser rejeitada.
SL02 (SPECIFIC_SERVICE_OFFERED_BY_CREDITOR_AGENT) - A transação original não está relacionada ao serviço de Saque Pix.
[Restrição] Esse motivo deverá ser enviado quando o campo /data/status for igual a RJCT (REJECTED).
payment PaymentPix true Objeto contendo dados do pagameto como moeda e valor.
remittanceInformation string false Deve ser preenchido sempre que o usuário pagador inserir alguma informação adicional em um pagamento, a ser enviada ao recebedor.
creditorAccount CreditorAccount false Objeto que contém a identificação da conta de destino do beneficiário/recebedor.

{
  "self": "https://api.banco.com.br/open-banking/api/v1/resource",
  "first": "https://api.banco.com.br/open-banking/api/v1/resource",
  "prev": "https://api.banco.com.br/open-banking/api/v1/resource",
  "next": "https://api.banco.com.br/open-banking/api/v1/resource",
  "last": "https://api.banco.com.br/open-banking/api/v1/resource"
}

Referências para outros recusos da API requisitada.

Propriedades

Nome Tipo Obrigatório Descrição
self string(uri) true URI completo que gerou a resposta atual.
first string(uri) false URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
prev string(uri) false URI da página anterior dessa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
next string(uri) false URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
last string(uri) false URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta

Meta

{
  "totalRecords": 1,
  "totalPages": 1,
  "requestDateTime": "2021-05-21T08:30:00Z"
}

Meta informações referente a API requisitada.

Propriedades

Nome Tipo Obrigatório Descrição
totalRecords integer(int32) true Número total de registros no resultado
totalPages integer(int32) true Número total de páginas no resultado
requestDateTime string(date-time) true Data e hora da consulta, conforme especificação RFC-3339, formato UTC.

Requisitos não funcionais

Nível de serviço (SLA)

O suporte eficaz da disponibilidade do Open Banking mantém níveis consistentes de serviços do sistema. Níveis de Serviço definidos:

Informativamente, esse nível de serviço representa aproximadamente um downtime máximo de 0,5% por trimestre, o que corresponde a 18s por hora, 7,2min (432s) por dia, 3,6h (216m) por mês e 10,8h (648m) por trimestre.

A definição de um período de indisponibilidade é qualquer período de tempo em que qualquer um dos endpoints da API definidos na norma é incapaz de fornecer uma resposta confiável a uma solicitação construída de forma apropriada.

Checagem de disponibilidade:

A disponibilidade é checada no endpoint GET /discovery/status, conforme documentada no item API de Status.

A cada 30 segundos, a API de status é requisitada com timeout de 1s.

O downtime deve ser calculado como o número total de segundos simultâneos por requisição da API, por período de 24 horas, começando e terminando à meia-noite, que qualquer endpoint da API não esteja disponível, dividido por 86.400 (total de segundos em 24 horas) e expresso como uma porcentagem.

A disponibilidade é calculada sendo 100% menos a quantidade em percentual da indisponibilidade.

Não será considerado como downtime:

Nível de desempenho

O desempenho do endpoint da API será medido no tempo de resposta de cada solicitação, desde o recebimento da solicitação até a entrega da resposta.
Espera-se que o detentor dos dados garanta que a medição do tempo de resposta ocorra o mais próximo possível do receptor dos dados, embora algumas camadas técnicas não estejam no controle do detentor dos dados.
À luz destas considerações, a exigência de desempenho para os detentores dos dados é:

P. ex. Em um dia que a API Produtos e Serviços receba 10.000 chamadas, pelo menos 9.500 delas deveriam ter sido respondidas dentro de um prazo inferior a 1500ms.

Limites de tráfego de requisições

Os limites de tráfego serão estabelecidos utilizando as seguintes métricas:

Cada instituição transmissora, deverá garantir os seguintes limites mínimos de tráfego abaixo especificados para as APIs de Dados Públicos – Fase 1, os quais serão revisados e ajustados em decorrência dos indicadores de uso das APIs, com revisão prevista imediatamente antes da entrada da Fase 2:

As chamadas que excedam os seguintes limites de tráfego poderão ser enfileiradas ou rejeitadas por um detentor de dados sem impacto em seu desempenho ou requisitos de disponibilidade.

Requisições que ultrapassem os limites estabelecidos poderão ser rejeitadas utilizando o HTTP status code:429 Too Many Requests.

Guia de Versionamento

Este anexo tem como objetivo detalhar quando mudanças nas APIs do Open Banking serão consideradas disruptivas (breaking changes) exigindo a criação de uma nova versão maior (major) e quando uma mudança poderá ser tratada como não disruptiva (non breaking changes) podendo ser criada uma versão menor (minor) para comportá-la.

Mudanças em APIs REST podem ocorrer no contrato da API (Open API 3.0) tendo efeitos mais visíveis aos consumidores e, portanto, sendo mais fácil de se mapear os seus impactos; ou podem acontecer em suas regras de negócio/implementação precisando de uma análise mais complexa de quando a mudança traz impactos aos atuais consumidores das APIs.

Nota: Os exemplos contidos neste anexo são meramente ilustrativos e não refletem as APIs definidas nas especificações do Open Banking.

Ele poderá ser acessado clicando aqui.

Suporte ao desenvolvedor

Fale conosco enviando sua sugestão, dúvida ou problema através do site do Service Desk, disponível neste link.

Participantes Open Banking Brasil

Acesso a JSON com dados dos participantes

Os participantes do Open Banking Brasil podem ser consultados a partir do arquivo localizado no link https://data.directory.openbankingbrasil.org.br/participants.

A lista é composta por todos os participantes cadastrados no diretório do Open Banking.

Os campos que contêm informações relevantes para descoberta dos endpoints para a fase 1 são:

Campo Descrição
OrganisationDetails.OrganisationId O Identificador do participante
AuthorisationServers.CustomerFriendlyName Nome da marca
OrganisationDetails.RegistrationNumber CNPJ
OrganisationDetails.RegisteredName Razão Social
OrgDomainRoleClaim.Role Papel junto ao Open Banking
OrgDomainRoleClaim.Status Status do papel
AuthorisationServers.APIResources.APIFamilyTipe URL das APIs
AuthorisationServers.APIResources.APIVersion
AuthorisationServers.APIResources.APIEndPoint
AuthorisationServers.DeveloperPortalURI URL da documentação sobre a API do participante

A especificação do arquivo de participantes pode ser acessada aqui.

Especificações de registro de participantes

Live do Cadastramento - acesse neste link o tutorial em vídeo.

Passo a passo do Cadastramento - acesse neste link o arquivo com instruções.

Change Log

A tabela abaixo lista as mudanças realizadas em ordem reversa de data (a data mais recente estará acima).

Data Versão Descrição Detalhamento
31/05/2021 v1.0.0-rc6.4 Lançamento Fase 3. Consulte o Release Notes.
27/05/2021 v1.0.0-rc6.3 Revisão Fase 2. Consulte o Release Notes.
17/05/2021 v1.0.0-rc6.2 Revisão Fase 2. Consulte o Release Notes.
09/04/2021 v1.0.0-rc6.1 Criação do Menu Change Log. Menu de Change Log.
01/04/2021 v1.0.0-rc6.0 Revisão Fase 2. Consulte o Release Notes.
15/03/2021 v1.0.0-rc5.3 Melhorias e Correções nas APIs da Fase 2. API's da Fase 2.
15/02/2021 v1.0.0-rc5.2 Melhorias e Correções nas APIs da Fase 2. API's da Fase 2.
01/02/2021 v1.0.0-rc5.1 Lançamento Fase 2. API's da Fase 2.
11/01/2021 v1.0.0-rc5 Melhorias e Correções nas APIs da Fase 1. API's da Fase 1.
18/12/2020 v1.0.0-rc4 Melhorias e Correções nas APIs da Fase 1. API's da Fase 1.
11/12/2020 v1.0.0-rc3 Melhorias e Correções nas APIs da Fase 1. API's da Fase 1.
13/09/2020 v1.0.0-rc2 Melhorias e Correções nas APIs da Fase 1. API's da Fase 1.
14/06/2020 v1.0.0-rc Lançamento Fase 1. API's da Fase 1.

FAQ

Como tratar campos Obrigatórios?

No Github, item Padrões – Convenções de payload – Atributos vazios / nulos encontram-se as orientações solicitadas quanto ao tratamento de campos: obrigatórios, opcionais e condicionais.

"Um atributo omitido (ou seja, um atributo que não está presente no payload) será considerado equivalente a um atributo que esteja presente com o valor null.

Uma string vazia (“”) não será considerada equivalente a null.

O valor booleano false não será considerado equivalente a null. Os atributos booleanos opcionais, por definição, possuirão três valores possíveis: verdadeiro (true), falso (false) e indeterminado (null).

Na situação onde o campo a ser informado no payload seja obrigatório e a Instituição, seja consumidora no envio ou transmissora no retorno, não a possuir, deve-se implementar o valor padronizado: “NA” - Não se Aplica, com exceção dos campos declarados como ENUM que deverão ser sempre preenchidos com os valores válidos para o ENUM correspondente."

Como tratar campos Opcionais?

No Github, item Padrões – Convenções de payload – Atributos vazios / nulos encontram-se as orientações solicitadas quanto ao tratamento de campos: obrigatórios, opcionais e condicionais.

"Um atributo omitido (ou seja, um atributo que não está presente no payload) será considerado equivalente a um atributo que esteja presente com o valor null.

Uma string vazia (“”) não será considerada equivalente a null.

O valor booleano false não será considerado equivalente a null. Os atributos booleanos opcionais, por definição, possuirão três valores possíveis: verdadeiro (true), falso (false) e indeterminado (null).

Na situação onde o campo a ser informado no payload seja obrigatório e a Instituição, seja consumidora no envio ou transmissora no retorno, não a possuir, deve-se implementar o valor padronizado: “NA” - Não se Aplica, com exceção dos campos declarados como ENUM que deverão ser sempre preenchidos com os valores válidos para o ENUM correspondente."

Por que todos os campos com domínio definidos não tem tamanho explicitado no dicionário de dados?

Por Padrão, explicitado no item Tipos de Dados Comuns, no Github, todos os possíveis conteúdos de Enum estão declarados. Não é informado o tamanho para este tipo de dado. Cada instituição definirá o tamanho máximo a ser adotado. Como regra observar que o tamanho máximo deve ser igual ou maior ao tamanho total da maior ocorrência da lista.

No momento, o compartilhamento dos dados relativos aos Terminais de autoatendimento compartilhados é facultativo?

A normativa nº 35 explicita a existência da API de Terminais de autoatendimento compartilhado, por isso o Github traz esta estrutura. Num primeiro momento, foi declarado através da normativa nº 35 que todos seus atributos são opcionais.

De que tipo de terminal o regulador está se referindo, pois temos algumas situações distintas em nossa instituição:

1. Terminais de nossa propriedade cujo demais bancos firmam convênio para que seus clientes os utilizem;

2. Terminais de terceiros como Saque e Pague e Banco 24h, que possuímos convênio para uso de nossos clientes.

Para o segundo caso, se for esse o foco do pedido do regulador, não teremos os dados de forma atualizada para informar via API, uma vez que tal informação estará disponível no proprietário do terminal, como por exemplo a TecBan? Se precisarmos informar tais dados, não teremos como nos responsabilizar pela veracidade e integridade do mesmo.

O item 2.4.2, sobre terminais de autoatendimento compartilhados, do ANEXO À INSTRUÇÃO NORMATIVA BCB Nº 35, de 2020, , refere-se exatamente aos terminais de propriedade de terceiros, a exemplo do Saque e Pague e Banco 24h citados, contratados pelas instituições para a prestação de serviços a seus clientes. No que diz respeito à veracidade e à integridade dos dados fornecidos, trata-se de responsabilidade da instituição participante, conforme dispõe o art. 31 da Resolução Conjunta n.º 1, de 2020.

Na normativa nº 35, do BCB, para Correspondente Bancário os atributos weekday e phonestype aparecem como opcional, mas no Github aparecem como obrigatórios isto está correto?

O atributo weekday faz parte da lista availability, assim como phonestype faz parte da lista phones. As listas estão classificadas como opcionais, portanto caso a Instituição não tenha valores para informar em availability ou em phones estas listas como um todo estão classificadas opcionais não aparecerão na resposta solicitada. Porém, caso haja conteúdo a ser informado na lista availability ou phones o preenchimento dos atributos do tipo Enum: weekday ou phonestype passam a ser obrigatórios. Por isso estão assim classificados, seguindo protocolos das melhores práticas.

Sendo consideradas somente as operações “contratadas” no mês da apuração no cálculo e disponibilização de informações relativas a distribuição de frequência de Taxas remuneratórias.

Sendo consideradas somente as operações "contratadas" no mês da apuração no cálculo e disponibilização de informações relativas a distribuição de frequência de Tarifas.

Orientações, padrões e exemplos sobre apuração dos valores para a distribuição de frequência de Tarifas e Taxas Remuneratórias

Podem ser encontradas no item Divulgação dos valores de tarifas e taxas de juros remuneratórias, em API – Produtos Serviços.

É possível incluir novos Tipos de cartão?

Informamos que nesta fase 1 não serão incluídas novas ocorrências no Enum dos tipos de cartão. Deve-se selecionar a opção 'OUTROS' e complementar a informação utilizando o atributo additionaInfo.

Como reportar Agências Digitais?

Para o item dependências e correspondentes, a grande referência foi o que as instituições já reportam via mensageria regulatória. (UNICAD).

RESOLUÇÃO Nº 4.072, DE 26 DE ABRIL DE 2012.

Vide 4015 - Art. 2º Os dados sobre os canais de atendimento objeto de compartilhamento de que trata o art. 5º, inciso I, alínea "a", da Resolução Conjunta nº 1, de 4 de maio de 2020, abrangem, no mínimo, aqueles obrigatoriamente divulgados na forma de dados abertos, de que trata a regulamentação vigente, no caso de dependências próprias e correspondentes no País RC1 - I - dados sobre: a. canais de atendimento relacionados com:

  1. dependências próprias;
  2. correspondentes no País;
  3. canais eletrônicos; e
  4. demais canais disponíveis aos clientes;

*IN-*35 - Divulga a versão 1.0 do Manual de Escopo de Dados e Serviços do Open Banking debatido em auto regulação e regulado pelo BACEN. Não discutimos os itens especificamente, mas entendo que se não está explicito nas regulações vigentes, não há obrigação de report.

As operações de repasse são reportadas no Documento 3050 – Estatísticas agregadas de Crédito e Arrendamento Mercantil em: Financiamento de investimentos com recursos do BNDES e Financiamento Agroindustrial com recurso do BNDES. No Documento 3040 – Dados Individualizados de Risco de Crédito, essas operações são reportadas como 08.02. Financiamentos Rurais – Investimentos, porém, com a origem do recurso como direcionado (02 – BNDES, 03- Finame). Devemos incluir essas operações de repasse dentro do reporte do Open Banking?

As operações informadas no documento 3040, que encontram sua Modalidade representada nas listas das APIs constante do Github devem ser informadas no Open Banking. Quanto a fonte do recurso (02 – BNDES, 03- Finame), esta informação não está discriminada para ser disponibilizada. Para esclarecimento reiteramos que a modalidade 08.02 não faz parte do reporting. Citar a origem dos recursos nunca foi escopo das discussões da fase 1.

Temos participação obrigatória na Fase 3, porém queremos saber detalhes sobre a participação optativa da Fase 1 e Fase 2. As dúvidas iniciais são:

1. Como optativa: Podemos participar da Fase 2 parcialmente?

2. Como optativa: Podemos somente consumir dados da Fase 2?

3. Como optativa: É preciso fazer cadastro do BCB para somente consumir dados da Fase 2?

Salvo possíveis ressalvas do regulador, entendemos, conforme trecho da regulação mais abaixo que não existe participação parcial.

  1. O cadastramento para compartilhamento de informações é obrigatório - compartilhamento neste contexto engloba também o consumo de informações.
  2. A participação voluntária na Fase II implica na disponibilização das interfaces dedicadas ao compartilhamento de dados das Fases I e II.
  3. A instituição poderá decidir se consome ou não os dados no ecossistema - como receptora, mas uma vez participante, torna-se obrigatoriamente transmissora - daí a obrigatoriedade de disponibilizar as interfaces dedicadas.

RESOLUÇÃO CONJUNTA Nº 1, DE 4 DE MAIO DE 2020

"Seção II

Da Participação no Open Banking

Art. 6º São participantes do Open Banking: [...]

§ 1º É obrigatório o compartilhamento dos dados e dos serviços, observados os prazos de implementação mencionados no art. 55: [...]

§ 3º A participação voluntária de que trata o inciso I, alínea "b", do caput, pressupõe a disponibilidade de interface dedicada de que trata o art. 23 na condição de instituição transmissora de dados."

Considerar data da concessão ou data da liberação para o Cálculo da distribuição de frequência para operações com característica de liberações parciais?

No que diz respeito a contratos de crédito guarda-chuva, entendemos que deveria se entender, para todos os efeitos, que a contratação ocorre na data da liberação do recurso. Entendimento similar já foi dado para contratos de cheque especial, por exemplo, podendo, a nosso entender, também ser replicado no caso ilustrado pelo demandante de operações de crédito rural e de custeio de projetos.

Como devemos tratar distribuição de frequência sobre taxas remuneratórias para outras operações de crédito relacionadas ao Produto Cartão?

A princípio não há exigência normativa para se apresentar a distribuição de frequência para essas outras modalidades de crédito relacionadas à cartão de crédito. Conforme a Instrução Normativa BCB 35, de 2020, somente recairia essa exigência, no caso de cartão de crédito, sobre as operações de crédito rotativo e de parcelamento do saldo devedor da fatura, que já são operações que observam alguma espécie de padronização. De qualquer forma, esse é o escopo mínimo de dados, o que não impede que o GT e o conselho deliberativo deliberem por sua expansão em algum momento.

Versões anteriores