AI Ticketing Starter — Documentación (WordPress)
AI Ticketing Starter for WordPress es una base de helpdesk autoalojada. Añade un formulario público de tickets protegido contra spam, registros de tickets almacenados dentro de WordPress, un historial de tickets para el cliente, una pantalla de triaje en el administrador y un tipo de contenido de Knowledge Base con búsqueda. Está dirigido a propietarios de sitios que quieren recibir, organizar y responder solicitudes de clientes sin enviar datos de soporte a un SaaS externo: todo permanece en tu propia instalación.
Nota de alcance: esta es la edición starter enfocada para WordPress. Intencionadamente no incluye la automatización avanzada de SLA, la captación multicanal, la recuperación de conocimiento RAG ni las respuestas generadas por IA que se encuentran en la suite AI Ticketing de Joomla. Lo documentado aquí coincide con el código que recibes.
Requisitos
- Una instalación de WordPress compatible.
- PHP 8.1 o superior.
Instalación
- Descarga el ZIP comprado (por ejemplo
wp-aiticketing-1.6.50.zip) desde tu pedido. - En el administrador de WordPress, ve a Plugins > Añadir nuevo > Subir plugin.
- Elige el ZIP, haz clic en Instalar ahora y luego en Activar.
La activación registra el tipo de contenido de tickets y el tipo de contenido de Knowledge Base. No se crea contenido automáticamente: tú mismo añades las páginas del front-end en los pasos siguientes.
Nota sobre la desinstalación: la rutina de desinstalación conserva deliberadamente los tickets y los artículos de la Knowledge Base, de modo que eliminar el plugin no borra tus registros de negocio.
Configuración
- Abre la pantalla de ajustes del plugin en el administrador de WordPress y revisa las opciones del flujo público (cómo se comporta el formulario público de tickets y cómo se aceptan los envíos).
- Crea una página pública para el envío de tickets y coloca en ella el shortcode del formulario de tickets suministrado. El formulario incluye validación por nonce, un campo honeypot y limitación de frecuencia: estas comprobaciones antispam se ejecutan antes de guardar cualquier ticket y no necesitan ningún servicio externo.
- Crea una segunda página protegida (visible para usuarios conectados) y coloca en ella el shortcode de la lista de tickets del cliente. Los clientes con sesión iniciada usan esta página para revisar las solicitudes asociadas a su cuenta.
- Si piensas usar la Knowledge Base, empieza a añadir artículos en el tipo de contenido dedicado de Knowledge Base y publica una página de listado para que los visitantes puedan navegarlos y buscarlos.
Uso del plugin
Recibir tickets desde el formulario público
Los visitantes envían solicitudes a través de la página que contiene el shortcode del formulario de tickets. Cada envío pasa las comprobaciones de nonce, honeypot y límite de frecuencia; solo los envíos válidos se convierten en registros de ticket. Como los tickets son un tipo de contenido nativo de WordPress, residen en tu propia base de datos: nada sale de tu sitio.
Triaje de tickets en el administrador
Los tickets aparecen en un listado dedicado del administrador basado en el tipo de contenido de tickets. Desde ahí puedes abrir cada ticket, revisar la solicitud y gestionarlo como cualquier otro elemento de contenido de WordPress. Usa esta pantalla como tu cola de triaje diaria: procesa los tickets nuevos, actualízalos y conserva el historial para tus registros.
Historial de tickets del cliente
El shortcode de la lista de tickets del cliente ofrece a cada usuario conectado una vista de autoservicio de sus propios tickets. Mantén esta página detrás de un requisito de inicio de sesión para que los usuarios solo vean las solicitudes vinculadas a su cuenta. Esto reduce los correos de seguimiento del tipo "¿qué pasó con mi solicitud?".
Knowledge Base
Los artículos de la Knowledge Base usan su propio tipo de contenido de WordPress, separado de las entradas y las páginas. Los artículos se pueden listar y buscar desde el front-end, de modo que puedes construir una sección de ayuda de autoservicio que responda las preguntas frecuentes antes de que se abra un ticket. Escribe un artículo por cada pregunta recurrente y enlaza la Knowledge Base desde tu página de soporte.
Base REST
El plugin incluye una base REST sencilla para integraciones controladas. Es un punto de partida para conectar herramientas externas con los datos de tus tickets; es intencionadamente mínima en esta edición starter.
Actualizaciones y licencia
- AI Ticketing Starter es un producto de pago (compra única, 119 EUR). Tras la compra, introduce tu Download Key en el panel de ajustes del plugin. Con una clave válida, las actualizaciones se entregan automáticamente a través de la pantalla estándar Escritorio > Actualizaciones de WordPress desde el servidor de actualizaciones de GMC / FuerteventuraTV.
- Una licencia cubre un sitio. Para sitios adicionales, compra licencias adicionales.
- El código está licenciado bajo la GPL: puedes inspeccionarlo y modificarlo en tu propia instalación. La Download Key controla la entrega de actualizaciones y el soporte, no el código en sí.
Soporte
- WhatsApp: +34 633 168 995 — el canal más rápido.
- Email: responde al correo de tu compra/pedido e incluye la URL de tu sitio y la versión del plugin (consulta Plugins en tu administrador de WordPress).
- El soporte está disponible en inglés, italiano y español.
- Reembolsos: los productos de pago incluyen un plazo de reembolso de 14 días desde la fecha de compra.
Todo incluido
117 funciones reales, agrupadas por área — toda la profundidad de la suite, sin recortar nada.
Núcleo de ticketing (motor de helpdesk)
- Crea tickets desde cualquier lugar — los clientes los envían desde el sitio público y los agentes los abren desde el backend.
- Conversaciones en hilo — cada mensaje del cliente y cada respuesta del agente se conservan en orden cronológico en el ticket.
- Notas internas — notas privadas solo para el personal en un ticket, que el cliente nunca ve.
- Flujo de estados completo — 8 estados preconfigurados (Nuevo → Abierto → … → Cerrado) más Escalado y Reabierto, todos editables.
- Cinco niveles de prioridad — Baja, Media, Alta, Urgente, Crítica para priorizar primero lo que importa.
- Categorías — organiza los tickets por tema (general, facturación, técnico, cuenta preconfigurados), totalmente editables.
- Equipos y miembros — dirige el trabajo a los equipos de Soporte / Facturación / Técnico con roles por usuario.
- IDs de ticket públicos — cada ticket recibe una referencia compartible TKT-XXXXXXXX, segura para enviar a los clientes.
- Asignación de agente — entrega un ticket a un agente concreto, que pasa a ser su "propietario".
- Cambio de estado rápido — cambia el estado de un ticket con un clic desde el espacio de trabajo.
- Transiciones de flujo configurables — define qué cambios de estado están permitidos.
- Etiquetas — etiqueta los tickets para informes y filtros.
- Reapertura por respuesta del cliente — una respuesta en un ticket cerrado lo reabre automáticamente (estado Reabierto, borra la marca de tiempo de cierre) para que nada se pierda.
Portal del cliente (frontend)
- Formulario de envío público — un formulario de entrada limpio que los clientes usan sin necesidad de formación.
- Tickets de invitado (opcional) — permite a los visitantes abrir tickets sin crear una cuenta.
- Acceso con token de invitado — los invitados reciben un enlace "consulta o responde a tu ticket" imposible de adivinar para hacer seguimiento sin cuenta.
- Trampa antispam honeypot — bloquea los bots en silencio sin molestar a los usuarios reales.
- Limitación por IP — limita los envíos por IP dentro de una ventana configurable para frenar los abusos.
- CAPTCHA opcional — añade el CAPTCHA propio del sitio al formulario de invitado cuando lo desees, con degradación elegante si no hay ninguno instalado.
- Lista "Mis tickets" — los clientes con sesión iniciada ven todas sus solicitudes en un solo lugar.
- Detalle del ticket + respuesta — los clientes leen toda la conversación y responden en línea.
- Archivos adjuntos — los clientes adjuntan archivos al enviar y en cada respuesta.
- Búsqueda en la Knowledge Base — los clientes encuentran respuestas por sí mismos antes de abrir un ticket.
- Valoración de satisfacción con un clic — una página CSAT sin inicio de sesión tras la resolución.
Espacio de trabajo de administración y operaciones
- KPIs del panel — volúmenes abiertos/cerrados y CSAT medio de un vistazo.
- Lista de tickets filtrable — filtra por estado, prioridad, categoría, asignado, estado del SLA y búsqueda de texto libre.
- Espacio de trabajo de un solo ticket — conversación, respuesta, nota interna, asignación y cambio de estado en una sola pantalla.
- Panel de IA — clasifica o redacta una respuesta para el ticket abierto bajo demanda (cuando la IA está activada).
- Panel de tickets similares — muestra tickets pasados relacionados (reordenados por relevancia, luego coseno, luego palabras clave) para reutilizar soluciones.
- Insignias de sentimiento y entidades extraídas — ve el estado de ánimo del cliente y las entidades clave extraídas del ticket.
- Aplica la clasificación con un clic — traslada una sugerencia de IA de categoría/prioridad/equipo al ticket en una sola acción.
- CRUD de administración completo — gestiona categorías, prioridades, estados, equipos, miembros de equipo, políticas de SLA, transiciones de flujo y artículos de la KB.
- Revisión segura de adjuntos — un panel de Adjuntos con descargas protegidas en la pantalla de edición del ticket.
IA opcional — triaje, respuesta automática y escalado
- Interruptor principal de IA — todo el helpdesk funciona por completo con la IA apagada; actívala cuando estés listo.
- Elección de proveedor — NVIDIA NIM, un AI Gateway privado (FastAPI/enterprise) o ninguno — tras una única interfaz.
- Clasificación automática — los tickets entrantes reciben categoría, prioridad, equipo, idioma detectado, puntuación de sentimiento y una señal de "quiere un humano".
- Respuesta automática fundamentada — cuando tiene confianza y se apoya en la KB, la IA publica una respuesta pública, envía un correo al cliente y mueve el ticket a un estado de espera.
- Escalado automático a un humano — cede el paso a una persona ante "quiere un humano", sentimiento negativo, baja confianza, sin coincidencia en la KB o incertidumbre del modelo — para que la IA nunca adivine.
- Umbral de confianza — define cuán segura debe estar la IA antes de responder en lugar de escalar.
- Umbral de escalado por sentimiento — los clientes descontentos se dirigen directamente a una persona.
- Umbral de coincidencia con la KB — las respuestas solo salen cuando un artículo real de la KB las fundamenta.
- Herramienta de borrador de IA manual — los agentes generan un borrador que siempre requiere aprobación humana antes de enviarse.
- Procesamiento asíncrono en cola — la IA se ejecuta en segundo plano en el planificador, sin bloquear nunca la página.
- Cola a prueba de duplicados y autorreparable — la reclamación atómica del trabajo evita respuestas duplicadas; los trabajos atascados vuelven a la cola; los fallidos reintentan con retroceso.
- Contención de prompt injection — el texto no fiable del ticket/KB se delimita y se trata como datos, nunca como instrucciones; los borradores no pueden prometer reembolsos ni resultados legales.
- Endpoint de clasificador personalizado — conecta NeMo/TAO/tu propio modelo de ML para clasificar antes de la vía del LLM.
- Telemetría de costes de IA — recuento de tokens y coste configurable por 1k de entrada/salida registrados en cada llamada.
- Tu propia clave, primero el entorno — tu clave de NVIDIA puede residir en una variable de entorno del servidor y nunca se escribe en la base de datos.
- Mensaje de espera — publica opcionalmente una nota pública tranquilizadora al cliente en el momento en que un ticket se escala.
- Coincidencia del idioma de respuesta — las respuestas vuelven en el propio idioma del ticket.
- Enrutamiento del escalado — los tickets escalados se asignan automáticamente a un agente elegido, con nota interna y notificación al personal.
Knowledge Base y RAG
- Gestión de artículos de la KB — crea y mantén artículos de ayuda en la administración.
- Embedding/indexación automáticos — los artículos se dividen en fragmentos y se vectorizan para la búsqueda semántica.
- Respuestas fundamentadas en RAG — las respuestas de la IA citan artículos reales de la KB en lugar de alucinar.
- Fase de rerank opcional — un cross-encoder de NVIDIA refina la lista corta para respuestas más certeras.
- Búsqueda en la KB desde el frontend — los clientes buscan directamente en la misma knowledge base.
- Backend vectorial intercambiable — SQL/coseno en la base de datos por defecto, PostgreSQL pgvector o una base de datos vectorial gestionada (Milvus/gestionada) a través del gateway, cada uno con fallback seguro.
- API de reindexación de la KB — vuelve a generar los embeddings de toda la knowledge base mediante un endpoint REST.
Gestión de SLA
- Políticas de SLA — define objetivos de primera respuesta y de resolución (en minutos) por política.
- Relleno automático de fechas límite — los tickets reciben los plazos de primera respuesta/resolución de la política predeterminada.
- Estado del SLA en tiempo real — cada ticket abierto se rastrea como ok / cerca del incumplimiento / incumplido.
- Eventos de incumplimiento — un incumplimiento dispara un evento en la transición para notificaciones o automatización posterior.
CSAT (satisfacción del cliente)
- Valoración de 1 a 5 con un clic — un enlace de valoración con token y sin inicio de sesión tras la resolución.
- Invitación por correo opcional — envía automáticamente la solicitud de valoración al resolver/cerrar.
- Integridad de escritura única — una valoración y su comentario no se pueden manipular ni sobrescribir.
- CSAT medio en el panel — sigue la tendencia de satisfacción de un vistazo.
Entrada omnicanal (Joomla)
- De correo a ticket — convierte el correo entrante en tickets mediante recuperación IMAP, una carpeta de spool o un webhook de correo entrante.
- Buzones OAuth2 — conecta buzones tipo Gmail/Microsoft con XOAUTH2 (o IMAP clásico con contraseña).
- Encadenado y deduplicación de correo — las respuestas se adjuntan al ticket correcto y los duplicados se ignoran.
- WhatsApp bidireccional — recibe y envía mensajes de WhatsApp a través de la Meta Graph API, con verificación del webhook.
- Telegram bidireccional — recibe y envía mensajes del bot de Telegram, con verificación del token secreto.
- Entrada de voz / ASR — incorpora transcripciones de llamadas de voz como tickets mediante un webhook de voz.
- Siete canales rastreados — web, backend, correo, WhatsApp, Telegram, voz y API, cada uno con deduplicación por evento.
Multi-tenant / SaaS y facturación (Joomla)
- Modo multi-tenant opcional — aísla los datos por tenant en todas las tablas operativas.
- Registro de tenants SaaS — planes, tenants, suscripciones y metadatos de credenciales de proveedor (nunca los valores secretos).
- Webhook de facturación de Stripe — con firma verificada y un modo de escritura opcional para aplicar el estado de la suscripción.
- Stripe Customer Portal — genera una sesión de autogestión de facturación para los tenants.
- Cambio de plan a ticket — los cambios de suscripción pueden aparecer como tickets para su seguimiento.
- Informe de ventas de afiliados — captura una cookie de referido
?ref=y acredita al afiliado que trajo una venta pagada, en total aislamiento de la respuesta de facturación. - Vista de cuenta del tenant — una superficie de cuenta en el frontend para tenant/facturación.
- Tiempos de espera de facturación y URLs de retorno configurables — ajusta la integración del portal a tu configuración.
Desarrolladores, API e integraciones
- API REST de tickets (JSON:API) — CRUD completo de tickets sobre los Web Services de Joomla (
/api/v1/aitickets/tickets). - Rutas REST personalizadas — añade un mensaje al hilo, genera un borrador de IA o reindexa la KB mediante endpoints dedicados.
- Lista filtrada y paginada — el endpoint de lista respeta los filtros de estado, prioridad, categoría, asignado, estado del SLA y búsqueda, con metadatos de paginación correctos.
- Autenticado con token y protegido por ACL — el acceso a la API usa los tokens de API de Joomla y los permisos propios del componente.
- Eventos de plugin para la extensión —
onAITicketAfterCreate / AfterReply / StatusChange / SlaBreach / AiSuggestionCreated(WordPress expone action hooks equivalentes) para CRM, notificaciones o complementos omnicanal. - Webhooks entrantes — endpoints de correo, WhatsApp, Telegram, voz y facturación, cada uno protegido por token o firma.
- Plugin de tareas para el planificador — tres rutinas headless (procesar la cola de IA, monitor de SLA, limpieza de retención) se ejecutan bajo las Tareas Programadas de Joomla.
- Base REST para WordPress — creación de tickets por usuario con sesión iniciada más listado de tickets para editor/administrador.
Seguridad, privacidad y RGPD
- ACL granular — permisos por capacidad (responder, asignar, cerrar, gestionar KB, gestionar SLA, configurar IA, exportar, ver auditoría, gestionar tenant).
- CSRF en cada mutación — cada acción que cambia el estado se verifica con token.
- SQL reforzado — consultas parametrizadas en todo momento; sin superglobales de PHP, sin SQL concatenado por cadenas.
- Ocultación de PII en los registros — correos, IBAN, números de teléfono y secuencias largas de dígitos se enmascaran en los registros de auditoría/error.
- Difuminado de IP — las IP almacenadas pierden su último octeto por privacidad.
- Registro de auditoría solo de adición — un registro resistente a manipulaciones de quién hizo qué, que nunca bloquea la acción del usuario.
- Retención configurable — purga automática de los tickets cerrados tras N días, eliminando también los archivos físicos de los adjuntos.
- Exportación de acceso del interesado — exporta los datos de una persona en JSON desde la página de Privacidad (DSR).
- Anonimización por correo — borra los datos identificativos manteniendo el historial operativo.
- Integración nativa de privacidad — puente con el plugin de privacidad de Joomla; exportador y borrador de WordPress Herramientas → Exportar/Borrar datos personales (incluida la exportación solo de metadatos de adjuntos).
- Consentimiento de IA opcional — exige una casilla de consentimiento en el formulario antes de que se ejecute cualquier procesamiento de IA.
- Adjuntos seguros — lista de extensiones permitidas, límite de tamaño, sniff MIME real (fail-closed), nombres almacenados aleatorizados, archivos de denegación, y descargas servidas solo al propietario / titular del token de invitado / agente, siempre forzadas como descarga (sin XSS en línea).
- Hook de escaneo antivirus opcional — ejecuta un comando AV sobre las subidas antes de aceptarlas.
- Humano en el bucle por contrato — nada se envía automáticamente salvo que lo configures; los borradores manuales siempre pasan por revisión.
Internacionalización y compatibilidad
- Incluye EN / IT / ES — inglés, italiano y español listos para usar.
- Compatible con multilingüe — respeta la configuración multilingüe del sitio.
- Joomla 5.x y 6.x — paquete nativo para ambas líneas principales.
- PHP 8.1+ — se recomienda 8.3+ (vía obligatoria para Joomla 6).
- MySQL 8 / MariaDB 10.6+ — bases de datos principales soportadas.
- Portable a PostgreSQL — vía de instalación completa en PostgreSQL (con pgvector opcional), sin claves foráneas rígidas por diseño.
Confianza y licencia
- GNU GPLv2 o posterior — licencia de código abierto.
- Autoalojado — los tickets y los datos de los clientes permanecen en tu propio sitio.
- No requiere ningún servicio externo — el helpdesk clásico no realiza ninguna llamada de IA saliente hasta que añades un proveedor y tu propia clave.
- Actualizaciones con un clic bajo licencia — comprobaciones de actualización automáticas (~cada 24 h) desde el gateway de GMC / FuerteventuraTV mientras tu licencia esté activa.
- Download Key por correo — introduce tu clave en la pantalla de GMC Licenses para desbloquear las actualizaciones.
- Licencia de un sitio, niveles Solo/Agency — instala el único paquete pkg_*.zip (nunca los zips internos); solo la versión del paquete activa las actualizaciones bajo licencia.
Joomla y WordPress
- Joomla — el buque insignia, suite completa — motor de SLA, respuesta automática fundamentada en RAG + escalado, entrada omnicanal (correo/WhatsApp/Telegram/voz), facturación multi-tenant/SaaS, API REST y tareas del planificador, entregado como un único paquete de cuatro extensiones (componente + tarea, plugins de web-services y privacidad).
- WordPress — la edición inicial "essential" — entrada de tickets protegida contra spam, lista de tickets por cliente, vista/respuesta por ticket (con reapertura de ticket cerrado), acceso con token de invitado, adjuntos seguros, un custom post type de Knowledge Base con búsqueda, triaje de administración, exportación/borrado RGPD, una base REST y actualizaciones autoalojadas. La respuesta automática con IA, la automatización de SLA, RAG y la entrada multicanal están en la hoja de ruta de WordPress, aún no publicadas. Shortcodes: [aiticketing_submit], [aiticketing_my_tickets], [aiticketing_ticket], [aiticketing_kb].


