Pular para o conteúdo principal

API - Autenticação

Documentação da API de autenticação do sistema PAC.

Base URL

https://api.pac.com.br

ou

http://localhost:3000 (desenvolvimento)

Autenticação

A API utiliza JWT (JSON Web Tokens) para autenticação. Após fazer login, você receberá um token que deve ser enviado no header de todas as requisições autenticadas.

Header de Autenticação

Authorization: Bearer {token}

Endpoints

POST /auth/login

Faz login no sistema e retorna o token JWT.

Request:

{
"email": "usuario@exemplo.com",
"password": "senha123"
}

Response (200 OK):

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "uuid",
"email": "usuario@exemplo.com",
"name": "Nome do Usuário",
"role": "client",
"entityId": "uuid-do-cliente",
"isActive": true
}
}

Erros:

  • 401 Unauthorized: Email ou senha inválidos
  • 400 Bad Request: Dados inválidos

POST /auth/logout

Faz logout do sistema (invalida o token).

Headers:

Authorization: Bearer {token}

Response (200 OK):

{
"message": "Logout realizado com sucesso"
}

Exemplo de Uso

JavaScript/TypeScript

// Login
const response = await fetch('https://api.pac.com.br/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: 'usuario@exemplo.com',
password: 'senha123'
})
});

const data = await response.json();
const token = data.access_token;

// Usar token em requisições subsequentes
const apiResponse = await fetch('https://api.pac.com.br/clients', {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
});

cURL

# Login
curl -X POST https://api.pac.com.br/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@exemplo.com",
"password": "senha123"
}'

# Usar token
curl -X GET https://api.pac.com.br/clients \
-H "Authorization: Bearer {token}"

Próximos Endpoints