Autenticação
A API usa o token do usuário. Esse token não é enviado nas chamadas do dia a dia: ele é trocado por um token de sessão (JWT), de validade limitada, e é o token de sessão que acompanha cada requisição.
1. Gerar o token do usuário
O token é gerado na tela Usuários (módulo Administrativo):
- Abra Administrativo > Usuários.
- Na linha do usuário, clique em
Gerar chave para API.
- Copie a chave exibida. Ela aparece uma única vez.
Cada usuário tem uma chave. Gerar outra invalida a anterior. A chave tem 64
caracteres hexadecimais (0-9 e a-f). Trate-a como uma senha: não a coloque
em código-fonte nem em histórico de conversas, e guarde-a em variável de
ambiente ou em um cofre de segredos.
O botão aparece para quem tem permissão de edição na tela Usuários.
2. Obter a sessão
POST /auth/login-by-token
Corpo (JSON):
| Campo | Obrigatório | Descrição |
|---|---|---|
| token | Sim | A chave do usuário gerada no passo anterior (64 caracteres hexadecimais) |
Exemplo:
curl -X POST https://api.pedagogo.app/auth/login-by-token \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"token": "<chave-do-usuario>"}'
Resposta (200):
{
"token": "<token-de-sessao-jwt>",
"expires_in": 1789999999
}
| Campo | Descrição |
|---|---|
| token | Token de sessão (JWT) para usar nas demais chamadas |
| expires_in | Instante em que o token de sessão expira, em segundos desde 01/01/1970 (timestamp Unix) |
Esta chamada aceita até 10 tentativas por minuto. Se a chave for inválida, ou se
o usuário ou o cliente estiver inativo, a resposta é 401 com a mensagem
Invalid Credentials..
Quando o token de sessão expirar, repita a chamada para obter outro.
3. Usar o token de sessão
Envie o token de sessão no cabeçalho Authorization de toda chamada:
curl https://api.pedagogo.app/administrative/departments \
-H "Accept: application/json" \
-H "Authorization: Bearer <token-de-sessao-jwt>"
Conferir a sessão
| Chamada | Descrição |
|---|---|
GET /auth/check-login | Confirma que o token de sessão é válido. Devolve status: success |
GET /auth/me | Devolve os dados do usuário logado, o cliente, os pacotes do cliente e as integrações ativas dele |
Encerrar a sessão
POST /auth/logout invalida o token de sessão informado. Para voltar a usar a
API, obtenha uma nova sessão com a chave do usuário.
Erros de autenticação e de acesso
Todos devolvem status 401 com um corpo {"error": "..."}:
| Mensagem | Quando acontece |
|---|---|
| Token JWT ausente. | O cabeçalho Authorization: Bearer ... não foi enviado |
| Token JWT inválido. | O token não existe, foi encerrado com logout ou não pertence a um usuário válido |
| Token JWT expirado. | O token de sessão passou do prazo de validade |
| Client inactive. You don`t have access. | A empresa cliente do usuário está inativa |
| User inactive. You don`t have access. | O usuário está inativo |
| You do not have access to this page. | O pacote do cliente ou o grupo de acesso do usuário não libera a tela a que o endpoint pertence |
Boas práticas
- Use um usuário exclusivo para cada integração, para saber quem fez cada alteração: o sistema registra o usuário que criou e que alterou cada registro.
- Renove o token de sessão quando faltar pouco para
expires_in, em vez de esperar o erro 401. - Se suspeitar que a chave vazou, gere outra na tela Usuários: a anterior deixa de valer na hora.