Usuários
Introdução
O módulo de usuários cobre os conceitos fundamentais de quem opera a plataforma NX Suite: os tipos de usuário existentes, a hierarquia de permissões entre eles e os estados operacionais (status) que um operador pode assumir.
A partir da introdução do suporte a canais de voz, o conceito de status foi expandido para uma arquitetura dual, onde cada operador possui simultaneamente um status para o canal de texto e outro para o canal de voz.
Tipos de usuário
O NX Suite define cinco tipos de usuário:
| ID | Identificador | Descrição |
|---|---|---|
| 1 | SMARTNX | Super administrador da plataforma. Acesso irrestrito a todos os clientes e configurações. |
| 2 | ADMIN | Administrador do cliente. Gerencia todos os recursos dentro do escopo do seu cliente. |
| 3 | GESTOR | Gestor de operação. Supervisiona filas, relatórios e configurações operacionais. |
| 4 | SUPERVISOR | Supervisor de atendimento. Acompanha e intervém em atendimentos em tempo real. |
| 5 | OPERADOR | Agente de atendimento. Realiza atendimentos nos canais de texto e/ou voz. |
Hierarquia de permissões
A hierarquia define quais tipos de usuário cada perfil consegue gerenciar. Um usuário só pode realizar ações sobre outros usuários de nível igual ou inferior ao seu.
| Tipo | Pode gerenciar |
|---|---|
SMARTNX | ADMIN, GESTOR, SUPERVISOR, OPERADOR |
ADMIN | GESTOR, SUPERVISOR, OPERADOR |
GESTOR | GESTOR, SUPERVISOR, OPERADOR |
SUPERVISOR | SUPERVISOR, OPERADOR |
OPERADOR | — (sem subordinados) |
Operadores não gerenciam outros usuários. Gestores e supervisores podem pausar e despausar operadores remotamente informando o user_id do operador alvo na requisição. ADMIN e OPERADOR não têm essa permissão.
Status de usuário
Cada operador possui um status por canal — texto e voz — que reflete sua situação operacional no momento. Os status possíveis são:
| ID | Nome | Descrição operacional |
|---|---|---|
| 0 | Desconectado | Usuário fora do sistema (logout ou sessão expirada). |
| 1 | Ocioso | Conectado, sem atendimento ativo e sem pausa. |
| 2 | Em atendimento | Atendendo um chat de texto ativo. |
| 3 | Em chamada ativa | Em ligação de voz do tipo ativa (outbound). |
| 4 | Em chamada receptiva | Em ligação de voz do tipo receptiva (inbound). |
| 5 | Em chamada manual | Em ligação de voz do tipo manual. |
| 6 | Em pausa | Em pausa geral (tipo normal). |
| 7 | Pre-pausa | Solicitou pausa geral, mas ainda possui chats ativos. |
| 8 | Em pausa voz | Em pausa exclusiva do canal de voz. |
| 9 | Em pausa texto | Em pausa exclusiva do canal de texto. |
| 10 | Pre-pausa voz | Solicitou pausa de voz, mas ainda possui chamada ativa. |
| 11 | Pre-pausa texto | Solicitou pausa de texto, mas ainda possui chat ativo. |
| 12 | Tabulando | Em pausa de tabulação pós-atendimento de voz. |
Tipos de pausa
As pausas possuem um tipo que determina a qual canal se aplicam:
| Tipo | Identificador | Status de pausa | Status de pré-pausa |
|---|---|---|---|
| 1 | normal | Em pausa (6) | Pre-pausa (7) |
| 2 | voice | Em pausa voz (8) | Pre-pausa voz (10) |
| 3 | text | Em pausa texto (9) | Pre-pausa texto (11) |
Pausas do tipo voice afetam apenas o canal de voz do operador; pausas do tipo text afetam apenas o canal de texto; pausas do tipo normal afetam ambos os canais simultaneamente.
O status Tabulando (12) é um caso especial. Ele é ativado por pausas que possuem a flag tabulation habilitada — independentemente do tipo da pausa (normal, voice ou text) — e sempre afeta exclusivamente o canal de voz. Não possui pré-pausa correspondente.
Status no retorno de pausa
Ao sair de uma pausa, o sistema verifica se o operador ainda possui atendimentos ativos antes de definir o status de retorno:
- Pausa de tabulação: sempre volta para Ocioso no canal de voz.
- Pausa de texto: se ainda há chat de texto ativo → Em atendimento no TEXT; caso contrário → Ocioso no TEXT.
- Pausa de voz: se ainda há chamada ativa → status correspondente à chamada (Em chamada ativa, receptiva ou manual) no VOICE; caso contrário → Ocioso no VOICE.
- Pausa geral: avalia ambos os canais de forma independente.
Comportamento no login
Ao fazer login, o sistema define o status inicial do operador com base em dois critérios: se há chats ativos no momento e o tipo de usuário.
Sem chats ativos: todos os tipos entram como Ocioso em texto e voz.
Com chats ativos: o status varia por perfil:
| Perfil | Status TEXT | Status VOICE |
|---|---|---|
| SMARTNX, ADMIN | Ocioso | Ocioso |
| GESTOR, SUPERVISOR | Em atendimento | Ocioso |
| OPERADOR | Em atendimento | Ocioso |
Gestores, supervisores e operadores podem ter chats de texto pendentes ao reconectar, por isso entram como Em atendimento no canal de texto. Administradores não operam atendimentos diretamente, então sempre voltam como Ocioso. O canal de voz sempre inicia como Ocioso independentemente do perfil, pois chamadas de voz não persistem entre sessões.
Comportamento no logout
O logout pode ser voluntário (o próprio usuário ou um superior aciona o logout) ou por desconexão (queda de sessão detectada pelo sistema).
Em ambos os casos, o status do operador é atualizado para Desconectado em texto e voz ao concluir o processo.
Proteção contra logout com chats ativos
Quando habilitada no cliente, a configuração disable_logout_with_chats impede que um operador saia do sistema enquanto possui chats abertos. O bloqueio se aplica quando todas as condições a seguir são verdadeiras:
- A configuração está habilitada no cliente
- O usuário sendo deslogado é do tipo OPERADOR
- O logout foi solicitado pelo próprio operador (não por um superior)
- O logout não foi causado por desconexão
- O operador possui pelo menos 1 chat ativo
Quando bloqueado, o sistema retorna erro e o operador permanece no sistema até encerrar os atendimentos.
Logout forçado por superiores (SMARTNX, ADMIN, GESTOR, SUPERVISOR) e logout por desconexão ignoram essa proteção e sempre prosseguem.
Logout automático por inatividade de sessão
Quando a funcionalidade de sessão está habilitada, o sistema agenda um logout automático para cada usuário no momento do login. Caso o usuário permaneça conectado sem interação por tempo prolongado, o sistema o desloga automaticamente.
O timer é reiniciado a cada refresh de token — usuários ativos que renovam sua sessão periodicamente não são afetados. O logout automático só ocorre de fato quando a sessão fica completamente inativa pelo tempo configurado.
O prazo padrão é de 12 horas. Ao ser deslogado automaticamente, o comportamento é idêntico ao logout por desconexão: o status do operador é atualizado para Desconectado em ambos os canais.
Bloqueio ao desativar usuário
Não é possível desativar um usuário enquanto ele está em atendimento ativo. Os status que bloqueiam a desativação são:
| Status bloqueante |
|---|
| Em atendimento (2) |
| Em chamada ativa (3) |
| Em chamada receptiva (4) |
| Em chamada manual (5) |
Conclusão
O módulo de usuários é estruturado em torno de cinco tipos com hierarquia clara de gerenciamento e de um modelo de status dual — por canal de texto e voz — que reflete com precisão a situação operacional de cada agente em tempo real. As regras de login, logout e pausa garantem consistência entre o estado percebido pelo sistema e o estado real do operador.