👥 Clientes

GET /api/v1/clients

Lista todos os clientes com paginação.

Query Parameters

  • page (opcional): Número da página (padrão: 1)
  • page_size (opcional): Itens por página (padrão: 25, máximo: 200)

Response: 200 OK

{
  "data": [
    {
      "id": "uuid",
      "org_id": "uuid",
      "name": "Nome do Cliente",
      "slug": "nome-cliente",
      "timezone": "Europe/Lisbon",
      "status": "active",
      "email": "cliente@example.com",
      "phone": 912345678,
      "plan": "premium",
      "metadata": {},
      "created_at": "2024-01-01T00:00:00Z"
    }
  ],
  "page": 1,
  "page_size": 25,
  "total": 100
}

POST /api/v1/clients

Cria um novo cliente.

Request

{
  "org_id": "uuid",
  "name": "Nome do Cliente",
  "slug": "nome-cliente",
  "timezone": "Europe/Lisbon",
  "status": "active",
  "email": "cliente@example.com",
  "phone": 912345678,
  "plan": "premium",
  "metadata": {}
}

Response: 201 Created

{
  "id": "uuid",
  "org_id": "uuid",
  "name": "Nome do Cliente",
  ...
}

GET /api/v1/clients/[id]

Obtém um cliente específico.

Response: 200 OK

{
  "id": "uuid",
  "org_id": "uuid",
  "name": "Nome do Cliente",
  ...
}

Erros:

  • 404 - Cliente não encontrado

PATCH /api/v1/clients/[id]

Atualiza um cliente.

Request

{
  "name": "Novo Nome",
  "status": "inactive"
}

Response: 200 OK

{
  "id": "uuid",
  "name": "Novo Nome",
  ...
}

GET /api/v1/clients/[id]/actions

Lista ações realizadas em um cliente.

Response: 200 OK

{
  "data": [
    {
      "id": "uuid",
      "type": "activate",
      "client_id": "uuid",
      "performed_by": "uuid",
      "performed_at": "2024-01-01T00:00:00Z",
      "details": {},
      "result": "success"
    }
  ]
}