Tema
Autenticação
A API usa JWT Bearer Token em todas as rotas protegidas.
Obter token
http
POST /api/v1/auth/login
Content-Type: application/json
{ "email": "voce@empresa.com", "senha": "SuaSenha123" }Resposta 200:
json
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": { "id": "uuid", "email": "voce@empresa.com", "nome": "Seu Nome" },
"empresa": { "id": "uuid", "razao_social": "Sua Empresa LTDA", "cnpj": "11222333000181" }
}Usar o token
http
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...Expiração
Tokens expiram em 24 horas por padrão. Após expirar, faça login novamente.
Exemplos
python
import requests
r = requests.post('https://api.nferapido.com.br/api/v1/auth/login',
json={'email': 'voce@empresa.com', 'senha': 'Senha123'})
token = r.json()['token']javascript
const { data } = await axios.post('https://api.nferapido.com.br/api/v1/auth/login',
{ email: 'voce@empresa.com', senha: 'Senha123' });
const api = axios.create({
baseURL: 'https://api.nferapido.com.br/api/v1',
headers: { Authorization: `Bearer ${data.token}` }
});php
$response = Http::post('https://api.nferapido.com.br/api/v1/auth/login', [
'email' => 'voce@empresa.com',
'senha' => 'Senha123'
]);
$token = $response->json()['token'];Segurança
- Senhas com bcrypt (cost 12)
- Rate limiting: 5 logins por IP a cada 15 min
- HTTPS obrigatório em produção