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.com
Si 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.