Desempenho
Tempo de resposta das requisições
Deverá ser medido o tempo de resposta de cada requisição, ou seja, o tempo transcorrido entre o recebimento de uma requisição que não ultrapassa os limites de tráfego e o momento em que a requisição é completamente respondida. Adicionalmente, esta medição deverá ser feita de maneira que os tempos medidos sejam os mais próximos possíveis dos tempos de resposta experimentados por quem fez a requisição. Neste contexto, as APIs deverão manter o percentil 95 do tempo de resposta em no máximo:
I - 1000ms, caso sejam classificadas como APIs de alta prioridade;
II - 1500ms, caso sejam classificadas como APIs de média prioridade;
III - 4000ms, caso sejam APIs administrativas.
Por exemplo, em um dia que uma API da alta prioridade receba 10.000 requisições, o tempo de resposta de pelo menos 9.500 requisições deve ser inferior a 1.000ms.
Tempo de disponibilização do dado na API após confirmação do compartilhamento (consentimento autorizado)
Os GT de Tecnologia e UX estabeleceram as diretrizes relativas ao tempo de disponibilização dos dados no endpoint das APIs após a confirmação do compartilhamento (consentimento autorizado) durante o fluxo da jornada de transmissão. Considerando as disposições da Resolução CNSP nº 415 e o Manual de Experiência do Cliente da SUSEP, que definem a execução de uma jornada contínua e sem interrupções para o usuário, as seguintes diretrizes foram definidas:
I - Os dados referentes aos compartilhamentos realizados devem ser disponibilizados em tempo real para consumo no endpoint da API, a partir da aprovação do consentimento pelo usuário. Na prática, isso representa o tempo necessário pela receptora para obtenção do token com o consentimento aprovado e a realização de uma nova chamada (aproximadamente 5 segundos);
II - Esta definição vale para todas as APIs de dados cadastrais e transacionais presentes no Open Insurance.
Período de adequação (temporário):
Diante da necessidade de prazo levantada pelo mercado para atingimento desse objetivo, foi acordado um período de adequação junto à SUSEP, a ser monitorado através dos ciclos de teste realizados na Ferramenta de Validação em Produção (FVP):
O 3º ciclo de testes, atualmente em vigência (até 20/12), permite a disponibilização dos dados nos endpoints em até 10 minutos após a aprovação do consentimento.
O 4º ciclo de testes, a ser realizado por todas as participantes, prevê uma evolução desse cenário, requerendo a disponibilização dos dados nos endpoints em até 5 minutos.
Por fim, o prazo previsto para que todas as participantes estejam alinhadas à nova especificação é 31/03/2025, com o encerramento do 5º ciclo de testes, o qual exigirá a disponibilização dos dados nos endpoints em tempo real, com limite de 5 segundos.
O cronograma e planejamento dos ciclos pode ser consultado na imagem abaixo:
Resposta esperada das APIs em caso de requisição antes da disponibilização dos dados
Durante o processo de disponibilização dos dados, caso haja requisições da receptora antes que esse processo seja concluído, as APIs devem retornar uma resposta padrão que informe a indisponibilidade temporária dos dados, seguindo as diretrizes informadas abaixo:
API de Resources:
Caso a receptora consulte a listagem de recursos antes que a disponibilização dos dados tenha sido concluída, a transmissora deverá retornar a listagem dos recursos com o status “TEMPORARY_UNAVAILABLE”. Isso indica que os dados ainda não estão disponíveis para consumo.
Exemplo – GET /resources:
{
"data": [
{
"resourceId": "25cac914-d8ae-6789-b215-650a6215820d",
"type": "CAPITALIZATION_TITLES",
"status": "TEMPORARILY_UNAVAILABLE"
}
],
...
}
API de Dados:
Caso a receptora consulte a API de Dados antes que os dados tenham sido disponibilizados, a transmissora retornará um erro 404 – Not Found, juntamente com o código de status “STATUS_RESOURCE_TEMPORARY_UNAVAILABLE”. Esse comportamento permite que a receptora saiba que os dados ainda não foram disponibilizados e não estão acessíveis naquele momento.
Exemplo – GET /insurance-capitalization-title/{25cac914-d8ae-6789-b215-650a6215820d}/plan-info:
{
“errors": [
{
“code": “STATUS_RESOURCE_TEMPORARY_UNAVAILABLE",
“title": “Dado em processo de disponibilização",
“detail": “Dado ainda não disponibilizado – Tente novamente mais tarde“,
"requestDateTime": "2024-10-02T09:00:00Z"
}
],
...
}