Autenticacao
O NooviFlow usa JWT (JSON Web Tokens) para autenticacao. Faca login para obter um access token e use-o em todas as requisicoes subsequentes.
Tokens JWT
O access token expira em 24 horas. Use o refresh token para obter um novo access token sem precisar fazer login novamente.
/api/auth/loginAutentica com email e senha, retorna tokens JWT.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
email | string | Sim | Email do usuario |
password | string | Sim | Senha |
curl -X POST "https://flow.seudominio.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "admin@empresa.com",
"password": "sua_senha"
}'{
"success": true,
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "clx...",
"email": "admin@empresa.com",
"fullName": "Admin",
"role": "admin"
}
}
}/api/auth/registerRegistra um novo usuario e cria uma conta.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
email | string | Sim | |
password | string | Sim | Senha (min 8 caracteres) |
fullName | string | Sim | Nome completo |
companyName | string | Nao | Nome da empresa |
curl -X POST "https://flow.seudominio.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "novo@empresa.com",
"password": "senha_segura_123",
"fullName": "Maria Santos",
"companyName": "Empresa ABC"
}'/api/auth/refreshRenova o access token usando o refresh token.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
refreshToken | string | Sim | Refresh token obtido no login |
curl -X POST "https://flow.seudominio.com/api/auth/refresh" \
-H "Content-Type: application/json" \
-d '{ "refreshToken": "eyJhbGciOiJIUzI1NiIs..." }'{
"success": true,
"data": {
"accessToken": "eyJ...(novo)...",
"refreshToken": "eyJ...(novo)..."
}
}/api/auth/meRetorna o perfil do usuario autenticado.
curl -s "https://flow.seudominio.com/api/auth/me" \
-H "Authorization: Bearer $TOKEN" | jq .{
"success": true,
"data": {
"id": "clx...",
"email": "admin@empresa.com",
"fullName": "Admin",
"role": "admin",
"avatarUrl": null,
"emailVerified": true,
"account": {
"id": "clx...",
"name": "Empresa ABC"
}
}
}/api/auth/passwordAltera a senha do usuario autenticado.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
currentPassword | string | Sim | Senha atual |
newPassword | string | Sim | Nova senha (min 8 caracteres) |
curl -X PUT "https://flow.seudominio.com/api/auth/password" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "currentPassword": "senha_antiga", "newPassword": "nova_senha_123" }'Recuperacao de Senha
/api/auth/forgot-passwordEnvia email com link de recuperacao de senha.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
email | string | Sim | Email do usuario |
/api/auth/reset-passwordReseta a senha usando o token recebido por email.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
token | string | Sim | Token de reset (do email) |
password | string | Sim | Nova senha (min 8 caracteres) |
Setup Inicial
/api/auth/needs-setupVerifica se o sistema precisa de configuracao inicial (primeiro usuario).
{ "success": true, "data": { "needsSetup": true, "requiresSetupToken": false } }/api/auth/setupCria o primeiro SuperAdmin do sistema.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
email | string | Sim | Email do admin |
password | string | Sim | Senha (min 8 caracteres) |
fullName | string | Sim | Nome completo |
companyName | string | Nao | Nome da empresa |
Multi-tenant
Um usuario pode pertencer a multiplas contas. Use estes endpoints para alternar entre contas.
/api/auth/accountsLista as contas/organizacoes do usuario.
{
"success": true,
"data": [
{ "id": "clx1...", "name": "Empresa A", "role": "admin" },
{ "id": "clx2...", "name": "Empresa B", "role": "agent" }
]
}/api/auth/switch-accountTroca o contexto para outra conta. Retorna novos tokens JWT.
Body
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
accountId | string | Sim | ID da conta destino |