Autenticação | Credenciais de acesso
Este artigo documento os processo de autenticação, autorização, consulta de informações de acesso e alteração de dados relacionados a uma credencial.
Login
Processo responsável por efetuar o login de autenticação no sistema.
Requisição |
|
Método |
POST |
URL |
/api/v1/login |
Formato do conteúdo |
multipart/form-data |
Estrutura dos cabeçalhos da requisição (Headers) |
|
Nome |
Descrição |
Authorization |
Basic auth contendo os dados de autenticação do client
|
Accept |
application/json |
Estrutura do conteúdo da requisição |
|
|
Propriedade |
Valor padrão |
Descrição |
grant_type |
password |
Tipo de requisição |
username |
- |
E-mail do usuário do sistema |
password |
- |
Senha do usuário do sistema |
client_id |
- |
Identificador do client que está realizando o login |
Estrutura de dados da resposta |
|
|
|
Propriedade |
Tipo |
Tamanho |
Descrição |
access_token |
UUID |
36 |
Token de acesso ao sistema, esse token deverá ser passado como header nas demais requisições |
token_type |
String |
- |
Tipo de token (geralmente bearer) |
refresh_token |
UUID |
36 |
Token utilizado para recuperação assim que o access_token expirar |
scope |
String |
- |
Escopo da autenticação |
Exemplo de resposta
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InVzdWFyaW8iOiJhZG1pbkBtaWNyb3N5cy5pbmYuYnIifSwiaWF0IjoxNzAyMzEzMDU3LCJleHAiOjE3MDI5MTc4NTcsImlzcyI6Imh0dHBzOi8vYXBpLm1zeXNnZXN0b3IuY29tIn0.A-xAiqN33l_sVRqAfHxR37masTvdAnEIlXkbNBZBhBg",
"token_type": "bearer",
"refresh_token": "0e1cd7bb-a71f-4208-b7fc-078abf313732",
"scope": "create read update delete"
}
Logout
Efetua o logout do sistema, esse processo utiliza o token de autenticação enviado no header da requisição para identificar a credencial e invalida esse token. Mais informações de como funciona o processo de autenticação podem ser encontradas aqui.
Requisição |
|
Método |
POST |
URL |
/api/v1/logout |
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Alteração de e-mail
Este é o processo em que o usuário solicita a alteração do seu e-mail no sistema.
Requisição |
|
Método |
POST |
URL |
/api/v1/credenciais/alterar_email |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
emailAtual |
String |
256 |
Sim |
E-mail atual do usuário |
emailNovo |
String |
256 |
Sim |
Novo e-mail do usuário |
senha |
String |
256 |
Sim |
Senha de autenticação |
Exemplo de requisição
{
"emailAtual": "emailatual@gmail.com",
"emailNovo": "emailnovo@gmail.com",
"senha": "alt554djbshg"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Ativação de e-mail
Processo responsável por validar e ativar um novo e-mail do usuário. Este processo é realizado após a solicitação de alteração do e-mail.
Este end-point não requer autenticação.
Requisição |
|
Método |
POST |
URL |
/api/v1/credenciais/ativar_email |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
token |
UUID |
36 |
Sim |
Token de confirmação enviado ao e-mail do usuário |
Exemplo de requisição
{
"token": "f59353da-d512-4dc8-b697-5f8d9c531e65"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Alteração de senha
Processo que possibilita a troca de senha da credencial de acesso do usuário.
Requisição |
|
Método |
POST |
URL |
/api/v1/credenciais/alterar_senha |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
senhaAtual |
String |
256 |
Sim |
Senha atual |
senhaNova |
String |
256 |
Sim |
Nova senha |
Exemplo de requisição
{
"senhaAtual": "123dasde3r8ad",
"senhaNova": "alt554djbshg"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Recuperação de senha
Caso o usuário esqueça a sua senha é possível executar este processo de recuperação de senha.
Este end-point não requer autenticação.
Requisição |
|
Método |
POST |
URL |
/api/v1/credenciais/recuperar_senha |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
email |
String |
256 |
Sim |
E-mail atual do usuário |
Exemplo de requisição
{
"email": "meuemail@gmail.com"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Confirmação de credencial
Após a inserção de uma credencial é necessário realizar o processo de confirmação.
Este end-point não requer autenticação.
Requisição |
|
Método |
POST |
URL |
/api/v1/credenciais/confirmar |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
token |
UUID |
36 |
Sim |
Token de confirmação enviado ao e-mail do usuário |
senha |
String |
256 |
Sim |
Senha que será definida para a credencial |
Exemplo de requisição
{
"token": "f59353da-d512-4dc8-b697-5f8d9c531e6",
"senha": "asda54d565a4das"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Confirmação de senha
Após a solicitação de recuperação de senha de uma credencial é necessário realizar o processo de confirmação.
Este end-point não requer autenticação.
Requisição
|
|
Método |
POST |
URL |
/api/v1/credenciais/confirmar_senha |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
token |
UUID |
36 |
Sim |
Token de confirmação enviado ao e-mail do usuário |
senha |
String |
256 |
Sim |
Senha que será definida para a credencial |
Exemplo de requisição
{
"token": "f59353da-d512-4dc8-b697-5f8d9c531e6",
"senha": "asda54d565a4das"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Para saber informações a respeito da credencial logada basta utilizar este recurso.
Requisição |
|
Método |
GET |
URL |
/api/v1/credenciais/minha_credencial |
Estrutura de dados da resposta |
|
|
|
Propriedade |
Tipo |
Tamanho |
Descrição |
id |
UUID |
36 |
Identificador da credencial |
email |
String |
256 |
E-mail da credencial |
autoridade |
String |
50 |
Nível de acesso: ADMIN, SERVICE ou USER |
ativa |
Boolean |
- |
Identifica se a credencial esta ativa |
expirada |
Boolean |
- |
Identifica se a credencial esta expirada |
bloqueada |
Boolean |
- |
Identifica se a credencial esta bloqueada |
acessoExpirado |
Boolean |
- |
Identifica se algum token de acesso da credencial expirou |
organizacao |
Object |
- |
Organização vinculada a credencial |
organizacao.id |
UUID |
36 |
Identificador da organização |
organizacao.tenant |
Integer |
- |
Número do tenant |
organizacao.schema |
String |
50 |
Nome do schema na base de dados |
organizacao.nome |
String |
60 |
Nome da organização |
organizacao.modulos |
Array |
- |
Módulos habilitados para a organização |
organizacao.plano |
Object |
- |
Plano da organização |
organizacao.plano.id |
UUID |
36 |
Identificador do plano |
organizacao.plano.descricao |
String |
128 |
Descrição do plano |
organizacao.plano.usuarios |
Integer |
- |
Quantidade de usuários do plano |
organizacao.plano.armazenamento |
Integer |
- |
Quantidade de armazenamento do plano (em MB) |
organizacao.plano.documentosMensais |
Integer |
- |
Quantidade de documentos mensais do plano |
organizacao.plano.contasFinanceiras |
Integer |
- |
Quantidade de contas financeiras |
organizacao.plano.vendasMensais |
Integer |
- |
Quantidade de vendas mensais do plano |
organizacao.plano.nfeMensais |
Integer |
- |
Quantidade de Notas fiscais eletrônicas mensais do plano |
organizacao.plano.boletosMensais |
Integer |
- |
Quantidade de boletos mensais do plano |
organizacao.plano.suporteChat |
Boolean |
- |
Identifica se o plano possui suporte via chat |
organizacao.plano.valor |
Numeric |
15-2 |
Valor mensal do plano |
organizacao.endereco |
Object |
- |
Endereço da organização |
organizacao.endereco.municipio |
Object |
- |
Município em que a organização está alocada |
organizacao.endereco.municipio.id |
UUID |
36 |
Identificador único do município |
organizacao.endereco.estado |
Object |
- |
Estado em que a organização está alocada |
organizacao.endereco.estado.id |
UUID |
36 |
Identificador único do estado |
organizacao.fiscal |
Object |
- |
Informações fiscais da credencial |
organizacao.fiscal.serie |
Integer |
- |
Informa qual a série configurada na organização da credencial |
organizacao.fiscal.certificado |
Object |
- |
Certificado da organização caso houver |
organizacao.fiscal.certificado.nome |
String |
255 |
Nome do certificado digital carregado |
organizacao.fiscal.certificado.vencimento |
Date |
- |
Data de vencimento do certificado |
recursos |
Array |
- |
Recursos e permissões do usuário |
recursos.identificacao |
String |
128 |
Identificação do recurso |
recursos.permissoes |
Array |
- |
Permissões do usuário |
recursos.permissoes.identificacao |
String |
128 |
Identificação da permissão |
setores |
Array |
- |
Setores de acesso do usuário |
setores.id |
UUID |
36 |
Identificador do setor |
setores.nome |
String |
60 |
Nome do setor |
|
Array |
- |
Configurações relacionadas a credencial do usuário |
configuracoes.chave |
String |
128 |
Identificador único da configuração |
configuracoes.valor |
String |
128 |
Valor da configuração |
Exemplo de resposta
{
"id": "dbff5be0-4f2a-11ea-b77f-2e728ce881255",
"email": "contato@minhaempres.com.br",
"autoridade": "USER",
"ativa": true,
"expirada": false,
"bloqueada": false,
"acessoExpirado": false,
"organizacao": {
"id": "dbff67ca-4f2a-11ea-b77f-2e728ce88125",
"tenant": 1,
"schema": "schema1",
"nome": "Minha Empresa Ltda",
"modulos": [
"DOCUMENTOS_DIGITAIS"
],
"plano": {
"id": "57d49fb1-3b22-43e1-aa0c-fb1264dfc085",
"descricao": "Grátis",
"usuarios": 1,
"armazenamento": 10,
"documentosMensais": 3,
"contasFinanceiras": 2,
"vendasMensais": 5,
"nfeMensais": 0,
"boletosMensais": 0,
"suporteChat": false,
"valor": 0
},
"fiscal": {
"serie": 558",
"certificado": {
"nome": "Nome doc ertificado",
"vencimento": "2020-13-15"
},
}
},
"recursos": [
{
"identificacao": "ESTADOS",
"permissoes": [
{
"identificacao": "VISUALIZAR"
}
]
},
{
"identificacao": "MUNICIPIOS",
"permissoes": [
{
"identificacao": "VISUALIZAR"
}
]
},
{
"identificacao": "PAISES",
"permissoes": [
{
"identificacao": "VISUALIZAR"
}
]
},
{
"identificacao": "PRODUTOS",
"permissoes": [
{
"identificacao": "EDITAR"
},
{
"identificacao": "EXCLUIR"
},
{
"identificacao": "INSERIR"
},
{
"identificacao": "VISUALIZAR"
}
]
}
],
"setores": [
{
"id": "dbff6e64-4f2a-11ea-b77f-2e728ce88125",
"nome": "Geral"
}
],
"configuracoes": [
{
"chave": "MOSTRAR_AJUDA",
"valor": "SIM"
},
{
"chave": "TEMA",
"valor": "AZUL"
}
]
}
Salvar configuração da credencial
Este recurso salva uma configuração para a credencial atual logada.
Requisição |
|
Método |
POST |
URL |
/api/v1/credenciais/minha_credencial/configuracoes |
Estrutura do conteúdo da requisição |
|
|
|
|
Propriedade |
Tipo |
Tamanho |
Obrigatório |
Descrição |
chave |
String |
128 |
Sim |
Identificador único da configuração |
valor |
String |
128 |
Sim |
Valor da configuração |
Exemplo de requisição
{
"chave": "TEMA",
"valor": "AZUL"
}
Estrutura de dados da resposta |
Sem conteúdo de resposta |
Listar configurações da credencial
Este recurso lista as configurações da credencial logada.
Requisição |
|
Método |
GET |
URL |
/api/v1/credenciais/minha_credencial/configuracoes |
Estrutura de dados da resposta |
|
|
|
Propriedade |
Tipo |
Tamanho |
Descrição |
chave |
String |
128 |
Identificador único da configuração |
valor |
String |
128 |
Valor da configuração |
Exemplo de resposta
[{
"chave": "MOSTRAR_AJUDA",
"valor": "SIM"
},
{
"chave": "TEMA",
"valor": "AZUL"
}
]