POST
https://api.myidvirtual.com
/
user
Criar Usuário
curl --request POST \
  --url https://api.myidvirtual.com/user \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "<string>",
  "role": "<string>",
  "language": "<string>",
  "name": "<string>",
  "nickname": "<string>",
  "password": "<string>",
  "passwordConfirmation": "<string>",
  "cellphone": "<string>",
  "credits": 123,
  "master": "<string>",
  "mac_address": "<string>",
  "sub_partner_id": "<string>",
  "yapi_id": "<string>",
  "latitude": 123,
  "longitude": 123,
  "gender": "<string>",
  "birthday": "<string>",
  "avatar": "<string>",
  "notes": "<string>",
  "isAppManager": true,
  "first_recharge": true,
  "isSupplier": true
}
'
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "email": "[email protected]",
  "name": "João Silva",
  "nickname": "joao",
  "role": "CUSTOMER",
  "language": "pt-BR",
  "cellphone": "+5511999999999",
  "credits": 100,
  "status": true,
  "isAppManager": false,
  "first_recharge": false,
  "gender": "MASCULINO",
  "birthday": "1990-01-15T00:00:00.000Z",
  "latitude": -23.5505199,
  "longitude": -46.6333094,
  "createdAt": "2024-01-15T10:30:00.000Z",
  "updatedAt": "2024-01-15T10:30:00.000Z",
  "owner": "admin_user_id",
  "myMaster": "master_user_id"
}

Criar Usuário

Endpoint para criação de novos usuários por administradores. Permite criar usuários com diferentes níveis de acesso e configurações específicas.

Autenticação

Authorization
string
required
Bearer token JWT com privilégios administrativos

Autorização

Parâmetros

Request Body

email
string
required
Email único do usuário (validação de formato email)
role
string
required
Papel do usuário: ADMIN, CUSTOMER, RESALE, MASTER
language
string
required
Idioma do usuário (máximo 5 caracteres, ex: “pt-BR”)
name
string
Nome completo do usuário (máximo 200 caracteres)
nickname
string
Apelido do usuário (máximo 200 caracteres)
password
string
Senha do usuário (máximo 32 caracteres)
passwordConfirmation
string
Confirmação da senha (deve ser igual à senha)
cellphone
string
Número de telefone celular do usuário
credits
number
Créditos iniciais do usuário (padrão: 0)
master
string
ID do usuário master para hierarquia
mac_address
string
Endereço MAC do dispositivo
sub_partner_id
string
ID do sub-parceiro
yapi_id
string
ID da integração YAPI
latitude
number
Coordenada de latitude
longitude
number
Coordenada de longitude
gender
string
Gênero: MASCULINO ou FEMININO
birthday
string
Data de nascimento (formato ISO: YYYY-MM-DD)
avatar
string
URL do avatar do usuário
notes
string
Notas administrativas sobre o usuário
isAppManager
boolean
Define se é gerente de aplicativo
first_recharge
boolean
Indica se já fez primeiro recarregamento
isSupplier
boolean
Define se é fornecedor

Responses

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "email": "[email protected]",
  "name": "João Silva",
  "nickname": "joao",
  "role": "CUSTOMER",
  "language": "pt-BR",
  "cellphone": "+5511999999999",
  "credits": 100,
  "status": true,
  "isAppManager": false,
  "first_recharge": false,
  "gender": "MASCULINO",
  "birthday": "1990-01-15T00:00:00.000Z",
  "latitude": -23.5505199,
  "longitude": -46.6333094,
  "createdAt": "2024-01-15T10:30:00.000Z",
  "updatedAt": "2024-01-15T10:30:00.000Z",
  "owner": "admin_user_id",
  "myMaster": "master_user_id"
}

Exemplo de Requisição

curl --location --request POST 'http://localhost:3333/user' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
--header 'Content-Type: application/json' \
--data-raw '{
  "email": "[email protected]",
  "role": "CUSTOMER",
  "language": "pt-BR",
  "name": "João Silva",
  "nickname": "joao",
  "password": "senha123",
  "passwordConfirmation": "senha123",
  "cellphone": "+5511999999999",
  "credits": 100,
  "gender": "MASCULINO",
  "birthday": "1990-01-15",
  "isAppManager": false
}'

Papéis de Usuário

ADMIN

  • Descrição: Administrador do sistema
  • Permissões: Acesso total, pode criar qualquer tipo de usuário
  • Limitações: Apenas outros ADMINs podem criar ADMINs

MASTER

  • Descrição: Usuário master/supervisor
  • Permissões: Pode gerenciar revendedores e clientes
  • Limitações: Não pode criar outros MASTERs ou ADMINs

RESALE

  • Descrição: Revendedor
  • Permissões: Pode criar e gerenciar clientes
  • Limitações: Apenas clientes próprios

CUSTOMER

  • Descrição: Cliente final
  • Permissões: Uso dos serviços VPN
  • Limitações: Sem permissões administrativas

Hierarquia de Usuários

Sistema de Hierarquia

{
  "owner": "id_do_criador",
  "myMaster": "id_do_master",
  "myAdmin": "id_do_admin"
}

Regras de Criação

  1. ADMIN pode criar qualquer tipo de usuário
  2. MASTER pode criar RESALE e CUSTOMER
  3. RESALE pode criar apenas CUSTOMER
  4. CUSTOMER não pode criar outros usuários

Validações

Email

  • Formato de email válido
  • Único no sistema
  • Campo obrigatório

Senha

  • Mínimo 6 caracteres
  • Máximo 32 caracteres
  • Confirmação obrigatória
  • Hash automático (bcrypt)

Campos Obrigatórios

  • email
  • role
  • language

Funcionalidades Especiais

Geolocalização

{
  "latitude": -23.5505199,
  "longitude": -46.6333094
}

Sistema de Créditos

{
  "credits": 100,
  "first_recharge": false
}
Configure adequadamente a hierarquia através dos campos master e owner para controle de acesso apropriado.

Próximos Passos

Após criar um usuário:
  1. Configure permissões específicas se necessário
  2. Envie credenciais por email seguro
  3. Configure serviços VPN se for cliente
  4. Defina limites de uso conforme o plano
Usuários criados por este endpoint já estão ativos e podem fazer login imediatamente (se tiverem senha definida).