Sistema de Tickets y Soporte

NoxPanel incluye un sistema de helpdesk completo para gestionar solicitudes de soporte. Los tickets pueden crearse desde el panel web, por email o vía API. El sistema soporta IMAP, OAuth2 Microsoft 365 y OAuth2 Google/Gmail para la recepción automática de tickets por correo electrónico.

Note

Para acceder al módulo de tickets necesitas el permiso can_access_ticketing. Si no ves la sección de soporte, contacta con tu administrador.

Dashboard del helpdesk

Acceso

El dashboard de tickets se encuentra en /tickets/. Desde allí puedes:

  • Ver todos tus tickets abiertos y cerrados

  • Crear nuevos tickets de soporte

  • Responder en el hilo de conversación de cada ticket

  • Filtrar por estado, prioridad y departamento

  • Adjuntar archivos a tus mensajes

Descripción General

El sistema de tickets se estructura en los siguientes elementos:

Departamentos

Cada ticket se asigna a un departamento (Soporte Técnico, Ventas, Administración, etc.). Los departamentos permiten enrutar las solicitudes al equipo correcto.

Prioridades

Los tickets tienen una prioridad que determina los tiempos de respuesta según la política SLA configurada:

Prioridad

Primera Respuesta

Resolución

Crítica

1 hora

4 horas

Urgente

2 horas

8 horas

Alta

4 horas

24 horas

Media

8 horas

48 horas

Baja

24 horas

72 horas

Note

Los tiempos de SLA son configurables por el administrador y pueden variar según tu plan contratado.

Estados del Ticket:

Estado

Significado

Nuevo

Recién creado, sin asignar

Abierto

Asignado a un agente, en proceso

Pendiente Cliente

Se espera respuesta del usuario

En Espera

Pausado temporalmente

Resuelto

Solución proporcionada, pendiente de confirmación

Cerrado

Ticket finalizado

Funcionalidades

Crear un Ticket

Desde el panel web:

  1. Accede a /tickets/new/.

  2. Rellena el formulario:

    • Asunto — Descripción breve del problema

    • Departamento — Selecciona el departamento adecuado

    • Prioridad — Según la urgencia de tu solicitud

    • Mensaje — Descripción detallada del problema o solicitud

    • Adjuntos — Archivos opcionales (capturas de pantalla, logs, etc.)

  3. Pulsa «Enviar Ticket».

# Ejemplo — crear un ticket vía API
curl -X POST https://tu-dominio.com/tickets/api/tickets/ \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Error al crear sitio web",
    "department": 1,
    "priority": "high",
    "messages": [
      {
        "body": "Al intentar crear un nuevo sitio web desde el panel de hosting, recibo un error 500. Adjunto captura de pantalla del error. El dominio es ejemplo.com y el error ocurre al pulsar el botón Crear.",
        "message_type": "reply"
      }
    ]
  }'

# Respuesta:
# {
#   "id": "e4f5a6b7-...",
#   "number": "TK-000042",
#   "subject": "Error al crear sitio web",
#   "status": "new",
#   "priority": "high",
#   "department": {"name": "Soporte Técnico"},
#   "created_at": "2026-02-08T10:30:00Z"
# }

Por email:

Si el sistema tiene una cuenta de correo configurada, puedes enviar un email directamente al departamento correspondiente. El ticket se creará automáticamente con el asunto y cuerpo del email.

Tip

Incluye toda la información relevante en el primer mensaje: URL del recurso afectado, mensajes de error, pasos para reproducir el problema. Esto acelera significativamente la resolución.

Ver Hilo del Ticket

Cada ticket tiene un hilo de conversación con todos los mensajes intercambiados entre el usuario y los agentes de soporte.

Accede al detalle del ticket en /tickets/<uuid>/.

El hilo muestra:

  • Mensajes del usuario — Tus mensajes y respuestas

  • Respuestas de agentes — Mensajes del equipo de soporte

  • Notas del sistema — Cambios de estado, asignaciones, etc.

  • Adjuntos — Archivos compartidos en cada mensaje

# Ver detalle de un ticket
curl -X GET https://tu-dominio.com/tickets/api/tickets/<uuid>/ \
  -H "Authorization: Bearer <token>"

# Responder a un ticket (añadir mensaje)
curl -X POST https://tu-dominio.com/tickets/api/tickets/<uuid>/reply/ \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "body": "He probado los pasos que indicas y el problema persiste. Adjunto los logs del servidor.",
    "message_type": "reply"
  }'

Adjuntar Archivos

Puedes adjuntar archivos a cualquier mensaje del ticket. Los formatos comunes soportados incluyen:

  • Imágenes: PNG, JPG, GIF

  • Documentos: PDF, TXT, DOC, DOCX

  • Logs: LOG, TXT

  • Comprimidos: ZIP, TAR.GZ

# Adjuntar un archivo a un mensaje
curl -X POST https://tu-dominio.com/tickets/api/tickets/<uuid>/reply/ \
  -H "Authorization: Bearer <token>" \
  -F "body=Adjunto los logs del servidor" \
  -F "attachments=@/ruta/al/archivo/error.log"

Filtrar y Buscar Tickets

Desde el dashboard de tickets puedes filtrar por:

  • Estado — Nuevo, Abierto, Pendiente, Resuelto, Cerrado

  • Prioridad — Baja, Media, Alta, Urgente, Crítica

  • Departamento — Soporte, Ventas, etc.

# Filtrar tickets por estado y prioridad
curl -X GET "https://tu-dominio.com/tickets/api/tickets/?status=open&priority=high" \
  -H "Authorization: Bearer <token>"

# Buscar tickets por número
curl -X GET "https://tu-dominio.com/tickets/api/tickets/?search=TK-000042" \
  -H "Authorization: Bearer <token>"

Departamentos Disponibles

Los departamentos más comunes son:

  • Soporte Técnico — Problemas con hosting, VPS, DNS, etc.

  • Ventas — Consultas sobre planes, precios y contratación

  • Facturación — Dudas sobre facturas, pagos y suscripciones

  • Administración — Solicitudes administrativas generales

# Listar departamentos disponibles
curl -X GET https://tu-dominio.com/tickets/api/departments/ \
  -H "Authorization: Bearer <token>"

# Respuesta:
# [
#   {"id": 1, "name": "Soporte Técnico", "slug": "soporte-tecnico"},
#   {"id": 2, "name": "Ventas", "slug": "ventas"},
#   {"id": 3, "name": "Facturación", "slug": "facturacion"}
# ]

Etiquetas (Tags)

Los tickets pueden tener etiquetas para facilitar su clasificación. Las etiquetas son asignadas por los agentes de soporte y permiten categorizar tickets por tema:

  • dns — Problemas de DNS

  • ssl — Certificados SSL

  • email — Correo electrónico

  • backup — Copias de seguridad

  • facturación — Temas de facturación

# Listar etiquetas disponibles
curl -X GET https://tu-dominio.com/tickets/api/tags/ \
  -H "Authorization: Bearer <token>"

Recepción de Tickets por Email

El sistema de tickets puede estar configurado para recibir solicitudes por correo electrónico de forma automática. Soporta:

  • IMAP — Protocolo estándar de correo entrante

  • POP3 — Protocolo alternativo

  • OAuth2 Microsoft 365 — Integración con cuentas corporativas Microsoft

  • OAuth2 Google / Gmail — Integración con cuentas de Google

Cuando se recibe un email en la dirección del departamento, se crea automáticamente un ticket con:

  • El asunto del email como título del ticket

  • El cuerpo del email como primer mensaje

  • Los adjuntos del email como archivos del ticket

  • El remitente como solicitante

Las respuestas al email del ticket se añaden automáticamente como mensajes en el hilo.

Notas

  • El dashboard de tickets está accesible en /tickets/.

  • Los tickets se numeran automáticamente con formato TK-NNNNNN (por ejemplo, TK-000001).

  • La autenticación para la API se realiza mediante tokens JWT.

  • Los archivos adjuntos se almacenan de forma segura y aislada por tenant.

  • Las políticas de SLA se aplican automáticamente según la prioridad del ticket. Si un ticket supera los tiempos definidos, el sistema genera alertas.

  • Los tickets creados por email respetan el hilo de conversación mediante las cabeceras Message-ID y In-Reply-To.

  • Puedes recibir notificaciones por email cuando tu ticket reciba una respuesta.

  • Para cerrar un ticket resuelto, confirma la solución respondiendo en el hilo o cambiando el estado desde el panel.

See also