Aqui você encontra informações para fazer a integração com as APIs de Open Insurance.
Padrões
Nossas APIs seguem o modelo RESTful, um conjunto de boas práticas para comunicação web que utiliza o protocolo HTTP. Isso significa que os recursos disponíveis serão consumidos utilizando os verbos HTTP GET
, POST
, DELETE
, PUT
e PATCH
.
Estrutura das URIs
As URIs para os endpoints estão disponíveis conforme o padrão: https://manager-openbanking.sensedia.com/
.
<ambiente>
: Informa o ambiente desejado. Os ambientes disponíveis para utilização são /sandbox
e /produção
;
<api>
: Informa o nome da API como descrito na seção APIs Open Insurance;
<versão>
: Informa a versão da API como descrito na seção APIs Open Insurance;
<recurso>
: Informa o recurso utilizado como descrito na seção APIs Open Insurance;
Estrutura da requisição
Cada requisição, quando definida no endpoint pelo verbo HTTP, deve ser um objeto JSON contendo um objeto data
para armazenar os dados primários da requisição. Exemplo:
{
"data": {
"..."
}
}
Estrutura da resposta
Cada endpoint retornará um objeto JSON contendo os atributos abaixo:
Se a resposta for correta (200 OK), o objeto JSON irá conter:
Um objeto
data
, obrigatório;Um objeto
links
, obrigatório;Um objeto
meta
, opcional (conforme a definição do endpoint requisitado).
Exemplo de estrutura de resposta CORRETA:
{
"data": {
"..."
},
"links":{
"..."
},
"meta": {
"..."
}
}
Se a resposta for incorreta (diferente de 200 OK), o objeto JSON poderá conter:
- Objeto
errors
(conforme a definição específica do endpoint);
Exemplo de estrutura de resposta INCORRETA:
Exemplo de estrutura de resposta INCORRETA:
{
"errors": [{
"code": "...",
"title": "...",
"detail": "..."
}],
"meta":{
"..."
}
}
Paginação
A paginação de cada recurso de API dependerá da quantidade de registros retornados. Filtros e paginação são aplicados de forma independente. A paginação estará disponível e funcionará independente da permissão de filtros por query
ou POST
.
A paginação deverá ser implementada, conforme o padrão especificado, quando o conteúdo do response for uma lista.
Quando existir paginação para o recurso, os parâmetros de query
abaixo deverão ser utilizados para a navegação dos resultados:
page: Número da página que está sendo requisitada (o valor da primeira página é 1).
page-size: Quantidade total de registros por página.
Autenticação
As APIs de Open Insurance estão dividas em dois escopos:
Open-data: Abrange a disponibilização de dados abertos sobre canais de atendimento, produtos e serviços tradicionais de seguro. Não haverá endpoints específicos para Autorização e Autenticação com o objetivo de maximizar o uso do Open-data.
Customer-data: Abrange a disponibilização de dados cadastrais, de informações sobre dados pessoais de seguro, previdência complementar aberta e capitalização. 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..
A autenticação das APIs é realizada com a informação de um par de tokens no cabeçalho (header) das requisições, para cada contexto. O seguinte par de tokens é esperado em cada requisição:
Client_id: Identificação da APP. Sua geração acontece no momento da criação da APP pelo painel do desenvolvedor. Seu valor pode ser visualizado na coluna Token da lista de APPs e poderá ser utilizado tanto em Sandbox quanto em Produção após a aplicação passar pelo processo de homologação.
Access_token: Identificação do token de acesso que armazena as regras de acesso permitidas à APP. Sua geração ocorre em dois momentos no processo de integração com as APIs.
Status Codes
Código | Mensagem | Descrição |
---|---|---|
200 | OK |
Sucesso. |
400 | Bad Request |
A requisição possui parâmetro(s) inválido(s). |
401 | Unauthorized |
O token de acesso não foi informado ou não possui acesso as APIs. |
404 | Not Found |
O recurso informado no request não foi encontrado. |
413 | Request is to Large |
A requisição está ultrapassando o limite permitido para o perfil do seu token de acesso. |
422 | Unprocessable Entity |
A requisição possui erros de negócio. |
429 | Too Many Requests |
O consumidor estourou o limite de requisições por tempo. |
500 | Internal Server Error |
Erro não esperado, algo está quebrado na API. |