GET
https://api.myidvirtual.com
/
customer
/
:userID
Buscar Customer
curl --request GET \
  --url https://api.myidvirtual.com/customer/:userID \
  --header 'Authorization: <authorization>'
{
  "customer": {
    "id": "cust-123e4567-e89b-12d3-a456-426614174000",
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "user": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "João Silva",
      "email": "[email protected]",
      "cellphone": "+5511999999999",
      "status": true,
      "credits": 100,
      "role": "CUSTOMER"
    },
    "passId": 12345,
    "password": "senha_hash",
    "dueDate": "2024-02-20T00:00:00.000Z",
    "screens": 2,
    "status": "active",
    "expiresIn": 30,
    "subscription": {
      "id": "sub-789",
      "planId": "plan-premium",
      "status": "active",
      "startDate": "2024-01-20T00:00:00.000Z",
      "endDate": "2024-02-20T00:00:00.000Z"
    },
    "devices": [
      {
        "id": "device-1",
        "name": "iPhone 13",
        "platform": "iOS",
        "lastAccess": "2024-01-19T15:30:00.000Z"
      }
    ],
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-20T14:45:00.000Z"
  },
  "message": "Customer encontrado"
}

Buscar Customer

Endpoint para buscar informações detalhadas de um customer específico, incluindo dados de assinatura, histórico e configurações.

Autenticação

Authorization
string
required
Bearer token JWT do usuário autenticado

Parâmetros

Path Parameters

userID
string
required
ID do usuário customer a ser buscado

Responses

{
  "customer": {
    "id": "cust-123e4567-e89b-12d3-a456-426614174000",
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "user": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "João Silva",
      "email": "[email protected]",
      "cellphone": "+5511999999999",
      "status": true,
      "credits": 100,
      "role": "CUSTOMER"
    },
    "passId": 12345,
    "password": "senha_hash",
    "dueDate": "2024-02-20T00:00:00.000Z",
    "screens": 2,
    "status": "active",
    "expiresIn": 30,
    "subscription": {
      "id": "sub-789",
      "planId": "plan-premium",
      "status": "active",
      "startDate": "2024-01-20T00:00:00.000Z",
      "endDate": "2024-02-20T00:00:00.000Z"
    },
    "devices": [
      {
        "id": "device-1",
        "name": "iPhone 13",
        "platform": "iOS",
        "lastAccess": "2024-01-19T15:30:00.000Z"
      }
    ],
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-20T14:45:00.000Z"
  },
  "message": "Customer encontrado"
}

Exemplo de Requisição

curl --location --request GET 'http://localhost:3333/customer/123e4567-e89b-12d3-a456-426614174000' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'

Campos da Resposta

Informações do Customer

id
string
ID único do customer
userId
string
ID do usuário associado ao customer
passId
number
ID de acesso do customer no sistema
dueDate
date
Data de vencimento da assinatura
screens
number
Número de telas/dispositivos permitidos
status
string
Status da assinatura (active, inactive, suspended)
expiresIn
number
Dias restantes até o vencimento

Informações do Usuário

user.id
string
ID do usuário
user.name
string
Nome completo do usuário
user.email
string
Email do usuário
user.cellphone
string
Telefone celular do usuário
user.credits
number
Créditos disponíveis do usuário

Permissões de Acesso

As permissões de visualização seguem a hierarquia:
  • ADMIN: Pode visualizar qualquer customer
  • MASTER: Pode visualizar customers de sua árvore
  • RESALE: Pode visualizar apenas seus customers diretos
  • CUSTOMER: Pode visualizar apenas seus próprios dados
Customers com assinatura vencida podem ter acesso bloqueado automaticamente. Verifique regularmente o status de vencimento.
Use este endpoint para criar dashboards e relatórios detalhados de customers, incluindo status de assinatura e uso de dispositivos.

Próximos Passos

  1. Implementar cache de dados do customer
  2. Criar alertas automáticos de vencimento
  3. Adicionar histórico de acessos
  4. Configurar relatórios personalizados