Manual de autenticação QUALISS
1. Visão Geral
Essa página fornece diretrizes para a geração e validação de tokens OAuth2 utilizando API’s RESTFul internas da ANS desenvolvidas para este fim.
Esses tokens serão utilizados para autenticação nas API’s expostas pela ANS.
2. Público Alvo
O conteúdo deste documento destina-se aos clientes que necessitam de acesso autenticado às APIs da ANS e, portanto, precisam obter o token de autenticação.
3. Ambientes
Os serviços de solicitação de token serão disponibilizados nos ambientes de homologação e produção. Seguem abaixo as respectivas URL’s considerando que todos os exemplos neste documento estão apontando para o servidor de produção.
Ambiente | URL |
---|---|
Homologação | https://wwwhm.ans.gov.br/token |
Produção | https://www.ans.gov.br/token |
4. API’s
A solicitação de um novo token e sua validação devem ser realizadas astravés das API’s abaixo:
Token – Solicitação de Token
Solicita um novo token de acordo com as informações passadas.
POST
- Exemplo de requisição:
curl -i POST \
--url https://www.ans.gov.br/token \
--header 'Content-Type: application/json' \
--data '{
"client_id": "clientIdExemplo",
"client_secret": "clientSecretExemplo",
"scopes": "br.gov.ans.qualiss-api.ans br.gov.ans.qualiss-api.acreditadoras.prestadores",
"realm": "12345678901234"
}'
- Campos da requisição:
Campo | Tipo | Descrição |
---|---|---|
client_id | Texto | Id do cliente |
client_secret | Texto | Secret (senha) do cliente |
scopes | Texto | Escopos necessários para o token separados por um espaço em branco |
realm | Texto | Realm (CNPJ) do cliente |
Os campos client_id, client_secret e realm serão diferentes para cada acreditadora e serão informados durante o treinamento.
O campo scopes deverá conter os escopos que deverão ser incluídos no token, separados por espaço. Segue abaixo a lista dos escopos para as Acreditadoras:
Escopos |
---|
br.gov.ans.qualiss-api.ans |
br.gov.ans.qualiss-api.acreditadoras.programas |
br.gov.ans.qualiss-api.acreditadoras.prestadores |
br.gov.ans.qualiss-api.acreditadoras.prestadores.consulta |
- Campos das respostas
Campo | Tipo | Descrição |
---|---|---|
access_token | Texto | Token propriamente dito |
token_type | Texto | Tipo do token (comumente “Bearer”) |
scopes | Texto | Escopos incluídos no token |
expires_in | Inteiro | Data/Hora de expiração do token em milissegundos |
Issued | Inteiro | Data/Hora de criação do token em milissegundos |
message | Texto | Mensagem referente ao resultado da geração do token |
Obs: Para verificação das datas em milissegundos podem ser utilizados sites para conversão de datas deste tipo, como por exemplo “https://www.epochconverter.com” ou “https://www.site24x7.com/pt/tools/conversor-de-hora-carimbo.html”
- Exemplo de resposta:
- Sucesso:
HTTP/1.1 200 OK
Content-Type: application/json
{
"access_token": "eyJhbGciOiAiOiJxxIiwiYWsfghsgfxsaW5zIjpbImh",
"token_type": "Bearer",
"scopes": "br.gov.ans.qualiss-api.ans br.gov.ans.qualiss[1]api.acreditadoras.prestadores",
"expires_in": 1724720151,
"issued": 1724684151,
"message": "Sucesso"
}- Erro:
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"error":"Ocorreu um erro interno"
}- Escopo Inválido:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"access_token":null,
"token_type":null,
"scopes":null,
"expires_in":null,
"issued":null,
"message":"Erro ao solicitar token para o clientId [clientIdExemplo]:
[{“error":"invalid_scope","error_description":"Invalid” scopes:
“br.gov.ans.qualiss-api.ans escopo1"}]"
}- Client_id ou client_secret inválida:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"access_token":null,
"token_type":null,
"scopes":null,
"expires_in":null,
"issued":null,}
"message "ClientId [clientIdExemplo] e clientSecret não encontrados na realm [12345678901234]"
}- Realm (empresa) Inválida:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"access_token":null,
"token_type":null,
"scopes":null,
"expires_in":null,
"issued":null,
"message "Realm [123] não encontrada"
}
5. Contatos
Para esclarecimento de dúvidas ou caso você tenha alguma sugestão ou encontre algum erro neste documento, entre em contato através do endereço monitoramento.qualidade@ans.gov.br.