
Cómo habilitar y gestionar Webservices paso a paso para administradores de Moodle
Moodle es una herramienta muy popular para la educación en línea, pero puede ser difícil concentrar la información de cursos, estudiantes, resultados y más para obtener indicadores de resultados que te ayuden a medir el éxito de tus programas educativos.
En Moodle, los Webservices permiten que otras aplicaciones externas (como apps móviles, integraciones corporativas o sistemas de terceros) se comuniquen de forma segura con tu plataforma. Si eres administrador, habilitarlos correctamente es clave para ampliar las funcionalidades de tu entorno de e-learning.
En este artículo te mostramos cómo hacerlo paso a paso.
1. Activar Webservices en Moodle
Ingresa con tu cuenta de administrador.
Ve a Administración del sitio > Funciones avanzadas.
Marca la opción Habilitar servicios web.
Guarda los cambios.
2. Configurar protocolos de comunicación
Los protocolos definen cómo se conecta Moodle con sistemas externos. Los más usados son:
REST: ligero y fácil de implementar.
SOAP: más formal y estructurado.
XML-RPC: menos común, pero aún disponible.
Ruta: Administración del sitio > Plugins > Servicios web > Gestionar protocolos.
Habilita el protocolo que necesites según tu integración.
3. Crear un rol y asignar permisos
Para mayor seguridad es recomendable crear un rol específico para el usuario que accederá a los Webservices.
En Administración del sitio > Usuarios > Permisos > Definir roles crea un nuevo rol.
Asigna las capacidades relacionadas con webservice/rest:use (o el protocolo elegido).
Limita este rol solo a las funciones necesarias.
4. Crear un usuario para Webservices
Ve a Administración del sitio > Usuarios > Cuentas > Añadir un nuevo usuario.
Asigna el rol que creaste en el paso anterior.
Este usuario será el que use la aplicación externa para conectarse.
5. Definir un servicio web
Entra a Administración del sitio > Plugins > Servicios web > Servicios externos.
Crea un nuevo servicio y dale un nombre descriptivo (ejemplo: Integración con CRM).
Añade las funciones (APIs) que podrán usarse, por ejemplo:
core_user_get_users
core_course_get_courses
enrol_manual_enrol_users
6. Generar un token de acceso
Ve a Administración del sitio > Seguridad > Claves de seguridad o Tokens de servicios web.
Crea un token para el usuario de Webservices y asígnalo al servicio creado.
Copia ese token: será la credencial que tu sistema externo usará para conectarse a Moodle.
7. Probar la conexión
Usa herramientas como Postman o curl desde la terminal.
Ejemplo en REST:
https://tusitio.com/moodle/webservice/rest/server.php?wstoken=TOKEN&wsfunction=core_user_get_users&moodlewsrestformat=json&criteria[0][key]=email&criteria[0][value]=usuario@correo.comSi todo está bien configurado, obtendrás la información del usuario en formato JSON.
Recomendaciones de seguridad
Nunca uses un usuario administrador para Webservices.
Crea usuarios y roles dedicados con permisos mínimos.
Usa HTTPS siempre.
Revoca tokens que ya no se usen.
Para terminar…
Los Webservices de Moodle son la puerta para integrar tu plataforma con cualquier sistema externo, automatizando procesos y ampliando su alcance. Siguiendo este paso a paso, tendrás control total sobre qué funciones exponer y a qué usuarios dar acceso, garantizando seguridad y flexibilidad.
En vis-hosting te ayudamos a configurar, asegurar y optimizar tus integraciones con Moodle. Si necesitas soporte avanzado, ¡contáctanos y llevamos tu plataforma al siguiente nivel.