Registro de Usuário
Endpoint para registro de novos usuários no sistema, com suporte a diferentes tipos de usuário e configurações específicas.
Autenticação
CustomerAuthGuard - Token JWT opcional para associar criador
Parâmetros
Query Parameters
Especifica o sistema de origem (ex: “ios” para email de boas-vindas específico do iOS)
ID do usuário criador (definido automaticamente se autenticado)
Request Body
Email válido do usuário (único no sistema)
Papel do usuário: ADMIN, CUSTOMER, RESALE, MASTER
Idioma do usuário (máximo 5 caracteres, ex: “pt-BR”)
Nome completo do usuário (máximo 200 caracteres)
Apelido do usuário (máximo 200 caracteres)
Senha do usuário (máximo 32 caracteres)
Confirmação da senha (deve ser igual à senha)
Número de telefone celular
Gênero: MASCULINO ou FEMININO
Data de nascimento (formato ISO: YYYY-MM-DD)
Endereço MAC do dispositivo
Créditos iniciais do usuário
ID do usuário master (para hierarquia)
Define se é gerente de aplicativo
Indica se já fez primeiro recarregamento
ID do usuário que está criando (Customer specific)
Define se é conta trial (Customer specific)
Responses
{
"user": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "[email protected]",
"name": "João Silva",
"nickname": "joao",
"role": "CUSTOMER",
"language": "pt-BR",
"cellphone": "+5511999999999",
"gender": "MASCULINO",
"credits": 0,
"status": true,
"isAppManager": false,
"createdAt": "2024-01-15T10:30:00.000Z",
"customer": {
"id": "456e7890-e89b-12d3-a456-426614174000",
"isTrial": false,
"exp_date": "2025-01-15T10:30:00.000Z",
"createdAt": "2024-01-15T10:30:00.000Z"
}
},
"message": "Usuário criado com sucesso"
}
Exemplo de Requisição
curl --location --request POST 'http://localhost:3333/auth/signup' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token_opcional>' \
--data-raw '{
"email": "[email protected]",
"role": "CUSTOMER",
"language": "pt-BR",
"name": "João Silva",
"nickname": "joao",
"password": "minhasenha123",
"passwordConfirmation": "minhasenha123",
"cellphone": "+5511999999999",
"gender": "MASCULINO"
}'
Tipos de Usuário
CUSTOMER (Cliente)
- Usuário final do serviço VPN
- Acesso limitado aos próprios recursos
- Pode ser trial ou pago
RESALE (Revendedor)
- Pode criar e gerenciar clientes
- Acesso a painel de revenda
- Comissões por vendas
MASTER (Master)
- Gerencia revendedores
- Acesso administrativo limitado
- Hierarquia de usuários
ADMIN (Administrador)
- Acesso completo ao sistema
- Gerencia todos os recursos
- Configurações globais
Funcionalidades Especiais
Email de Boas-vindas
Usuários registrados recebem email de boas-vindas automático:
- Instruções de configuração
- Links para download de apps
Sistema de Hierarquia
{
"master": "id_do_master",
"sub_partner_id": "id_do_parceiro"
}
Geolocalização
{
"latitude": -23.5505199,
"longitude": -46.6333094
}
Contas Trial
{
"isTrial": true,
"exp_date": "2024-02-15T10:30:00.000Z"
}
Validações
Email
- Deve ser único no sistema
- Formato de email válido
- Confirmação automática opcional
Senha
- Mínimo 6 caracteres (configurável)
- Confirmação obrigatória
- Hash automático (bcrypt)
Telefone
- Formato internacional recomendado
- Validação opcional por SMS
Workflows Automáticos
- Criação de Customer: Registro automático na tabela de clientes
- Email de Confirmação: Envio automático se configurado
- Créditos Iniciais: Atribuição automática se especificado
- Logs de Auditoria: Registro automático da ação
Senhas são automaticamente criptografadas. Nunca armazene senhas em texto plano.
Use o parâmetro system=ios para enviar email de boas-vindas específico para usuários iOS.
Próximos Passos
Após registro bem-sucedido:
- Confirme o email se necessário
- Configure perfil adicional
- Faça login para obter token
- Configure serviços VPN se for cliente
Usuários criados por administradores não precisam confirmar email automaticamente.