Sistema de Mensajería con Moodle
Mensajería Bidireccional — Guía Completa MoodleManagement v1.1 incorpora un sistema de mensajería completo que permite comunicarse con los usuarios de Moodle directamente desde FacturaScripts, sin necesidad de acceder a la plataforma LMS.
Conceptos clave Toda la mensajería funciona a través del usuario de servicio WS (el mismo que se usa para la API). Esto significa que:
- Los mensajes se envían "como" el usuario WS (actúa como cuenta de soporte)
- Solo se pueden leer conversaciones donde participa ese usuario WS
- El alumno recibe los mensajes en su bandeja de mensajería de Moodle y puede responder normalmente
- Las respuestas del alumno se ven automáticamente en FacturaScripts
Requisitos previos Antes de usar la mensajería, verifique lo siguiente en Moodle:
- Mensajería habilitada: Administración del sitio > General > Funciones avanzadas > Habilitar mensajería (messaging) debe estar marcado.
- Funciones WS registradas: Las siguientes 7 funciones deben estar agregadas al servicio web FacturaScripts Integration en Moodle:
- core_message_send_instant_messages
- core_message_get_conversation_between_users
- core_message_get_conversation_messages
- core_message_send_messages_to_conversation
- core_message_get_conversations
- core_message_get_unread_conversations_count
- core_message_mark_all_conversation_messages_as_read
- Permisos del usuario WS: El usuario de servicio necesita dos capabilities:
- moodle/site:sendmessage — para enviar mensajes
- moodle/site:readallmessages — para leer conversaciones (incluido en el rol Manager por defecto)
- Service User ID configurado: Acceda a Gestión Moodle > Instancias Moodle, abra su instancia y haga clic en "Probar Conexión". Esto obtiene y almacena automáticamente el ID del usuario de servicio, necesario para identificar al remitente en el chat. Verifique que el campo "Service User ID" muestra un valor numérico.
Chat individual con un usuario El chat individual permite mantener una conversación privada con un usuario Moodle, con interfaz estilo WhatsApp. Para acceder al chat:
- Vaya a Gestión Moodle > Usuarios Moodle
- Abra la ficha de un usuario mapeado
- Haga clic en la pestaña "Chat"
La interfaz muestra:
- Burbujas verdes para los mensajes que usted envía (desde FacturaScripts)
- Burbujas blancas para los mensajes del alumno, con el nombre del contacto de FS (no el ID numérico de Moodle)
- Marcas de tiempo relativas en cada mensaje
- El chat se desplaza automáticamente al último mensaje Para enviar un mensaje, escriba en el campo de texto inferior y presione Enter o haga clic en el botón de enviar. Auto-refresco: el chat consulta automáticamente la API de Moodle cada 5 segundos para mostrar nuevos mensajes sin necesidad de recargar la página. Este polling se pausa automáticamente cuando la pestaña del navegador no está visible, para no consumir recursos innecesariamente. Si no existe conversación previa con el usuario, el chat aparece vacío y listo para el primer mensaje. La conversación se crea automáticamente en Moodle en el momento del envío.
Mensaje rápido (modal) Si solo necesita enviar un mensaje puntual sin navegar al chat:
- Desde la pestaña principal de la ficha del usuario mapeado
- Haga clic en el botón "Enviar Mensaje"
- Se abre un modal con un campo de texto
- Escriba el mensaje y confirme
- El mensaje se envía inmediatamente vía la API
Mensajería masiva por curso Para comunicar algo a todos los alumnos de un curso (aviso, cambio de horario, recordatorio):
- Vaya a Gestión Moodle > Cursos Moodle
- Abra la ficha del curso
- Haga clic en la pestaña "Mensajería"
- Seleccione los destinatarios:
- Todos los matriculados: envía a todos los alumnos activos del curso
- Usuarios seleccionados: permite elegir destinatarios específicos de la lista de matriculados
- Escriba el mensaje en el campo de texto
- Haga clic en "Enviar Mensaje" El sistema envía el mensaje individualmente a cada destinatario a través de la API de Moodle. Cada alumno lo recibe como un mensaje personal en su bandeja.
Hub de Conversaciones El Hub de Conversaciones es una página central que muestra todas las conversaciones abiertas de todas las instancias Moodle configuradas. Es el lugar donde gestionar la comunicación de forma global.
Para acceder:
- Haga clic en el icono de chat (bocadillo) en la barra de navegación superior, o
- Acceda desde el menú Gestión Moodle > Conversaciones
La lista de conversaciones muestra para cada una:
- Semáforo visual: rojo si hay mensajes sin leer, verde si todo está leído
- Badge con el número exacto de mensajes no leídos
- Nombre del contacto de FacturaScripts (no el nombre de Moodle)
- Vista previa del último mensaje
- Marca de tiempo del último mensaje
- Instancia Moodle de origen (útil si tiene varias) Ordenación: las conversaciones con mensajes sin leer aparecen siempre primero, seguidas del resto ordenadas por fecha del último mensaje (más recientes arriba).
Filtros disponibles:
- Todos: muestra todas las conversaciones
- Solo No Leídos: muestra únicamente las que tienen mensajes pendientes
- Solo Leídos: muestra las que están al día Auto-refresco: la lista se actualiza automáticamente cada 10 segundos. Para responder a una conversación, haga clic en ella y accederá directamente al chat del usuario. Al abrir el chat, los mensajes se marcan automáticamente como leídos.
Iniciar una nueva conversación:
- Haga clic en "Nueva Conversación"
- Se abre un buscador con los usuarios mapeados que no tienen conversación abierta
- Seleccione el usuario
- Se abre el chat listo para enviar el primer mensaje
Icono de chat en la barra de navegación Tras instalar la v1.1, aparece un icono de chat (bocadillo) junto a los iconos del menú superior de FacturaScripts. Este icono:
- Muestra un badge rojo con el número total de mensajes no leídos en todas las instancias
- Se actualiza automáticamente cada 30 segundos
- El badge desaparece cuando no hay mensajes pendientes
- Al hacer clic, lleva directamente al Hub de Conversaciones
Limitaciones
- El remitente es siempre el usuario de servicio WS. No se puede enviar como otro usuario.
- Solo se leen conversaciones donde participa el usuario WS. No se accede a conversaciones entre terceros.
- Los archivos adjuntos enviados desde Moodle no se visualizan en el chat de FS (solo texto).
- El polling del chat (5 seg) y del hub (10 seg) implican llamadas periódicas a la API de Moodle. En instalaciones con muchos usuarios activos, considere el impacto en el rendimiento del servidor Moodle.
- El badge de la navbar se actualiza cada 30 segundos, por lo que puede haber un desfase de hasta medio minuto entre la recepción de un mensaje y la aparición del indicador.