Skip to content

Suporte / Chamados — Superadmin

Visão Geral

O superadmin visualiza e responde a todos os tickets de suporte abertos pelos tenants (admins) em /superadmin/tickets. Badge de não-lidos aparece no nav do SuperadminLayout.

Localização

  • View: frontend-react/src/views/superadmin/TicketsView.tsx
  • Componentes: frontend-react/src/components/support/
    • TicketDetailPanel.tsx — thread de mensagens + resposta
    • CannedResponsesModal.tsx — respostas predefinidas
  • Controller: backend/src/superadmin/superadmin-support.controller.ts
  • Backend module: backend/src/support/

API

MétodoRotaDescrição
GET/api/superadmin/ticketsLista tickets (paginado, filtros)
GET/api/superadmin/tickets/:idDetalhe do ticket
POST/api/superadmin/tickets/:id/replyResponder ticket
PUT/api/superadmin/tickets/:id/statusMudar status

Query Params (GET lista)

ParamValoresDescrição
statusnew / in_progress / resolvedFiltrar por status
urgencylow / medium / high / criticalFiltrar por urgência
categorybug / feature_request / helpFiltrar por categoria
pagenumberPaginação
limitnumberItens por página

WebSocket

Namespace: /support Room superadmin: support:superadmin

EventoDireçãoPayload
newTicketServer → clientTicket recém-criado
ticketUpdatedServer → clientStatus/campos alterados
replyAddedServer → clientNova mensagem na thread

O superadmin entra automaticamente na room support:superadmin ao conectar.

TicketDetailPanel

Componente de painel lateral com:

  • Thread cronológica de mensagens (usuário + superadmin)
  • Input de resposta com envio via Enter
  • Botão para abrir CannedResponsesModal
  • Seletor de status inline

CannedResponsesModal

Modal com respostas predefinidas que podem ser inseridas no campo de resposta. Útil para perguntas frequentes.

Badge de Não-Lidos

SuperadminLayout mantém contagem de tickets com status: 'new' e exibe badge vermelho no item "Tickets" do nav. Atualizado via WebSocket em tempo real.

Relacionados

Lançado sob a licença MIT.