> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leavo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão Geral

> Organize sua equipe e controle a visibilidade das conversas com departamentos

## O que são Departamentos?

Departamentos permitem organizar sua equipe em grupos (ex: Vendas, Suporte, Financeiro) e controlar quais conversas cada grupo pode visualizar.

<CardGroup cols={2}>
  <Card title="Organização" icon="sitemap">
    Agrupe usuários por função ou área de atuação
  </Card>

  <Card title="Visibilidade" icon="eye">
    Operadores veem apenas conversas do seu departamento
  </Card>
</CardGroup>

## Como funciona a visibilidade

| Perfil                        | Conversas visíveis                                         |
| ----------------------------- | ---------------------------------------------------------- |
| **Owner / Admin**             | Todas as conversas (com filtro opcional por departamento)  |
| **Operador com departamento** | Conversas do seu departamento + conversas sem departamento |
| **Operador sem departamento** | Apenas conversas sem departamento atribuído                |

## Modelo do Departamento

```json theme={null}
{
  "id": "uuid",
  "tenant_id": "uuid",
  "name": "Vendas",
  "description": "Equipe de vendas",
  "member_count": 5,
  "created_at": "2024-01-15T10:00:00Z",
  "updated_at": "2024-01-15T10:00:00Z"
}
```

## Endpoints

| Método   | Endpoint                                     | Descrição              |
| -------- | -------------------------------------------- | ---------------------- |
| `GET`    | `/backend/departments`                       | Listar departamentos   |
| `GET`    | `/backend/departments/my`                    | Meus departamentos     |
| `POST`   | `/backend/departments`                       | Criar departamento     |
| `GET`    | `/backend/departments/{id}`                  | Obter departamento     |
| `PUT`    | `/backend/departments/{id}`                  | Atualizar departamento |
| `DELETE` | `/backend/departments/{id}`                  | Excluir departamento   |
| `GET`    | `/backend/departments/{id}/members`          | Listar membros         |
| `POST`   | `/backend/departments/{id}/members`          | Adicionar membro       |
| `DELETE` | `/backend/departments/{id}/members/{userId}` | Remover membro         |

## Permissões (RBAC)

* **Admin/Owner**: Acesso total (CRUD de departamentos e membros)
* **Operador**: Apenas `GET /departments/my` (consultar seus próprios departamentos)
