Este es un ejemplo práctico de cómo probar una llamada REST con Moodle, usando CURL, en un entorno Local utilizando Ddev.
Requisitos Previos
- Tener DDEV instalado 
- Un sitio Moodle instalado en DDEV 
- Acceso como administrador en Moodle 
- Conocimiento del servicio web que deseas probar (nombre del servicio, funciones, parámetros, etc.) 
Paso 1: Crear un Servicio Web en Moodle
- Ingresa a tu sitio Moodle como administrador 
- Ve a: 
 Administración del sitio > Extensiones > Servicios web > Gestionar servicios
- Crea un nuevo servicio web (si no tienes uno): - Clic en "Agregar" 
- Nómbralo y márcalo como "Habilitado" 
 
- Añade funciones al servicio: - Ejemplo: - core_user_get_users
 
Paso 2: Crear un Token para Acceder
- Ve a: 
- Crea un token: - Usuario: uno con permisos suficientes 
- Servicio: el que creaste antes 
- Guarda el token, lo usarás para hacer las peticiones 
 
Paso 3: Probar el Webservice desde DDEV
Opción A: Usar CURL desde el contenedor
- Entra al contenedor web: 
- Usa - curlpara llamar a la función (por ejemplo,- core_user_get_users):
curl -X POST "https://moodle.ddev.site/webservice/rest/server.php" \
--data "wstoken=MITOKEN" \
--data "wsfunction=core_user_get_users" \
--data "moodlewsrestformat=json" \
--data-urlencode 'criteria[0][key]=email' \
--data-urlencode 'criteria[0][value]= apiuser@ejemplo.com'
curl "https://moodle.ddev.site/webservice/rest/server.php" \
--data "wstoken=MITOKEN" \
--data "core_course_get_categories" \
--data "moodlewsrestformat=json" \
--data-urlencode 'criteria[0][key]=email' \
--data-urlencode 'criteria[0][value]= apiuser@ejemplo.com'