;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

BC divulga proposta que prevê concorrência a grandes bancos e juros menores

Téo Takar

Do UOL, em São Paulo

24/04/2019 19h21

O Banco Central divulgou os detalhes da proposta para implementação do open banking no Brasil, conforme antecipado pelo UOL na semana ada. O sistema tem como objetivo promover a competição dentro do sistema financeiro e reduzir a concentração nos grandes bancos. A expectativa do BC é que o modelo de open banking comece a funcionar a partir do segundo semestre de 2020.

O open banking permitirá, por exemplo, que as fintechs (empresas de tecnologia que prestam serviços financeiros) em os dados de clientes de grandes bancos, mediante autorização prévia do consumidor, para oferecer diversos serviços e produtos, como empréstimos com juros mais baixos.

"Em linha com a recém-aprovada Lei de Proteção de Dados Pessoais, o open banking parte do princípio de que os dados bancários pertencem aos clientes e não às instituições financeiras. Dessa forma, desde que autorizadas pelo correntista, as instituições financeiras compartilharão dados, produtos e serviços com outras instituições, por meio de abertura e integração de plataformas e infraestruturas de tecnologia, de forma segura, ágil e conveniente", informou o Banco Central.

A proposta e outros atos normativos necessários à ativação do sistema, bem como seu cronograma de instalação, serão submetidos à consulta pública no segundo semestre. A proposta prevê que serão compartilhados os seguintes dados e serviços, gradualmente, nesta ordem:

1 - produtos e serviços oferecidos pelas instituições participantes (localização de pontos de atendimento, características de produtos, termos e condições contratuais e custos financeiros, entre outros);

2 - dados cadastrais dos clientes (nome, número de inscrição no Cadastro de Pessoas Físicas - F, filiação, endereço, entre outros);

3 - dados transacionais dos clientes (dados relativos a contas de depósito, a operações de crédito, a demais produtos e serviços contratados pelos clientes, entre outros); e

4 - serviços de pagamento (inicialização de pagamento, transferências de fundos, pagamentos de produtos e serviços, entre outros).

Tudo num único aplicativo

O open banking permitirá, por exemplo, que os clientes visualizem em um único aplicativo o extrato consolidado de todas as suas contas bancárias e investimentos.

Também será possível, pelo mesmo aplicativo, realizar uma transferência de recursos ou realizar um pagamento, sem a necessidade de ar diretamente o site ou app do banco, ou ficar trocando de um banco para outro.

Brasil seguirá tendência mundial

O open banking já está em pleno funcionamento na Comunidade Europeia desde o ano ado. Segundo o Banco Central, a tendência é que outros grandes mercados financeiros mundiais adotem o sistema.

"O tema tem-se destacado mundialmente no contexto das inovações introduzidas no mercado financeiro. Reguladores de algumas jurisdições identificaram a necessidade de intervenção regulatória para disciplinar o assunto, de forma a assegurar o alcance de seus objetivos específicos. Nesse contexto, o Banco Central do Brasil vem acompanhando as discussões internacionais e as iniciativas locais", informou o órgão regulador em nota.

Bancos definirão questões práticas

O Banco Central informou ainda que estimulará os bancos a promover uma autorregulação para definição do padrão tecnológico e de procedimentos operacionais, que envolvem questões de segurança e proteção dos dados e de integração entre os diferentes sistemas usados pelos bancos.

Entenda o que é o spread bancário e a relação com os juros que você paga

UOL Notícias