Banred Helpdesk permite a cualquier agente autenticado abrir un ticket manualmente en nombre de un cliente, sin necesidad de que este lo haga por correo electrónico. Esto es útil cuando el cliente llama por teléfono, se comunica por chat o cuando el equipo detecta un problema proactivamente. Al guardar el formulario, el sistema crea el ticket, registra un mensaje inicial, asigna el número automáticamente y envía una notificación por correo electrónico al cliente usando la plantillaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/banredco/helpdesk/llms.txt
Use this file to discover all available pages before exploring further.
ticket_created.
Pasos para crear un ticket
Navegar a Nuevo Ticket
En el menú superior del panel de administración, dirígete a Tickets y haz clic en el botón Nuevo Ticket (
/admin/ticket-create.php). También puedes acceder directamente desde la lista de tickets pulsando el botón con el ícono de más (+).Seleccionar o crear el cliente
En el campo Cliente, escribe el nombre o correo electrónico del cliente. El campo tiene autocompletado con los clientes activos registrados en la base de datos.
- Si el cliente ya existe, selecciónalo de la lista desplegable.
- Si el correo ingresado no existe, el sistema creará automáticamente un nuevo cliente con ese correo electrónico como nombre y como dirección de contacto.
cc_emails.Completar los datos del ticket
Rellena los siguientes campos obligatorios y opcionales:
- Asunto — Título breve que describe la solicitud.
- Descripción — Detalle completo del problema o solicitud. Usa el editor enriquecido (CKEditor) para formato, listas o imágenes embebidas.
- Tipo — Categoría del ticket (por ejemplo: Consulta, Incidente, Solicitud). Selecciona de las opciones activas.
- Prioridad — Nivel de urgencia del ticket. El valor predeterminado es Media (
priority_id = 2).
Adjuntar archivos (opcional)
Arrastra archivos al área de carga o haz clic en ella para seleccionarlos. Los formatos aceptados son:
.pdf, .jpg, .jpeg, .png, .doc, .docx, .xls, .xlsx, .mp3, .mp4, .zip. Puedes adjuntar múltiples archivos y eliminarlos antes de enviar.Crear el ticket
Haz clic en Crear Ticket. El sistema:
- Valida el token CSRF para proteger el formulario.
- Inserta el ticket en la base de datos con
source = 'manual'ystatus_id = 1(Abierto). - Asigna el
ticket_numberigual alidde la fila insertada. - Registra el mensaje inicial en
ticket_messages. - Guarda los archivos adjuntos en
uploads/tickets/. - Registra la acción en
ticket_audit_logy enuser_activity_logs. - Envía el correo de confirmación al cliente vía
MailService::sendTemplate('ticket_created', ...). - Redirige a la vista del ticket recién creado.
Referencia de campos del formulario
| Campo | Nombre en formulario | Tipo | Descripción |
|---|---|---|---|
| Cliente (correo) | to_email | email | Correo del cliente. Si no existe, se crea automáticamente. |
| Copia (CC) | cc_emails | text | Correos adicionales en copia, separados por coma. |
| Tipo | type_id | select | ID del tipo de ticket (ticket_types). |
| Prioridad | priority_id | select | ID de la prioridad (ticket_priorities). Predeterminado: Media. |
| Asunto | subject | text | Título del ticket. Campo obligatorio. |
| Descripción | description | textarea (CKEditor) | Cuerpo principal del ticket en formato HTML. |
| Adjuntos | attachments[] | file (múltiple) | Archivos adjuntos al mensaje inicial. |
| Token CSRF | csrf_token | hidden | Generado por Csrf::generate(). Requerido para validar el envío. |
Numeración automática
El número de ticket (ticket_number) no se elige manualmente. El sistema inserta el ticket con un valor provisional y luego actualiza el campo con el id de la fila, garantizando que el número sea único y secuencial. Si ocurre una colisión de numeración por concurrencia, el sistema mostrará un mensaje de error solicitando reintentar.
El token CSRF tiene validez de sesión. Si el formulario permanece abierto por demasiado tiempo sin actividad y la sesión expira, el envío será rechazado con el mensaje “La sesión del formulario expiró. Intenta nuevamente.” Simplemente recarga la página y completa el formulario de nuevo.