Cuando trabajamos en cualquier proyecto, necesitamos de un entorno estable, en el que podamos realizar todo tipo de pruebas; por esta razón, al principio del curso aprendimos cómo instalar un proyecto Moodle en nuestro entorno local, utilizando Ddev, que es una solución basada en contenedores Docker.

A pesar de que una instalación local, nos permite explorar el comportamiento interno de la plataforma, su estructura de archivos y el código fuente, es posible que en lugar de esto, sólo nos interese realizar pruebas de conexión e interacción desde otra plataforma como Drupal, Wordpress o cualquier solución de frontend como Angular o Vuejs, conectada mediante servicios web a Moodle.

Cuando realizamos pruebas de conexión con Moodle localmente, es posible que nos encontremos varios problemas relacionados con los certificados autofirmados, bloqueos de IP o de firewall, entre otros.
En estos casos, la mejor alternativa sería acceder a una instancia de moodle publicada en un servidor estable y que fuera accesible desde el navegador.
Con este propósito en mente, visitaremos la página oficial de Moodle y buscaremos en el menú el apartado con el nombre DEMO, donde encontraremos el acceso a Moodle Sandbox.

Si hacemos clic sobre el enlace, nos llevará a su página principal, con los datos de los principales roles y usuarios útiles en la mayoría de nuestras pruebas.

Uno de los requerimientos necesarios en la conexión con Moodle a través de servicios web, es conocer un token de acceso.
Podremos recibir este valor desde nuestra consola, utilizando CURL, que nos permite interactuar sin interfaz gráfica; así que añadiremos los datos correspondientes con el usuario de la siguiente manera:
curl -d username=”NOMBRE-USUARIO" -d password="CLAVE" "https://sandbox.moodledemo.net/login/token.php?service=NOMBRE-SERVICIO"

Para conocer el nombre del servicio que añadiremos en nuestra llamada, iniciaremos sesión con el usuario administrador y nos moveremos a la pestaña Server.

Luego nos desplazamos a la parte inferior de la pantalla, donde encontraremos el apartado relacionado con los servicios web, entonces daremos clic en el enlace External services, que nos permitirá comprobar los servicios disponibles.

Para nuestra prueba, nos hará falta saber el nombre corto del servicio, así que en el listado, daremos clic en EDITAR, ubicado junto al nombre del servicio que estamos consultando.


En cuanto conocemos el nombre del servicio, podremos abrir nuestra consola y ejecutaremos la siguiente llamada que nos devolverá el token correspondiente al usuario.

Una vez obtenido el Token de conexión para el usuario de Moodle, el siguiente paso será ejecutar cualquier llamada que nos devolverá los datos correspondientes.
Moodle utiliza funciones preconfiguradas para consultar estos datos e interactuar con su API, encontraremos este listado haciendo clic en en enlace de la pantalla External services que visitamos hace un momento.


Para realizar estas consultas desde nuestra consola, necesitaremos aplicar algunos cambios en la estructura de la llamada, como te muestro a continuación:
curl "https://sandbox.moodledemo.net/webservice/rest/server.php" -d wstoken="TU-TOKEN" -d wsfunction="core_course_get_categories" -d moodlewsrestformat="json"


Si prefieres utilizar una herramienta con interfaz gráfica, tienes Postman, que podrás descargar de forma gratuita e instalarla en tu ordenador local.
