CRM API Docs
Login

Autenticação

A API do CRM utiliza autenticação baseada em tokens JWT (JSON Web Tokens). Todos os endpoints protegidos requerem um token válido no header da requisição.

Como Funciona

  1. 1Faça uma requisição POST para /auth/login com email e senha
  2. 2A API retorna um token JWT válido por 7 dias
  3. 3Inclua o token no header Authorization de todas as requisições protegidas

Exemplo de Login

// Login
const response = await fetch('http://localhost:3001/auth/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: 'seu@email.com',
    password: 'sua-senha'
  })
});

const { token, user } = await response.json();

// Usar o token em requisições protegidas
const meResponse = await fetch('http://localhost:3001/api/me', {
  headers: {
    'Authorization': `Bearer ${token}`
  }
});

Formato do Token

O token JWT contém as seguintes informações no payload:

{
  "sub": "user-uuid",           // ID do usuário
  "email": "user@email.com",    // Email do usuário
  "org_id": "org-uuid",         // ID da organização atual
  "role": "owner",              // Role na organização
  "iat": 1704067200,            // Data de emissão
  "exp": 1704672000             // Data de expiração
}

Erros de Autenticação

401

Unauthorized

Token ausente, inválido ou expirado

403

Forbidden

Usuário não tem permissão para acessar o recurso

Dicas

  • • Armazene o token de forma segura (localStorage ou httpOnly cookie)
  • • Implemente refresh de token antes da expiração
  • • Nunca exponha o token em URLs ou logs
  • • Use HTTPS em produção para proteger o token em trânsito