Autenticação
A autenticação é a JWT (Json Web Token) onde seus parâmetros obrigatórios são user, password e empresa e retorna um token que é válido por padrão 30 minutos, após esse termino é necessário validar novamente.
O método de requisição é POST e no header deve sempre conter o content-type: application/json.
Tabela de Parâmetros
| Nome | Obrigatório | Descrição |
|---|---|---|
| nome | não | Nome do usuário |
| user | sim | E-mail do usuário válido para fazer o sincronismo |
| password | sim | Senha do usuário |
| empresa | sim | No campo empresa deve vim a SIGLA da Filial do NFS |
| filial | não | No campo filial deve ser passada a SIGLA do Local no NFS |
ATENÇÃO Não é possível criar usuários por qualquer método, por isso o usuário deve ser cadastrado previamente no NFS. É sempre indicado ao que criar um usuário verificar se ele tem acesso ao sistema e as filias liberadas. {.is-danger}
Em nossos exemplos vamos usar o sistema smartosapi.h.simova.cloud.
Requisição
curl --request POST \
--url https://smartosapi.h.simova.cloud/nfs/api/v1/auth \
--header 'content-type: application/json' \
--data '{
"nome": "dalton",
"user": "dalton@simova.com.br",
"password": "123",
"empresa" : "SIMOVA" // Filial do NFS
}'
Retorno
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzbWFydG9zYXBpLmguc2ltb3ZhLmNsb3VkIiwibmFtZSI6ImRhbHRvbiIsImVtYWlsIjoiZGFsdG9uQHNpbW92YS5jb20uYnIiLCJmaWxpYWwiOiJGSUxJQUwgMSIsImxvY2FsIjpudWxsLCJleHAiOmZhbHNlfQ==.eqL8BGcaLLnbkd9V3nONJXOfVgpy8j6f6P+wcTKb7\/w=",
"user": "dalton@simova.com.br"
}

Imagem de exemplo do Insomnia de uma requisição para obter um token
Constantes na Autenticação
É possível colocar constantes na autenticação, isso pode ajudar tanto o cliente como a Simova, e é simples, basta adicionar o seguinte parâmetro (nfs_core_par_parametros) API_VALIDATION com seu valor
um json, exemplo:
{
"env": 2
}
Logo esse env igual a 2 deve estar no body do request:
{
"user": "my.user@simova.com.br",
"password": "myPassS",
"empresa": "MyBranchSigla",
"env": "2"
}
Se não tiver a chave env vai gerar um erro, ou se o valor for diferendo do configurado nos parâmetros.
Configurar período de expiração do token
Foi criada uma opção de configurar o tempo do token seja customizado, se não configurado o padrão é 30 minutos.
- parâmetro:
TOKEN_TIME_EXP_MIN. - valor: minutos
- padrão: 30 minutos
- minímo: 15 minutos, não é possível colocar menos de 15 minutos
- máximo: 259200 minutos, não é possível colocar mais de 259200 minutos