Ejemplo probar CURL usando get en moodle con Ddev

Descripción

Este es un ejemplo práctico de cómo probar una llamada REST con Moodle, usando CURL, en un entorno Local utilizando Ddev.

Instrucciones

Requisitos Previos

  1. Tener DDEV instalado

  2. Un sitio Moodle instalado en DDEV

  3. Acceso como administrador en Moodle

  4. Conocimiento del servicio web que deseas probar (nombre del servicio, funciones, parámetros, etc.)

Paso 1: Crear un Servicio Web en Moodle

  1. Ingresa a tu sitio Moodle como administrador

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

  1. Ve a:

     
    Administración del sitio > Extensiones > Servicios web > Gestionar tokens
  2. 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

  1. Entra al contenedor web:

 
ddev ssh
  1. Usa curl para llamar a la función (por ejemplo, core_user_get_users):

Código

curl -X POST "https://scsmoodle.ddev.site/webservice/rest/server.php" \
--data "wstoken=7241eb6311891ccacce9b04e94654500" \
--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://scsmoodle.ddev.site/webservice/rest/server.php" \
--data "wstoken=7241eb6311891ccacce9b04e94654500" \
--data "core_course_get_categories" \
--data "moodlewsrestformat=json" \
--data-urlencode 'criteria[0][key]=email' \
--data-urlencode 'criteria[0][value]= apiuser@ejemplo.com'

Más Snippets