Skip to content

Clientes — Endpoints

Base URL: /api/clients

Permissões: Admin, Broker


GET /api/clients

Lista clientes da empresa com paginação.

Query params:

ParâmetroTipoDescrição
pageintegerPágina (padrão: 1)
pageSizeintegerItens por página (padrão: 20)
searchstringBusca por nome, e-mail, CPF/CNPJ
typestringFiltro: Individual, Company
intereststringFiltro: Lease, Purchase, Investment

Resposta 200:

json
{
  "data": [
    {
      "id": "a1b2c3d4-...",
      "name": "João da Silva",
      "taxId": "123.456.789-00",
      "type": "Individual",
      "email": "joao@email.com",
      "phone": "(11) 99999-0001",
      "interest": "Lease",
      "source": "Indication",
      "createdAt": "2026-05-01T09:00:00Z"
    }
  ],
  "page": 1,
  "pageSize": 20,
  "total": 87,
  "totalPages": 5,
  "hasNext": true,
  "hasPrevious": false
}

GET /api/clients/:id

Retorna detalhes de um cliente, incluindo preferências e histórico.

Resposta 200:

json
{
  "id": "a1b2c3d4-...",
  "name": "João da Silva",
  "taxId": "123.456.789-00",
  "type": "Individual",
  "email": "joao@email.com",
  "phone": "(11) 99999-0001",
  "interest": "Lease",
  "source": "Indication",
  "preferences": {
    "desiredType": "Apartment",
    "minPrice": 2000.00,
    "maxPrice": 4000.00,
    "minBedrooms": 2,
    "neighborhood": "Centro"
  },
  "address": {
    "street": "Rua Exemplo",
    "number": "10",
    "city": "São Paulo",
    "state": "SP",
    "zipCode": "01001-000"
  },
  "notes": "Prefere andar alto, aceita condomínio até R$ 500.",
  "createdAt": "2026-05-01T09:00:00Z",
  "updatedAt": "2026-05-10T11:00:00Z"
}

POST /api/clients

Cadastra um novo cliente / lead.

Body:

json
{
  "name": "Maria Oliveira",
  "taxId": "987.654.321-00",
  "type": "Individual",
  "email": "maria@email.com",
  "phone": "(11) 98888-0002",
  "interest": "Purchase",
  "source": "Portal",
  "preferences": {
    "desiredType": "House",
    "minPrice": 300000.00,
    "maxPrice": 600000.00
  },
  "address": {
    "street": "Rua das Acácias",
    "number": "5",
    "city": "São Paulo",
    "state": "SP",
    "zipCode": "04001-000"
  },
  "notes": "Quer garagem coberta."
}
CampoTipoObrigatório
namestringSim
emailstringSim
typestringSim
intereststringSim

Valores de interest: Lease, Purchase, Investment, Both

Valores de source (origem do lead): Indication, Portal, SocialMedia, DirectContact, Other

Resposta 201: Objeto completo do cliente.

Erros:

  • 409 — CPF/CNPJ já cadastrado

PUT /api/clients/:id

Atualiza os dados de um cliente.

Body: Mesma estrutura do POST.

Resposta 200: Objeto atualizado.


DELETE /api/clients/:id

Remove o cliente (soft delete).

Permissões: Admin

Resposta 204: Sem conteúdo.

Erros:

  • 400 — Cliente possui contratos ativos

Documentação do FastGivr SystemImob