Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Controle de versão

Versão

Data

Resumo das alterações

1

Versão inicial

2

31 de jan. de 2025

Segregação da métrica de desempenho de APIs da métrica de disponibilidade de APIs.

Maior detalhamento do cálculo da métrica.

Introdução e Objetivos

Esta métrica visa monitorar e assegurar que as se os endpoints das APIs das instituições participantes do Open Finance estejam aderentes aos padrões de desempenho e disponibilidade estabelecidos. A Estrutura Responsável pela Governança do Open Finance monitora essas questões para garantir a integridade, eficiência e eficácia do ecossistema do Open Financeestão cumprindo os SLAs de disponibilidade, estabelecidos no Manual de APIs do Open Finance.

Considerando que a disponibilidade dos endpoints das APIs do Open Finance será calculada empiricamente, baseada na monitoração de requisições válidas.

Sobre a Métrica

A métrica se baseia em dois aspectos principais para determinar a conformidade das APIs das instituições participantes: a disponibilidade das APIs e o tempo de resposta das APIs.

Disponibilidade das APIs

  • Disponibilidade Diária: Monitoramento diário da disponibilidade das APIs, calculada como a fração do total de requisições válidas processadas com sucesso a cada intervalo de 1 minuto.

  • Disponibilidade Longa: Média móvel das disponibilidades dos últimos 90 dias corridos, considerando apenas os dias em que a disponibilidade diária pode ser calculada.

Tempo de Resposta das APIs

  • Desempenho: Medição do tempo de resposta de cada requisição, desde o recebimento da requisição pelo gateway até o envio do último byte da resposta. O valor do percentil 95 (P95) do tempo de resposta é utilizado para minimizar o impacto de valores extremos (outliers).

Critérios de Conformidade:

Disponibilidade das APIs

  • Disponibilidade diária mínima de 95%.

  • Disponibilidade longa (média móvel de 90 dias) mínima de 99.5%.

Tempo de Resposta das APIs

  • Percentil 95 do tempo de resposta:

    • 1.500ms para endpoints de alta e média-alta frequências.

    • 2.000ms para endpoints de média frequência.

    • 4.000ms para endpoints de baixa frequência.

Informações Adicionais

  • As medições devem ser feitas para cada versão major dos endpoints em produção.

  • As requisições com todos os códigos de retorno possíveis devem ser consideradas, exceto aquelas associadas a limites de tráfego e operacionais.

  • As medições de tempo de resposta e disponibilidade devem ser realizadas de maneira independente pela instituição provedora da API, além da Plataforma de Coleta de Métricas (PCM).

  • A Estrutura Responsável pela Governança do Open Finance deve disponibilizar indicadores adicionais para monitoramento e aprimoramento do ecossistema.

APIs de Iniciação de Pagamentos (Pix)

De acordo com o arranjo do Pix, o período de apuração do índice de disponibilidade é mensal. Todos os participantes do Pix devem apurar seu próprio índice de disponibilidade, podendo o BCB solicitar, a qualquer tempo, informações adicionais dos participantes para validação do índice informado, bem como utilizar mecanismos de validação dessa informação por meio de informações disponíveis na infraestrutura operada pelo BCB.

A meta mensal de índice de disponibilidade de cada categoria de participante é a seguintede Disponibilidade das APIs mede a capacidade de uma API estar acessível e funcionando corretamente para os desenvolvedores e usuários finais.

As medições devem ser feitas todos os dias, em todas as faixas de 1 minuto disponíveis, iniciando na primeira faixa (00:00:00-00:00:59) e terminando na última faixa (23:59:00-23:59:59), considerando o horário de Brasília.

As medições devem ser realizadas de maneira independente para cada versão "major" dos endpoints em produção.

status code a ser considerado para uma requisição é o valor reportado pelo consumidor da API, ou seja, o valor reportado pela instituição iniciadora de pagamentos nas APIs de “Serviços de Iniciação de Pagamentos” e o valor reportado pela receptora de dados no caso de APIs de "Dados Cadastrais e Transacionais".  

Na falta de informações dos consumidores, serão utilizadas as informações dos provedores para o cálculo do SLA de disponibilidade, ou seja,  o valor reportado pela instituição detentora de contas nas APIs de "Serviços de Iniciação de Pagamentos", e o valor reportado pela instituição transmissora de dados no caso de APIs de "Dados Cadastrais e Transacionais".

A indisponibilidade programada não exime o cálculo da disponibilidade no período apurado.

A disponibilidade de endpoints que não tenham requisições válidas no período apurado será considerada "indefinida", não estando sujeita a um SLA.

Cada um dos endpoints das APIs categorizadas como "Dados Abertos", "Dados Cadastrais e Transacionais", "Relatórios e Métricas", por versão, e os endpoints das APIs de "Segurança" "/register" e "/token", deverão satisfazer os requisitos mínimos de disponibilidade abaixo:

I - disponibilidade diária (calendário): 95%; e

II - disponibilidade longa (média móvel de 90 dias), medida diariamente: 99,5%.

As APIs classificadas como "Serviços de Iniciação de Pagamentos" seguem o definido na regulamentação do Pix, ou seja, ou seja os participantes têm metas de índice de disponibilidade diferentes, de acordo com as suas categorias de participação no arranjo:

Categoria

Disponibilidade

A

99,5%

B

99,0%

C

98,5%

D

95,0%

A conformidade é avaliada mensalmente, verificando se os endpoints das APIs das instituições participantes atenderam aos SLAs de disponibilidade. A aferição mensal deve considerar a disponibilidade longa do último dia do mês de referência.

Metodologia Simplificada

Para fins de monitoramento deste item, o período de apuração será mensal, conforme orientado pelo Manual de Monitoramento do Open Finance Brasil. A avaliação envolverá:

Para as APIs de “Dados Abertos", "Dados Cadastrais e Transacionais", "Relatórios e Métricas", por versão, e os endpoints das APIs de "Segurança" "/register" e "/token":

  • Disponibilidade diária: Monitoramento monitoramento da disponibilidade diária de em todos os dias do mês de referência.

  • Disponibilidade longa: Cálculo monitoramento da da disponibilidade longa como média móvel dos últimos 90 dias.

  • Tempo de Resposta: Medição do tempo de resposta de cada requisição e cálculo do percentil 95 (P95) do tempo de resposta.

Para as APIs de “Serviços de Iniciação de Transação de Pagamentos” monitoramento mensal de acordo com a regulamentação do Pix, .

Aspectos Técnicos

O monitoramento inclui várias etapas:

  • Agrupar por minuto e contar as requisições com sucesso e erro

Filtragem

  • organisationid = r.clientorgid OU (organisationid = serverorgid E status = 'UNPAIRED')

  • statuscode = 2xx, 5xx, 408 ou 422

  • status ≠ “PAIRED_INCONSISTENT”

Agrupamento

  • serverorgid

  • endpoint

  • dia

  • minuto

Contar as requisições por tipo

total_validas → total de chamadas

success → total chamadas com statuscode  2xx ou 422

error → total chamadas com statuscode 5xx OU 408

 

  • Calcular a disponibilidade do minuto

Para cada minuto, realiza o calculo do percentual de disponibilidade

 disponibilidade_no_minuto = (success / (sucess + errors)) * 100

 

  • Agrupar por dia e calcular o total de minutos disponíveis

Agrupamento

  • serverorgid

  • endpoint

  • dia

Cálculo

total_validas_dia → total de chamadas no dia

total_minutos_disponiveis → total disponibilidade_no_minuto ≥ 95%

total_minutos → total de minutos do dia

 

  • Calcular disponibilidade e conformidade diária, mensal e longa

 Disponibilidade diária

percent_disp_dia = total_minutos_disponiveis / total_minutos

 

Conformidade diária

percent_disp_dia ≥ 0.95 ?

então “CONFORME” se não “NÃO CONFORME”

 

Disponibilidade mensal (Iniciação de pagamentos)

percent_disp_mensal = média mensal de percent_disp_dia

 

Conformidade mensal (Iniciação de pagamentos)

percent_disp_mensal ≥ Categoria de disponibilidade PIX da instituição ?

então “CONFORME” se não “NÃO CONFORME”

 

Disponibilidade longa

percent_disp_u90d = média dos últimos 90 dias de percent_disp_dia

 

Conformidade longa

percent_disp_u90d ≥ 0.995 ?

então “CONFORME” se não “NÃO CONFORME”

Interpretação dos Resultados

Os resultados da métrica serão interpretados para verificar se as instituições estão cumprindo os critérios de conformidade para desempenho e disponibilidade das APIs. A análise incluirá:

Disponibilidade das APIs

Disponibilidade Diária

  • A disponibilidade pontual (t) é calculada como a fração do total de requisições válidas processadas com sucesso a cada intervalo de 1 minuto. Por exemplo, a disponibilidade pontual de um endpoint referente ao minuto 11:34, de um determinado dia, no qual houve um total de requisições válidas com sucesso de 255 e um total de requisições válidas com erro de 4, é calculada da seguinte forma:

...

  • A disponibilidade longa é calculada diariamente como média móvel das disponibilidades dos últimos 90 dias corridos. Por exemplo, a disponibilidade longa do último dia de março é a média das disponibilidades diárias dos últimos 90 dias.

Tempo de Resposta das APIs

Cálculo do Desempenho

  • Para fins do cálculo do desempenho, deve-se considerar o valor do percentil 95 (P95) dos tempos de resposta diários.

  • Exemplo: Se um endpoint recebe 10.555 requisições em um dia (n = 10.555), o índice para o percentil 95 (i95) será 10.027 (i95 = [0.95 * n] = [10.027,25] = 10.027). Ordenando os tempos de resposta em ordem crescente (Rord), o valor do percentil 95 (P95) será o tempo de resposta na posição 10.027 no conjunto ordenado Rord

Service Level Agreement (SLA)

  • Endpoints de alta e média-alta frequências: P95 do tempo de resposta em no máximo 1.500ms.

  • Endpoints de média frequência: P95 do tempo de resposta em no máximo 2.000ms.

  • Endpoints de baixa frequência: P95 do tempo de resposta em no máximo 4.000ms.

Aferição do Desempenho

  • Um endpoint estará em conformidade se respeitar o SLA do desempenho em pelo menos 90% dos dias do mês de referência, com o valor do P95 dos demais dias não superior ao SLA do desempenho aumentado em 20%.

A conformidade para a disponibilidade das APIs depende da conformidade em todos os dias da disponibilidade diária das APIs e da sua disponibilidade longa, considerando o último dia do mês de apuração. As APIs de “Serviços de Iniciação de Pagamentos” seguem as metas do índice de disponibilidade do arranjo Pix.

Exemplo Ilustrativo

Para ilustrar as condições de conformidade e desconformidade, considere os seguintes exemplos:

Conformidade

Em um mês de 30 dias, um endpoint de alta frequência deve apresentar um valor de P95 inferior a 1500ms em pelo menos 90% dos dias (27 dias). Nos demais dias, o valor de P95 pode ser até 20% superior ao SLA (1500ms * 1,2 = 1800ms).

Dia

P95 (ms)

Conformidade

1

1400

Sim

2

1450

Sim

3

1600

Sim

27

1500

Sim

28

1750

Sim

29

1780

Sim

30

1790

Sim

Neste exemplo, o endpoint está em conformidade para fins do processo de monitoramento naquele mês, pois em 27 dias o P95 foi inferior a 1500ms e, nos demais dias, o P95 não ultrapassou 1800ms.

Desconformidade

Em um mês de 31 dias, um endpoint de alta frequência deve apresentar um valor de P95 inferior a 1500ms em pelo menos 90% dos dias (28 dias). Nos demais dias, o valor de P95 pode ser até 20% superior ao SLA (1500ms * 1,2 = 1800ms). Se em qualquer um desses dias o P95 for superior a 1800ms, o endpoint estará em desconformidade.

Dia

P95 (ms)

Conformidade

1

1400

Sim

2

1450

Sim

3

1600

Sim

28

1500

Sim

29

1820

Não

30

1750

Sim

31

1790

Sim

Neste exemplo, o endpoint não está em conformidade para fins do processo de monitoramento naquele mês, pois em pelo menos um dos dias (dia 29), o P95 foi superior a 1.800ms.

Para maior clareza, veja a representação visual dos exemplos:

Mês

Dias do mês

Dias com P95 < 1500ms

Dias com P95 entre 1500ms e 1800ms

Dias com P95 > 1800ms

Conformidade

Março

30

27

3

0

Sim

Abril

31

28

2

1

Não

Aspectos Técnicos

Sob a perspectiva da Plataforma de Coleta de Métricas (PCM), os dados são predominantemente observados do lado do servidor. Na terminologia da PCM, o servidor é a instituição que fornece os dados em resposta a uma solicitação, enquanto o cliente é a instituição que faz a solicitação de dados. A avaliação da métrica é feita com base nos reportes enviados tanto pelo servidor quanto pelos seus respectivos reportadores (clientes). Quando não há reporte do cliente, é considerado o reporte do próprio servidor.

O status UNPAIRED é utilizado para indicar que o cliente ainda não reportou para a PCM. Além disso, são considerados os status codes 408, 5XX (família 500), 2XX (família 200) e 422 para todos os endpoints obrigatórios da instituição participante em análise, desde que o status não seja PAIRED_INCONSISTENT (pareados e inconsistentes).

Registros com os status UNPAIRED e PAIRED_INCONSISTENT são considerados divergentes e devem passar pelo processo de resolução. Esses registros indicam que houve uma discrepância entre os reportes enviados pelo cliente e pelo servidor ou que o reporte do cliente ainda não foi recebido, respectivamente. A conciliação dessas divergências é essencial para manter a integridade e a precisão dos dados coletados pela PCM.Por exemplo, considerando um dia em que houve requisições válidas em 1.390 das 1.440 faixas de 1 minuto possíveis (1 dia = 24h * 60min= 1.440 faixas de horário) para um endpoint específico "x" de versão 1, e dos quais 30 períodos tiveram a disponibilidade menor que o limite de disponibilidade definido (95%), a Disponibilidade Diária de "x" v1 será igual a:

...

Dados e Fontes

Para o cálculo da métrica, utiliza-se um conjunto diversificado de dados provenientes de diferentes fontes. A principal fonte informacional é a Plataforma de Coleta de Métricas (PCM), que consolida os dados a partir dos reportes enviados pelas instituições participantes. Além disso, as planilhas auto reportadas pelas instituições são integradas e consolidadas na Plataforma Analítica de Dados (PAD), um repositório centralizado que serve como base para a análise e avaliação da métrica. Essa combinação de dados provenientes da PCM e das planilhas auto reportadas permite uma avaliação precisa da métrica e um monitoramento efetivo do desempenho e disponibilidade das APIs no contexto do Open Finance.

...