Pular para o conteúdo principal

Listar Departamentos

Requer perfil Admin ou Owner.
GET /backend/departments
Resposta (200):
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "tenant_id": "d6b10acc-2307-413f-a4de-4c2edf3f9a70",
      "name": "Vendas",
      "description": "Equipe de vendas",
      "member_count": 5,
      "created_at": "2024-01-15T10:00:00Z",
      "updated_at": "2024-01-15T10:00:00Z"
    }
  ]
}

Meus Departamentos

Acessível por Operadores. Retorna apenas os departamentos dos quais o usuário é membro.
GET /backend/departments/my

Criar Departamento

POST /backend/departments
Body:
{
  "name": "Suporte",
  "description": "Equipe de suporte ao cliente"
}
CampoTipoObrigatórioDescrição
namestringSimNome do departamento (máx. 100 caracteres, único por tenant)
descriptionstringNãoDescrição do departamento
Resposta (201):
{
  "id": "uuid",
  "tenant_id": "uuid",
  "name": "Suporte",
  "description": "Equipe de suporte ao cliente",
  "member_count": 0,
  "created_at": "2024-01-15T10:00:00Z",
  "updated_at": "2024-01-15T10:00:00Z"
}

Atualizar Departamento

PUT /backend/departments/{id}
Body:
{
  "name": "Suporte Premium",
  "description": "Equipe de suporte prioritário"
}
Todos os campos são opcionais no update. Se o novo nome já existir no tenant, retorna 409 Conflict.

Excluir Departamento

DELETE /backend/departments/{id}
Resposta: 204 No Content
Ao excluir um departamento, todas as referências em lead-channels e canais são removidas automaticamente (setadas como NULL).