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:
Atualizar os participantes dos últimos desenvolvimentos no perfil OIDF Financial-Grade API (FAPI) e nos requisitos brasileiros;
Demonstrar as respectivas ferramentas de conformidade e os benefícios da certificação;
Oferecer aos participantes apoio no uso dessas ferramentas;
Incentivar um maior número de certificações;
Ajudar a expandir o ecossistema de Open Banking, aumentando a segurança e os benefícios para os participantes e clientes finais.
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
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
- Major: inclui novas características da implementação, mudanças, correções a serem incorporadas e que poderão vir a quebrar o contrato.
- P.ex. v1.0.0, v2.0.0.
- Minor: pequenas mudanças nos elementos já existentes, com manutenção da compatibilidade e sem quebra de contrato.
- P.ex. v1.1.0, v1.2.0
- Patch: esclarecimentos às especificações publicadas pelo diretório, não incluem alterações funcionais.
- P.ex. v1.1.1, v1.1.2
- Release candidate: versões de pré-lançamento de qualquer patch futuro, minor ou major.
- P.ex. v1.0.0-rc , v1.0.0-rc2
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:
- Host: O host de API da entidade financeira implementadora é um endereço base definido pela entidade transmissora de dados.
- “open-banking”: Esta é uma string constante que representa a finalidade desta API.
- API: A API que será consumida (p.ex. channels).
- Versão: O número da versão da API. Na URI a versão deve ser precedida pela letra "v" seguida pelo número da versão a ser consumida (p.ex. v1, v2, v25).
- Recurso: O recurso a ser consumido dentro de uma API. Utilizando como exemplo a API
channels
, a mesma possui 5 recursos:- branches
- banking-agents
- electronic-channels
- phone-channels
- shared-automated-teller-machines
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:
- Se a resposta for bem-sucedida (200 OK), o objeto JSON irá conter:
- obrigatóriamente um objeto
data
- obrigatóriamente um objeto
links
- opcionalmente um objeto
meta
, se necessário pela definição do endpoint requisitado
- obrigatóriamente um objeto
- Se a resposta for malsucedida (não 200 OK), o objeto JSON poderá conter:
- um objeto
errors
(conforme a definição específica do endpoint)
- um objeto
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":{
"..."
}
}
- O objeto
errors
será um array de zero ou mais objetos. Os atributos deste objeto serão os descritos abaixo:- obrigatoriamente o atributo
code
contendo um código de erro específico do endpoint; - obrigatoriamente o atributo
title
contendo um título legível por humanos do erro deste erro específico; - obrigatoriamente o atributo
detail
contendo uma descrição legível por humanos deste erro específico; - opcionalmente o objeto
meta
contendo dados adicionais sobre o endpoint que seja relevante para o erro.
- obrigatoriamente o atributo
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:
Sempre estar no singular
Nos casos em que o nome não ficar claro, devem ser incluídos mais termos para esclarecer o entendimento
Para garantir o entendimento e a padronização, nos casos de atributos que tratem dados específicos, sempre devem ser usados termos complementares no fim dos nomes. São esses:
- nomes = Name (p.ex. ownerName)
- datas = Date (p.ex. openingDate)
- horários = Time (p.ex. openingTime)
- quantidades = Quantity (p.ex. eventLimitQuantity)
- textos explicativos = Info* (p.ex. additionalInfo)
*Para textos explicativos de informações complementares, o nome completo do atributo é “additionalInfo”
Em atributos que sejam indicadores binários (flags), o nome deve estar formatado como pergunta, com um verbo como primeiro termo. Ex: “hasRewardProgram”
Tipos de dados comuns
Propriedades
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:
Links
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
- Não é esperado que os provedores implementem paginação com isolamento de transação. Os dados que serão retornados podem mudar entre requisições subsequentes. Isto pode causar situações onde um mesmo registro pode ser retornado em mais de uma página.
- O tamanho máximo da página é
1000
registros para qualquer endpoint (a menos que na documentação desse esteja informando outros valores). - Se for requisitado uma quantidade de registros maior que o suportado, o retorno será o código HTTP status code
422
Unprocessable Entity
, indicando que o servidor entendeu a requisição, mas não é possível processá-la conforme foi solicitado.
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:
- O ID de um recurso deve ser especificado no endpoint de uma API apenas para obter detalhes do recurso ou para realizar alterações no mesmo.
- Se o ID for especificado nos padrões do Open Banking, então ele é obrigatório e deverá ser fornecido pela entidade implementadora da API de acordo com o padrão definido.
- Se um ID for especificado, o mesmo deverá ser totalmente desconectado de significados com outras entidades. Por exemplo, um ID não deve ser uma combinação de outros campos ou uma string que possa ter conteúdo sensível que possa ser extraído.
- Os IDs devem ser únicos, e sua padronização será detalhada a partir da Fase 2 do Open Banking no Brasil, porém sua unicidade pode estar dentro de um contexto. Por exemplo, um ID de conta corrente deve ser único, porém apenas dentro do contexto de conta corrente.
- Nos payloads o nome de campo "id" nunca deverá ser utilizado. Cada campo ID deverá ter um nome significativo, dessa forma independentemente de onde o ID for utilizado entre múltiplos endpoints, ele sempre irá se referir ao seu objeto principal. Por exemplo, IDs para conta deverão ser representados no JSON como "accountId".
Princípios para a formação de IDs (identificadores) de recursos nas APIs
- O ID DEVE ser uma string com limitação de 100 caracteres - limite que poderá ser revisitado em caso de necessidade apresentada por quaisquer dos participantes do Open Banking Brasil e - aderente aos padrões apresentados na seção 2.1 da RFC 2141;
- Uma vez que será trafegado nas chamadas de interface, o ID NÃO DEVE conter dados classificados como PII - Personally identifiable information (Informação Pessoalmente Identificável) ou Informação de Identificação Pessoal;
- DEVE ser garantida a unicidade do ID dentro do contexto da API assim como a estabilidade do mesmo, sendo a estabilidade condicionada à manutenção das características de identificação natural do recurso em questão (por exemplo, as informações de banco, agência e conta na API de Contas). A alteração das características de identificação natural implica na geração de um novo identificador associado ao recurso;
- A utilização de meios técnicos razoáveis e disponíveis para a formação do ID é de livre implementação por parte da instituição transmissora dos dados, de forma que apenas a aderência aos princípios elencados nesta documentação é mandatória.
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:
- O participante pode oferecer uma API completamente nova que não está coberta nos padrões definidos
- O participante pode oferecer novos endpoints em uma API que já foi definida no padrão
- O participante pode oferecer campos de entrada e retorno opcionais para um endpoint que já foi definido no padrão
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 :
- Privado - Destinado a funcionários de empresas do setor privado
- Público - (prefeituras, estados, órgãos) - Destinado a servidores públicos federais, estaduais ou municipais
- INSS - Destinado a beneficiários (aposentados e / ou pensionistas) do INSS.
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:
- CNPJ da instituição
- Modalidade da operação
- Tipo do cliente
- Código do cliente
- 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
Representante Legal (Legal Representative)
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:
- Se o saldo da minha conta é de R$1.000, mas eu vejo que tem um saldo provisionado de R$400, isso quer dizer que só posso movimentar R$600, se não quiser entrar no vermelho.
- Valor depositado na conta que se encontra bloqueado para utilização, como bloqueios judiciais.
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:
- serviços essenciais – não podem ser cobrados;
- 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;
- 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;
- 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
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)
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:
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:
- open-data
- customer-data
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:
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.
- End-User: Uma entidade capaz de conceder acesso a recursos protegidos. Quando o proprietário do recurso é um usuário, ele provê o nível de acesso, limitando o escopo de autorização (leitura ou escrita).
- Resource Server: Servidor que hospeda os recursos protegidos, capaz de aceitar e responder a solicitações de recursos protegidos utilizando tokens de acesso.
- Client: Um aplicativo que faz solicitações a recursos protegidos em nome do proprietário do recurso, com a sua autorização.
- Authorization Server: É o servidor que emite tokens de acesso ao client, após autenticar com sucesso e obter autorização do End-User.
Tokens
O OAuth 2.0 faz o uso de diversos tokens, entre eles, o access token, refresh token e Authorization "code".
- Access token: Um token de acesso é utilizado por um client para acessar um recurso, geralmente possuem ciclo de vida curto (minutos ou horas), sendo consumidos durante uma sessão. O Access token indica que o client está autorizado a consumir um recurso protegido, respeitando os scopes para qual o token foi emitido. O token pode ser renovado através de um refresh token. O tipo de Access Token será o "Bearer" OAuth Access Token, referenciado em [RFC 6750].
- Refresh token: Representa uma autorização de longa duração de um client. Esses tokens são trocados entre o client e o Authorization Server e são utilizados para obter (“atualizar”) novos tokens de acesso.
- Authorization code: É um código de autorização que representa o resultado do processo de autorização bem sucedido do usuário final e é utilizado pelo client para obter acesso e atualizar status dos tokens.
É 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.
- Estabelece conexão TLS 1.2 entre o usuário e o client.
- Estabelece conexão mTLS 1.2 entre o client e o Authorization Server.
- Efetua um POST com as credenciais de autenticação do client e o escopo da solicitação.
- Valida a autenticação de credenciais do client, o escopo e o certificado SSL.
- Devolve o Access Token com a mensagem HTTP 200 (OK).
- Estabelece conexão mTLS 1.2 entre o Client e o Resource Server.
- Efetua um POST com o Access Token e o escopo.
- Valida o Access Token, o escopo e o certificado.
- Resposta com a mensagem HTTP 201 com o ID da transação.
- 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:
- End-User: É o sujeito a ser autenticado.
- OpenID Provider - OP: O provedor OpenID é um servidor de autorização OAuth 2.0 que implementa OIDC e pode autenticar um usuário e retornar claims sobre o usuário autenticado e o evento de autenticação para uma parte confiável, geralmente um aplicativo.
- Relying Party – RP: Um client OAuth 2.0 que delega a autenticação de usuários para um provedor de OpenID e solicita claims sobre o usuário do provedor OpenID, geralmente denominado, client.
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.
- ID Token: Um token utilizado para transmitir claims sobre um evento de autenticação e um usuário autenticado (End-user) para um client. Tokens de identificação são codificados em JSON Web Token (JWT) e deve estar em conformidade com a LGPD.
{"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:
- Authorization Code Flow: Para autenticar um usuário, o client redireciona o usuário para um provedor de OpenID. O provedor OpenID autentica o usuário e redireciona o usuário de volta para o client com um código de autorização. O aplicativo usa o código de autorização para obter um ID Token, Access Token e, opcionalmente, um Refresh Token do endpoint do provedor OpenID.
- Implicit flow: Todos os tokens são retornados pelo endpoint de autorização, o Endpoint de Token não é utilizado, esse tipo de fluxo é usado principalmente por Clients implementados em um navegador utilizando uma linguagem de script. O Access Token e o ID Token são devolvidos diretamente ao Client, que pode expô-los ao usuário final e aos aplicativos que têm acesso
- Hybrid flow: O Hybrid Flow, combina elementos do Authorization Code Flow e Implicit Flow, esse modelo permite retornar um ID Token e um Authorization Code como uma resposta ao front-end do client, deixando o backend obter um Access Token e opcionalmente um Refresh Token do endpoint de token utilizando o Authorization Code. Esse padrão de autenticação foi escolhido como mandatório pelo Open Banking e pode ser observado no diagrama a seguir.
Diagrama - Fluxo Hybrid Flow
- Usuário acessa o aplicativo e faz requisições ao Client.
- Client redireciona a requisição de autenticação ao Authorization Server.
- O Authorization Server interage com o usuário com a requisição de autenticação e o consentimento sobre o escopo.
- Usuário efetua a autenticação e provê o consentimento, o Authorization Server cria ou atualiza uma sessão para o usuário.
- 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.
- O Client solicita uma resposta ao Authorization Server com o código de autorização para obter os demais tokens.
- O Authorization Server responde com o ID Token e um Access Token.
- 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.
- O client e o servidor de autenticação estabelecem uma conexão mTLS, e o Client solicita um Access Token.
- 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.
- O servidor de autenticação emite o Access Token como uma resposta ao Client.
- Os Clients fazem uma solicitação de recursos ao Servidor API usando o Access Token.
- O Servidor de API solicita ao Authorization Server que valide o Access Token.
- O Servidor API usa a impressão digital embutida para validar o Access Token.
- O Servidor de Autenticação retorna o resultado da validação do token.
- 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.
- O usuário clica em Login no Client.
- O client redireciona o usuário para o Authorization Server.
- O Authorization Server redireciona o usuário para o prompt de login e autorização.
- 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.
- O Authorization Server redireciona o usuário de volta ao client com um Authorization Code, que é válido para um uso.
- O client envia esse código para o Authorization Server junto com o Client ID e o client secret do Client.
- O Authorization Server verifica o código, o Client ID e o client secret do client.
- O Authorization Server responde com um ID Token e um Access Token (e, opcionalmente, um Refresh Token).
- O Client usa o Access Token para chamar uma API para acessar informações sobre o usuário.
- 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:
- O client cria um recurso contendo todos os dados necessários para informar o processo de autorização no Authorization Server, a criação do Lodging Intent pode exigir uma autorização própria, nesse caso, o client precisa obter antecipadamente um Access Token com o escopo adequado, normalmente usando a concessão do Client Credentials com o* Authorization Server*.
- O serviço de Lodging Intent responde ao client com um id e/ou link para o recurso criado.
- O client então envia a referência do recurso com o pedido de autorização para o Authorization Server. O Authorization Server obtém os dados da transação do recurso de hospedagem e depois de autenticar o usuário, utiliza-os para apresentar uma interface de consentimento. Por exemplo, no caso de um pagamento, o Authorization Server mostra ao devedor, o valor e informações adicionais sobre a transação de pagamento ao usuário e pede o seu consentimento.
- Se o usuário consentir com a autorização solicitada, o Authorization Server associa os dados de autorização à concessão criada (ou atualizada) e os respectivos Access Tokens emitidos com base nessa concessão. Por último, o Authorization Server precisa fornecer os dados de autorização ao respectivo Resource Server, para que seja incorporado no Access Token ou na resposta de Introspection do Token.
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):
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".
Com o token, deve-se fazer uma requisição para a API de Consents, utilizando este token no header.
Ao receber esta requisição, a API deve retornar o identificador do pedido de consentimento.
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.
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.
- App, em posse de um token válido, requisita a API de Resources a informação de quais recursos o token enviado tem acesso;
- 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);
- 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;
- 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.
- Durante o redirecionamento do Consentimento, não se encontrou o browser no dispositivo do usuário: Além da orientação ao usuário, deve-se perceber que o fluxo de Consentimento continua pendente. Como a intenção de consentimento segue válida por 60 minutos, deve-se tentar utilizar o mesmo consentimento para tentar novamente a autorização do usuário.
- Durante o redirecionamento do Consentimento, houve um problema inesperado no servidor do Transmissor (HTTP Code 4xx ou 5xx): Além da orientação ao usuário, deve-se perceber que o fluxo de Consentimento continua pendente. Como a intenção de consentimento segue válida por 60 minutos, deve-se tentar utilizar o mesmo consentimento para tentar novamente a autorização do usuário.
- Durante o redirecionamento do Consentimento, houve um problema inesperado no servidor do Transmissor (Timeout, queda de Internet, etc): Além da orientação do usuário, deve-se perceber que o fluxo de Consentimento continua pendente. Como a intenção de consentimento segue válida por 60 minutos, deve-se tentar utilizar o mesmo consentimento para tentar novamente a autorização do usuário.
- Durante o redirecionamento do Consentimento, houve um problema com o Login do usuário (erro de credenciais): Além da orientação ao usuário, deve-se perceber que o fluxo de Consentimento continua pendente. Como a intenção de consentimento segue válida por 60 minutos, deve-se tentar utilizar o mesmo consentimento para tentar novamente a autorização do usuário.
- Após o consentimento do lado do Receptor, o usuário não confirma o compartilhamento: Além da orientação ao usuário, deve-se perceber que o fluxo de Consentimento continua pendente. Como a intenção de consentimento segue válida por 60 minutos, deve-se tentar utilizar o mesmo consentimento para tentar novamente a autorização do usuário.
- Após o consentimento completo, o app do Receptor não consegue acessar os dados por indisponibilidade: Deve-se tentar novamente. Access Token ainda é válido, portanto deve-se tentar novamente sem maiores prejuízos técnicos.
- Após o consentimento completo, o app do Receptor não consegue acessar os dados por pendência de autorização de um terceiro (ex.: Dupla alçada): Deve-se consultar a API de Resources para verificar as pêndencias e saber como proceder.
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:
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.
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.
Implementação de deep links
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:
iOS: https://developer.apple.com/ios/universal-links/ (cobre mais de 99% de todos os usuários iOS, que estão no iOS 9 ou superior).
Android: https://developer.android.com/training/app-links/index.html (cobre 65% de todos os usuários do Android, que estão no Android 6.0 ou posterior).
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
- Protocolo HTTP versão 1.1.
- Criptografia TLS versão 1.2 suportando somente as seguintes cifras:
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- Autenticação mútua.
- Algoritmo ECDSA.
- Algoritmo de troca de chaves de curva elíptica ECDHE.
- Criptografia simétrica AES com chave de 128 bits
- MAC com SHA de chaves de 256 bits.
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:
- 1º. Comitê Gestor (CG);
- 2º. Autoridade Certificadora (AC Raiz);
- 3º. Autoridades Certificadoras de 1º e 2º nível (ACs);
- 4º. Autoridades de Registros (ARs);
- 5º. usuário final.
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:
- 1º nível – Autoridades Certificadoras Raiz (AC Raiz): Instituto Nacional de Tecnologia da Informação.
- 2º Nível – Autoridades Certificadoras de primeiro nível: Responsável pela emissão, revogação e gerenciamento dos Certificados Digitais de AC.
- 3º nível – Autoridades Certificadoras de segundo nível: Responsável pela emissão, revogação e gerenciamento dos Certificados Digitais.
- 4º nível – Autoridades de Registro: Responsável por identificar o usuário e solicitar e emitir os certificados.
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:
- 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.
- 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.
- 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.
- 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:
- Solicitação: O solicitante deve assinar a solicitação (CSR) utilizando o e-CNPJ e efetuar o upload no Diretório de Participantes.
- Verificação: O Diretório realiza a verificação, estando em conformidade, prossegue para o processo de emissão.
- 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:
- Gerenciar identidades e acesso: a capacidade de emitir e gerenciar registros de identidade para organizações e pessoas físicas que interagem com o Diretório.
- Gerenciar certificados e chaves: A capacidade de fazer upload, gerenciar e remover certificados, chaves de assinatura e chaves de criptografia. A capacidade de emitir, gerenciar e revogar certificados digitais do Open Banking.
- Gerenciar informações do Diretório: a capacidade de atualizar e localizar informações mantidas no diretório - por meio de APIs e/ou uma interface de usuário (IU).
Padrões
- Adoção de padrões abertos
- O design do Diretório de Participantes do Open Banking será baseado em padrões abertos e amplamente adotados, como API Restful, OpenID Connect e OAuth2.
- Participantes devem estar registrados
- Os participantes devem ser autorizados e registrados na autoridade competente.
- Uso de certificados
- Os participantes que possuem um certificado válido podem se registrar no diretório mais rapidamente e sem a necessidade de realizar etapas manuais.
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:
- A instituição receptora está utilizando um certificado digital.
- O certificado se encontra em conformidade com os padrões do Open Banking Brasil.
- O certificado não está expirado.
- O certificado foi emitido por uma Entidade Emissora válida.
- O certificado não foi revogado.
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:
- Validar se a instituição receptora é autorizada por uma autoridade competente.
- Validar as informações da instituição receptora.
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.
- Para usar o Registro dinâmico de client, uma instituição receptora deve se registrar no Diretório de Participantes e obter um SSA e demais certificados digitais.
- O Client envia o SSA a uma instituição transmissora para registro dinâmico na 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:
- Registro de um Client.
- Recuperar um Client.
- Atualizar um Client.
- Excluir um Client.
[Em Revisão] CORS
Contexto Open-Data
O Cross-Origin Resource Sharing (CORS) para todas as origens (valor " * ") será permitido nos seguintes endpoints:
- Open Data APIS
- Canais de Atendimento
- Produtos e Serviços
[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:
- Funcionalidade: todas as funcionalidades das APIs relacionadas aos casos de uso. Deve funcionar de maneira equivalente ou representativa para a interface de produção, incluindo casos de uso negativos e códigos de erro.
- Segurança: Deve utilizar o mesmo perfil de segurança das APIs em produção.
- On-boarding: Deve replicar o processo de on-boarding das instalações de produção da instituição transmissora, incluindo o on-boarding e a troca de certificados para identificação e assinatura de mensagem.
- Certificados: Deve permitir o uso de certificados de teste (que têm o mesmo formato/estrutura dos certificados de produção) de modo que as instituições receptoras possam replicar a funcionalidade relacionados à troca de certificados para identificação e assinatura de mensagens.
- Dados de teste: Não deve incluir quaisquer dados reais de usuários finais. O volume e a variação dos dados devem ser suficientes para dar suporte a todos os testes técnicos e funcionais, incluindo paginação (onde for compatível com a interface dedicada).
- Contas de teste: Deve fornecer para as instituições receptoras um número de contas de teste que habilitem a funcionalidade e o acesso aos dados que os usuários reais experimentarão na produção.
- Autenticação: Deve fornecer recurso que permita que as instituições receptoras testem os procedimentos de autenticação, inclusive em produção, utilizando suas próprias contas e/ou contas de teste.
- Disponibilidade e desempenho: Não deve lidar com volumes de produção (ou seja, não deve ser usada por instituição transmissora ou instituição receptora para teste de estresse), no entanto, deve ter disponibilidade, capacidade, desempenho e outras características suficientes para facilitar a conexão eficaz e realista a testes funcionais da instituição receptora.
- Suporte: A instalação deve ter um nível apropriado de suporte para permitir a comunicação de problemas ou questões por instituições receptoras
- Documentação: Será publicado externamente um resumo das especificações da instalação de teste em seu site, incluindo detalhes de acesso e cobertura de teste.
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:
- FAPI R/W - Brasil suporta signed e encrypted request objects ou push authorization request - Plain FAPI define os campos como opcionais
- FAPI R/W - Brasil demanda dynamic scopes - Plain FAPI não demanda
- FAPI R/W - Brasil demanda dynamic client registration/management - Plain FAPI não demanda
- FAPI R/W - Brasil demanda validação e processamento de specific indentity claims - Plain FAPI não demanda
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:
- Introdução
- Registrando um usuário no Diretório
- Acessando uma Organisation
- Cadastrando um Authorisation Server
- Cadastrando Recursos de uma API
- Criando um Software Statements
- Criando uma solicitação de Assinatura de Certificado (CSR) em Sandbox
- Carregando certificados assinados no Diretório em Produção
- Obtendo um Software Statements Assertion
- Configurando eventos de notificação no Diretório
- Obtendo um token de acesso para as APIs do Diretório
- Listando as organizações cadastradas no Diretório via API
- Listando os servidores de autorização de uma organização via API
- Obtendo um Software Statement via API
- Obtendo um Software Statement Assertion via API
- 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:
- Organisations
- References - Authority
- References - Authorisation Domain
- References - Authorisation Domain Role
- References - Authority Authorisation Domain
- Organisation Authority Domain Claims
- Organisation Authority Claims
- Organisation Authority Claims Authorisations
- Contacts
- Authorisation Servers
- Authorisation Servers - API Resources
- Authorisation Servers - API Discovery Endpoints
- Software Statements
- Software Statement Authority Claims
- Software Statement Certificates
- Software Statement Assertions
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:
- (Status) Encaminhado N2 atendimento
- (Status) Em Análise N2
- (Status) Em Atendimento N2
- (Status) Encaminhado N1 Encerramento
- Interação com chamado através da API do SysAid
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:
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:
- Valores: máximo e mínimo do universo de clientes (i.e. 2 valores)
- Mediana de cada faixa (i.e. 4 valores)
- Percentual de clientes em cada faixa (i.e. 4 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:
- Identificar clientes com mais de uma ocorrência de evento e calcular a média aritmética sobre valores cobrados;
- Enfileirar os valores em ordem crescente de grandeza;
- Definir menor (MenorVL) e maior valor (MaiorVL) relativos às tarifas enfileiradas em ordem crescente
- Definir: ( MaiorVL – MenorVL ) / 4 = Intervalo para definição faixas de valores (e se MenorVL = MaiorVL, então (MaiorVL – 0) / 4
- Calcular mediana dos valores em cada faixa
- Calcular o percentual de clientes por faixa ( soma dos valores apurados = 100% )
Exemplo de Uso:
- Tarifas – Apuração Frequência e valores correspondentes
- Tarifas – Distribuição de Frequência
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:
- Identificar clientes com mais de uma ocorrência de evento e calcular a média aritmética sobre valores cobrados;
- Enfileirar os valores em ordem crescente de grandeza;
- Definir menor (MenorVL) e maior valor (MaiorVL) relativos aos valores enfileirados em ordem crescente
- Calcular: ( MaiorVL – MenorVL ) / 4 = Intervalo para definição faixas de valores (e se MenorVL = MaiorVL, então 1. (MaiorVL – 0) / 4
- Calcular mediana dos valores em cada faixa
- Calcular o percentual de clientes por faixa ( soma dos valores apurados = 100% )
Exemplos de Uso:
- Taxas Remuneratórias – Apuração Frequência e valores correspondentes 1
- Taxas Remuneratórias – Apuração Frequência e valores correspondentes 2
- Distribuição de Frequência
- Distribuição de Frequência Convenções
- Taxas Remuneratórias – Distribuição de Frequência
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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": [
{
"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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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": [
{
"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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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": {
"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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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": {
"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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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": {
"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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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": {
"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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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. |
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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
- DER Conceitual
Fazer download do DER Conceitual
- DER Lógico
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 |
---|---|---|---|---|
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 |
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. |
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"
}
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:
- A iniciadora/TPP não deve alterar o corpo da solicitação ao usar a mesma chave de idempotência. Se a iniciadora alterar o corpo da solicitação, a detentora/ASPSP não deve modificar o recurso final. A detentora pode tratar este caso como uma ação fraudulenta.
- A detentora não deve criar um novo recurso para uma solicitação POST se estiver determinada como uma solicitação idempotente.
- Na criação a detentora deve responder à solicitação com o status atual do recurso (ou um status que seja pelo menos tão atual quanto o que estiver disponível nos canais eletrônicos existentes) e um código de status HTTP 201 (CREATED).
- A iniciadora não deve usar comportamento idempotente para pesquisar o status dos recursos.
- A detentora pode usar a assinatura da mensagem, junto com a chave de idempotência, para garantir que o corpo da solicitação não seja alterado.
Diagrama de Sequência
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:
- 300 TPS global, 50 TPS por instituição e 8 TPS por endereço IP (Internet Protocol).
Como sugestão, é indicado que a instituição iniciadora do pagamento implemente um retry exponencial.
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 • 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. |
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"
}
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:
- Cada endpoint da API deve estar disponível 95% do tempo durante cada período de 24 horas.
- Cada endpoint da API deve estar disponível 99.5% do tempo durante cada período de 3 meses.
- Cada endpoint da API deve retornar o primeiro byte de resposta dentro de 1000ms por 95% das requisiçãos.
- O tempo de resposta será medido por um cliente externo com uma latência de rede máxima de 50 ms (tempo para o primeiro byte).
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.
- Será considerado uptime, se o retorno for:
- OK.
- Será considerado downtime, se o retorno for:
- PARTIAL_FAILURE;
- SCHEDULED_OUTAGE:
- Se a requisição for realizada entre o período de 01h e 07h, o contador de SCHEDULED_OUTAGE é iniciado com 30 segundos acrescidos;
- Cada nova requisição vai adicionando 30 segundos mais ao contador de SCHEDULED_OUTAGE, até que uma requisição volte outro valor ou a requisição for feita depois das 07h.
- Se a requisição for realizada entre o período de 01h e 07h, o contador de SCHEDULED_OUTAGE é iniciado com 30 segundos acrescidos;
- UNAVAILABLE:
- Se a requisição for realizada entre o período de 07h e 01h;
- Se serviço não responder a requisição;
- O contador de downtime é iniciado com 30 segundos acrescidos;
- Cada nova requisição adicionará 30 segundos a mais ao contador de downtime, até que uma requisição retorne OK.
- Se a requisição for realizada entre o período de 07h e 01h;
- PARTIAL_FAILURE;
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.
- De modo geral, consideram-se os erros 5XX HTTP status codes como erros do servidor, e portanto, atribuíveis ao servidor das APIs;
- Erros baseados em 4XX HTTP status code são, em grande parte, atribuídos à ações ou falhas dos receptores, e dessa forma, não devem ser incluídos no cálculo.
Não será considerado como downtime:
- Uma indisponibilidade por mês, por 3h entre 01h e 07h, desde que reportado com uma semana de antecedência ao diretório;
- Por tempo não definido, a qualquer momento e sem notificação em caso de resolução de problemas de segurança, desde que aprovado pelo Diretório. Neste caso, as instituições devem garantir o emprego dos melhores esforços para a resolução do problema
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 é:
- APIs de alta prioridade (status/outages) devem manter percentil 95 em no máximo 1000ms.
- APIs de média prioridade (channels/products-services) devem manter percentil 95 em no máximo 1500ms.
- APIs Admin (ex. metrics) devem manter percentil 95 em no máximo 4000ms.
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:
- Transações por Segundo (TPS) - o número de transações simultâneas a cada segundo;
- Número de chamadas - o número de chamadas de endpoint iniciadas por uma duração especificada.
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:
- 500 Requisições por minuto por receptora (via endereço IP);
- 300 TPS globalmente.
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.
Modalidades de crédito disponíveis para oferta que não tiveram nenhuma contratação no mês da apuração serão informadas trazendo este conjunto de informações ‘vazio’?
- R.: Deve-se reportar a modalidade com o valor das taxas e tarifas representados como N/A (justamente para diferenciar de casos em que não oferecemos os produtos, nos quais não reportamos a modalidade, ou no caso de tarifa zerada, que efetivamente viria com um “0”).
Produtos com características de rotativo, como cartão (rotativo e parcelamento saldo devedor) e cheque especial que têm a incidência das taxas remuneratórias durante a utilização do crédito contratado deverão ter suas taxas remuneratórias informadas na contratação?
- R.: O entendimento é que seria apenas na referência de contratação de fato, ou seja na utilização do crédito (p.ex. o mês que o cliente entra no especial ou no rotativo)
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.
Modalidades de crédito como Contas, Cartão, Cheque Especial que têm em suas tarifas de serviços normalmente relacionadas a utilização do crédito durante a vigência do contrato só serão representadas se a utilização da tarifa incidir no mês da contratação?
- R.: O entendimento é que seria apenas na referência de contratação de fato, ou seja na utilização do crédito (p.ex. o mês que o cliente entra no especial ou no rotativo); desde que a Modalidade de crédito informada ainda seja ofertável.
No caso de se considerar no cálculo da distribuição de frequência sobre Tarifas todas as ocorrências relativas ao mês de apuração, o estoque de operações ainda vigentes de uma modalidade não mais disponível na oferta deve ser desprezada?
- R.: Sim
Modalidades de crédito comercializadas que têm Tarifas de serviços diferenciadas para funcionários deverão ser consideradas no cálculo da distribuição de frequência? Considerando assim, funcionários consumidores de produto também como clientes?
- R.: O entendimento é que o funcionário é cliente nos produtos, ele deve sim entrar na conta (ele é um cliente com condições especiais de taxas e tarifas, assim como outros clientes que também conseguem negociar condições especiais por diversos outros motivos).
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:
- dependências próprias;
- correspondentes no País;
- canais eletrônicos; e
- 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.
- O cadastramento para compartilhamento de informações é obrigatório - compartilhamento neste contexto engloba também o consumo de informações.
- A participação voluntária na Fase II implica na disponibilização das interfaces dedicadas ao compartilhamento de dados das Fases I e II.
- 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.