Pular para o conteúdo

Clientes

Gerencie clientes (CRM) com notas, documentos e contratos associados. Suporta paginacao, busca e filtros por status e tipo de pagamento.

GET/api/clients

Lista clientes com paginacao e filtros.

Parametros

NomeTipoObrigatorioDescricao
page(query)integerNaoPagina(default: 1)
limit(query)integerNaoItens por pagina (max 100)(default: 20)
sortBy(query)stringNaoCampo de ordenacao
sortOrder(query)stringNaoasc ou desc
status(query)stringNaoactive, inactive, prospect
paymentType(query)stringNaoTipo de pagamento
search(query)stringNaoBusca por nome, email ou empresa
curl -s "https://flow.seudominio.com/api/clients?status=active&search=empresa&page=1" \
  -H "Authorization: Bearer $TOKEN" | jq .
200Lista paginada de clientes
json
{
  "success": true,
  "data": {
    "clients": [
      {
        "id": "clx...",
        "name": "Maria Santos",
        "company": "Tech Corp",
        "email": "maria@techcorp.com",
        "phone": "+5511999999999",
        "status": "active",
        "paymentType": "mensal",
        "value": 5000.00
      }
    ],
    "total": 45,
    "page": 1,
    "limit": 20
  }
}
POST/api/clients

Cria um novo cliente.

Body

NomeTipoObrigatorioDescricao
namestringSimNome do cliente
companystringNaoEmpresa
emailstringNaoEmail
phonestringNaoTelefone
statusstringNaoactive, inactive, prospect
paymentTypestringNaoTipo de pagamento
valuenumberNaoValor mensal/contrato
bash
curl -X POST "https://flow.seudominio.com/api/clients" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Empresa ABC Ltda",
    "email": "contato@empresaabc.com.br",
    "phone": "+5511999999999",
    "status": "active",
    "paymentType": "mensal",
    "value": 3500.00
  }'
GET/api/clients/{id}

Retorna detalhes completos de um cliente.

bash
curl -s "https://flow.seudominio.com/api/clients/clx123" \
  -H "Authorization: Bearer $TOKEN" | jq .
PUT/api/clients/{id}

Atualiza dados de um cliente.

bash
curl -X PUT "https://flow.seudominio.com/api/clients/clx123" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "status": "inactive", "value": 0 }'
DELETE/api/clients/{id}

Remove um cliente (somente admin).

bash
curl -X DELETE "https://flow.seudominio.com/api/clients/clx123" \
  -H "Authorization: Bearer $TOKEN"
GET/api/clients/stats

Estatisticas gerais de clientes.

200Estatisticas
json
{
  "success": true,
  "data": {
    "totalClients": 45,
    "activeClients": 38,
    "inactiveClients": 5,
    "prospects": 2,
    "totalRevenue": 175000.00
  }
}

Notas

GET/api/clients/{id}/notes

Lista notas de um cliente.

POST/api/clients/{id}/notes

Adiciona uma nota ao cliente.

Body

NomeTipoObrigatorioDescricao
contentstringSimConteudo da nota
bash
curl -X POST "https://flow.seudominio.com/api/clients/clx123/notes" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "content": "Cliente solicitou upgrade para plano premium" }'
DELETE/api/clients/{id}/notes/{noteId}

Remove uma nota.

Documentos

GET/api/clients/{id}/documents

Lista documentos do cliente.

POST/api/clients/{id}/documents

Faz upload de um documento (multipart/form-data).

bash
curl -X POST "https://flow.seudominio.com/api/clients/clx123/documents" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/path/to/contrato.pdf"
GET/api/clients/{id}/documents/{documentId}/file

Download/visualizacao do documento.

DELETE/api/clients/{id}/documents/{documentId}

Remove um documento.

Contratos

GET/api/clients/{id}/contracts

Lista contratos do cliente.

POST/api/clients/{id}/contracts

Cria um contrato para o cliente.

Body

NomeTipoObrigatorioDescricao
namestringSimNome do contrato
paymentTypestringSimTipo de pagamento
valuenumberSimValor
contractStartstringSimData inicio (YYYY-MM-DD)
statusstringNaoStatus do contrato
PUT/api/clients/{id}/contracts/{contractId}

Atualiza um contrato.

DELETE/api/clients/{id}/contracts/{contractId}

Remove um contrato.