POST
https://api.myidvirtual.com
/
customer
Criar Cliente
curl --request POST \
  --url https://api.myidvirtual.com/customer \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "<string>",
  "name": "<string>",
  "language": "<string>",
  "password": "<string>",
  "passwordConfirmation": "<string>",
  "cellphone": "<string>",
  "nickname": "<string>",
  "gender": "<string>",
  "birthday": "<string>",
  "credits": 123,
  "isTrial": true,
  "creatorId": "<string>",
  "mac_address": "<string>",
  "latitude": 123,
  "longitude": 123,
  "notes": "<string>"
}
'
{
  "customer": {
    "id": "cust_123e4567-e89b-12d3-a456-426614174000",
    "isTrial": true,
    "exp_date": "2024-01-22T10:30:00.000Z",
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "user": {
      "id": "user_123e4567-e89b-12d3-a456-426614174000",
      "email": "[email protected]",
      "name": "João Cliente",
      "nickname": "joao",
      "role": "CUSTOMER",
      "language": "pt-BR",
      "cellphone": "+5511999999999",
      "credits": 50,
      "status": true,
      "gender": "MASCULINO",
      "birthday": "1990-01-15T00:00:00.000Z",
      "mac_address": "00:1B:44:11:3A:B7",
      "latitude": -23.5505199,
      "longitude": -46.6333094,
      "notes": "Cliente premium",
      "first_recharge": false,
      "isAppManager": false,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-01-15T10:30:00.000Z"
    }
  },
  "credentials": {
    "email": "[email protected]",
    "password": "auto_generated_password_123",
    "login_url": "https://app.myidvirtual.com/login"
  },
  "message": "Cliente criado com sucesso"
}

Criar Cliente

Endpoint para criar um novo cliente VPN no sistema. Este endpoint é usado para registrar clientes que utilizarão os serviços de VPN.

Parâmetros

Request Body

email
string
required
Email único do cliente (validação de formato email)
name
string
required
Nome completo do cliente
language
string
required
Idioma do cliente (ex: “pt-BR”, “en-US”)
password
string
Senha do cliente (será gerada automaticamente se não fornecida)
passwordConfirmation
string
Confirmação da senha (obrigatória se senha fornecida)
cellphone
string
Número de telefone celular
nickname
string
Apelido do cliente
gender
string
Gênero: MASCULINO ou FEMININO
birthday
string
Data de nascimento (formato: YYYY-MM-DD)
credits
number
Créditos iniciais (padrão: 0)
isTrial
boolean
Define se é conta trial (padrão: true)
creatorId
string
ID do usuário que está criando o cliente
mac_address
string
Endereço MAC do dispositivo
latitude
number
Coordenada de latitude
longitude
number
Coordenada de longitude
notes
string
Notas administrativas sobre o cliente

Responses

{
  "customer": {
    "id": "cust_123e4567-e89b-12d3-a456-426614174000",
    "isTrial": true,
    "exp_date": "2024-01-22T10:30:00.000Z",
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "user": {
      "id": "user_123e4567-e89b-12d3-a456-426614174000",
      "email": "[email protected]",
      "name": "João Cliente",
      "nickname": "joao",
      "role": "CUSTOMER",
      "language": "pt-BR",
      "cellphone": "+5511999999999",
      "credits": 50,
      "status": true,
      "gender": "MASCULINO",
      "birthday": "1990-01-15T00:00:00.000Z",
      "mac_address": "00:1B:44:11:3A:B7",
      "latitude": -23.5505199,
      "longitude": -46.6333094,
      "notes": "Cliente premium",
      "first_recharge": false,
      "isAppManager": false,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-01-15T10:30:00.000Z"
    }
  },
  "credentials": {
    "email": "[email protected]",
    "password": "auto_generated_password_123",
    "login_url": "https://app.myidvirtual.com/login"
  },
  "message": "Cliente criado com sucesso"
}

Exemplo de Requisição

curl --location --request POST 'http://localhost:3333/customer' \
--header 'Content-Type: application/json' \
--data-raw '{
  "email": "[email protected]",
  "name": "João Cliente",
  "language": "pt-BR",
  "nickname": "joao",
  "cellphone": "+5511999999999",
  "gender": "MASCULINO",
  "birthday": "1990-01-15",
  "credits": 50,
  "isTrial": true,
  "notes": "Cliente premium"
}'

Funcionalidades Especiais

Conta Trial

  • Duração: 7 dias por padrão
  • Recursos limitados: Conforme configuração
  • Conversão: Pode ser convertida para conta paga

Hierarquia de Clientes

Propriedade

{
  "owner": "id_do_criador",
  "creatorId": "id_do_revendedor"
}

Regras de Acesso

  • ADMIN: Pode ver todos os clientes
  • MASTER: Clientes de seus revendedores
  • RESALE: Apenas próprios clientes

Validações

Email

  • Formato válido obrigatório
  • Uniqueness no sistema
  • Verificação de domínio

Dados Pessoais

  • Nome obrigatório (max 200 chars)
  • Telefone formato internacional
  • Data de nascimento validada

Configurações

  • Créditos não negativos
  • MAC address formato válido
  • Coordenadas dentro de limites

Automações

Email de Boas-vindas

Enviado automaticamente com:
  • Credenciais de acesso
  • Links para download de apps

Próximos Passos

  1. Configure templates de email personalizados
  2. Implemente onboarding automatizado
  3. Configure métricas de conversão trial→pago
  4. Crie dashboard de gestão de clientes
Clientes criados começam com status ativo e podem fazer login imediatamente após criação.