Autenticação na plataforma de API da Sompo
Para consumir as APIs da Sompo é preciso seguir os passos a abaixo.
Cadastro: O primeiro passo é fazer o cadastro no Portal Developers Sompo, este cadastro passará por uma aprovação interna.
Seleção dos Serviços: O segundo passo é criar um APP e adicionar as APIs que você deseja consumir neste APP.
Autenticação na plataforma de APIs da Sompo: Agora que você já tem um username, password e client-id, você precisa fazer a autenticação na API de Access-Token para receber uma credencial de acesso as APis da Sompo.
Diagrama de Sequencia
O processo de autenticação é bem simples, e segue padrão OAuth 2.0, que é dividido em duas partes, primeiro, a autenticação onde você recebe uma credencial de acesso (access-token), e a segunda, em que você usa a credencial para consumir a nossa API, e conectar a Sompo a sua plataforma. Abaixo um diagrama de sequencia que ilustra o processo.
Seguem os passos para usar uma das APIs da Sompo.
- Passo 1 - Parceiro faz uma chamada HTTPS/POST para a API de Access-Token (responsável pelo login) da Sompo
- Passo 2 - API de Access-Token valida as credencias do Basic Authentication, em caso de sucesso
- Passo 3 - Retorno do JSON que contem o Access-Token
- Passo 4 - Parceiro armazena o Access-Token
- Passo 5 - Parceiro faz uma chamada para a API da Sompo que ele deseja utilizar usando Bearer Autentication com o Access-Token
- Passo 6 - API Gateway da Sompo valida o Bearer Autentication, em caso de sucesso
- Passo 7 - A API aplica a regra de negócio necessária
- Passo 8 - Retorno do JSON com dados de negócio
Outras APIs de Negócio da Sompo, podem ser chamadas após o passo 8, usando o mesmo Access-Token, o parceiro deverá garantir que ele ainda continua valido (o tempo de validade é retornado no passo 3).
Passo 1 - Login no API Gateway
Segue um exemplo de login na plataforma de APIs da Sompo.
Campo da chamada (Request)
Endpoint: https://api.sompo.com.br/oauth/access-token (Obs: Único serviço comum a todos os ambientes)
Método: POST
Parâmetros:
- Seção Header
- Authorization: Basic [inserir-basic-authentication]
- Content-Type: application/x-www-form-urlencoded (valor fixo)
- Seção Body:
- grant_type: cliente_credentials (valor fixo)
Exemplo de requisição:
curl --location 'https://api.sompo.com.br/oauth/access-token' \
--header 'Authorization: Basic [inserir-basic-authentication]' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'
Campos de retorno (response)
Abaixo um exemplo do JSON de retorno da chamada para a API de Access-Token:
{
"access_token": "27a2ff46-7d36-4e42-912d-5b5ebbe632df",
"token_type": "access_token",
"expires_in": 86400
}
- access_token é a credencial de acesso do tipo Bearer
- token_type: Sempre retornará o valor access_token
- expires_in: Sempre retornará um inteiro, que representa o tempo em segundo, em que a credencial de acesso é valida
Todas as chamadas usarão o protocolo HTTPS com TLS3.0, ou seja, será usado um alto padrão de segurança.
A credencial usada no Basic Authentication será diferente para cada consumidor (parceiro) e elas irão mudar para cada ambiente.
Em caso de sucesso, a API retorna três campos access_token, que é a credencia de acesso, token_type (sempre retornará o tipo access_token) e expires_in que é o tempo em segundo de que a credencial é valida.
Parte 2 - Consumo da API
Será feito uma chamada a uma API da Sompo com o header com o campo Authorization do tipo Bearer usando o access-token recebido no passo 1 e o client-id desta API, alguns itens irão variar de acordo com cada API, como por exemplo, o tipo GET, POST, PUT, etc, e os parâmetros do body.
Abaixo um exemplo de chamada para a API da Sompo no ambiente de sandbox.
curl --location --request