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

  1. Ingresa con tu cuenta de administrador.

  2. Ve a Administración del sitio > Funciones avanzadas.

  3. Marca la opción Habilitar servicios web.

  4. 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.

  1. En Administración del sitio > Usuarios > Permisos > Definir roles crea un nuevo rol.

  2. Asigna las capacidades relacionadas con webservice/rest:use (o el protocolo elegido).

  3. 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

  1. Entra a Administración del sitio > Plugins > Servicios web > Servicios externos.

  2. Crea un nuevo servicio y dale un nombre descriptivo (ejemplo: Integración con CRM).

  3. 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

  1. Ve a Administración del sitio > Seguridad > Claves de seguridad o Tokens de servicios web.

  2. Crea un token para el usuario de Webservices y asígnalo al servicio creado.

  3. 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.

× En qué podemos ayudar?