Pular para o conteúdo principal

Autenticação

A API usa JWT (Bearer token) com access + refresh tokens.

Conceitos

  • Cadastro mínimo — apenas email, senha e nome. Telefone e endereço são coletados no checkout.
  • Rolescustomer, seller, admin. Customer é o padrão no signup público.
  • Seller signup — via convite (waitlist → invite token)
Como usar nas requests

Todas as requests autenticadas usam o header:

Authorization: Bearer <accessToken>

Cadastro (Signup)

POST /auth/signup
{
"email": "cliente@email.com",
"password": "minimo8chars",
"name": "João Silva"
}
CampoObrigatórioValidação
emailSimFormato válido, único (409 se duplicado)
passwordSimMínimo 8 caracteres
nameSim1-150 caracteres
Response (201)
{
"accessToken": "eyJ...",
"refreshToken": "eyJ...",
"tokenType": "bearer"
}

O usuário é criado com role customer e já recebe tokens para uso imediato.


Login

POST /auth/login
{
"email": "cliente@email.com",
"password": "minhasenha123"
}
Response
{
"accessToken": "eyJ...",
"refreshToken": "eyJ...",
"tokenType": "bearer"
}

Refresh Token

POST /auth/refresh
{
"refreshToken": "eyJ..."
}

Retorna novos access + refresh tokens.


Dados do Usuário

GET /auth/me

Requer Authorization: Bearer <accessToken>.

Response
{
"id": "uuid",
"email": "cliente@email.com",
"name": "João Silva",
"status": "active",
"roles": ["customer"],
"createdAt": "2026-03-25T10:00:00Z"
}

Alterar Senha

POST /auth/change-password
{
"currentPassword": "senhaatual",
"newPassword": "novasenha123"
}

Recuperar Senha

POST /auth/password/forgot

Envia email com token de reset.

GET /auth/password/reset/validate?token=xxx

Valida se o token ainda é válido.

POST /auth/password/reset
{
"token": "token-do-email",
"newPassword": "novasenha123"
}