Skip to content

Clientes

Gerencie os clientes cadastrados na loja. Suporta pessoa física (PF) e pessoa jurídica (PJ).

Listar clientes

http
GET /api/v1/customers

Query parameters

ParâmetroTipoDescrição
searchstringBusca por nome, e-mail ou razão social
statusstringFiltrar: active ou inactive
typestringFiltrar: pf (pessoa física) ou pj (pessoa jurídica)
emailstringBusca exata por e-mail
cpfstringFiltrar por CPF
cnpjstringFiltrar por CNPJ
sortstringCampo de ordenação (padrão: created_at)
directionstringasc ou desc (padrão: desc)
per_pageintegerItens por página (máx: 100, padrão: 25)

Exemplo

bash
curl -X GET "https://sualoja.com.br/api/v1/customers?type=pf&status=active" \
  -H "X-API-Key: SUA_CHAVE"

Resposta

json
{
  "data": [
    {
      "id": 5,
      "type": "pf",
      "name": "João Silva",
      "email": "joao@email.com",
      "cpf": "123.456.789-00",
      "cnpj": null,
      "company_name": null,
      "phone": "(11) 3456-7890",
      "mobile": "(11) 98765-4321",
      "status": "active",
      "birth_date": "1990-05-15",
      "addresses": [
        {
          "id": 1,
          "label": "Casa",
          "cep": "01001-000",
          "street": "Rua A",
          "number": "100",
          "complement": "Apto 42",
          "district": "Centro",
          "city": "São Paulo",
          "state": "SP",
          "is_default": true
        }
      ],
      "orders_count": 8,
      "created_at": "2026-01-20T14:00:00Z",
      "updated_at": "2026-03-10T09:30:00Z"
    }
  ]
}

Buscar cliente

http
GET /api/v1/customers/{id}

Retorna o cliente com endereços e contagem de pedidos.

Criar cliente

http
POST /api/v1/customers

Campos

CampoTipoObrigatórioDescrição
namestringNome completo ou razão social
emailstringE-mail (deve ser único)
typestringpf (pessoa física) ou pj (pessoa jurídica)
passwordstringSenha (mínimo 6 caracteres)
cpfstringCPF (para PF)
cnpjstringCNPJ (para PJ)
company_namestringRazão social (para PJ)
phonestringTelefone fixo
mobilestringCelular
statusstringactive ou inactive (padrão: active)
birth_datedateData de nascimento (formato: YYYY-MM-DD)

Exemplo

bash
curl -X POST https://sualoja.com.br/api/v1/customers \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maria Santos",
    "email": "maria@email.com",
    "type": "pf",
    "password": "senha123",
    "cpf": "987.654.321-00",
    "mobile": "(11) 91234-5678"
  }'

Resposta 201 Created

json
{
  "data": {
    "id": 6,
    "type": "pf",
    "name": "Maria Santos",
    "email": "maria@email.com",
    "cpf": "987.654.321-00",
    "status": "active",
    "orders_count": 0
  }
}

Atualizar cliente

http
PUT /api/v1/customers/{id}

Aceita os mesmos campos do POST, todos opcionais. O campo password é opcional na atualização.

Exemplo

bash
curl -X PUT https://sualoja.com.br/api/v1/customers/6 \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "(11) 3456-7890",
    "mobile": "(11) 99876-5432"
  }'

Desativar cliente

http
DELETE /api/v1/customers/{id}

Soft delete

A exclusão de clientes não remove o registro. O status é alterado para inactive, preservando o histórico de pedidos.

Resposta

json
{
  "message": "Cliente desativado."
}

Tipos de cliente

TipoDescriçãoCampos específicos
pfPessoa Físicacpf, birth_date
pjPessoa Jurídicacnpj, company_name