> For the complete documentation index, see [llms.txt](https://doc.siprov.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.siprov.com.br/guia-de-implementacao/autenticacao.md).

# Autenticação

Primeiro passo para uso da API do Siprov é chamar o método [Autenticação (/ext/autenticacao)](/referencia-da-api/introducao-tecnica/autenticacao.md) para capturar sua chave de acesso.&#x20;

Você deve fazer um *POST* neste método passando o usuário e senha recebido como autenticação do tipo [Basic Auth](https://pt.stackoverflow.com/questions/254503/o-que-%C3%A9-basic-auth).&#x20;

#### Exemplo de requisição:&#x20;

{% code lineNumbers="true" %}

```shell
curl --request POST \
     --url https://acesso.siprov.com.br/siprov-api/ext/autenticacao \
     --header 'accept: text/plain' \
     --header 'authorization: Basic dGVzdGU6dGVzdGU='
```

{% endcode %}

Ao efetuar tal chamada, no retorno constará a chave (`authorizationToken`) que deverá ser usada na autenticação dos demais métodos. No caso, a autenticação então passa a ser do tipo Bearer Token.&#x20;

A chave gerada tem validade de 12 horas. Logo, esse método deve ser chamado recorrentemente para renovação da chave.&#x20;

Atente-se também que qualquer alteração efetuada na [configuração de acesso](/configuracao-do-acesso.md) implica obrigatoriamente na renovação da chave.&#x20;

Por fim, explicamos os demais campos que constaram no retorno desse método:&#x20;

* `codUsuario`: Código único do usuário autenticado na API;
* `nomeUsuario`: Nome do respectivo usuário;
* `codClienteSiprov`: Código único da empresa responsável pela base no sistema;
* `nomeClienteSiprov`: Nome da respectivo empresa;&#x20;
* `permissaoLoja`: Lista de unidades (ou loja), que geralmente são filiais ou regionais, liberadas nesse usuário;
  * `codLoja`: Código único da unidade (loja);
  * `nome`: Nome da unidade (loja).
* `plano`: Lista de planos liberados para esse usuário:
  * `codPlano`: Código único do plano;
  * `nome`: Nome do plano.
