Matricular usuarios VIA API

Matricular usuarios VIA API

de Ferran Herrero Soto -
Número de respuestas: 0

Buenas tardes,

estoy tratando de matricular usuarios vía WEB SERVICES (REST API) a moodle, pero por algún motivo me devuelve siempre "Detectado valor de parámetro no válido".

He probado todos los parámetros con diferentes valores y en diferentes formatos y siempre responde igual.

Estoy utilizando Moodle 3.11 y Curl en PHP para enviar los datos del usuario:

$token = Configuration::get('TOKEN_MOODLE');

    $domain_name = Configuration::get('URL_MOODLE');

    header('Content-Type: text/plain; charset=utf-8');

    $enrolment = new stdClass();

    $enrolment->roleid = 5;

    $enrolment->userid = 212;

    $enrolment->courseid = 18;

    $enrolments = array($enrolment);

    $params = array('enrolments' => $enrolments);

    $restformat = 'json';

    $restformat = ($restformat == 'json')?'&moodlewsrestformat=' . $restformat: '';

    $server_url = $domain_name . '/webservice/rest/server.php?wstoken=' . $token . '&wsfunction=enrol_manual_enrol_users';

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $server_url . $restformat);

    curl_setopt($curl, CURLOPT_POST, true);

    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);


    $resp = curl_exec($curl);

    $resp = (array) json_decode($resp);

    curl_close($curl);

    print_r($resp);


No entiendo que es lo que estoy haciendo mal para que no me acepte los parámetros.

Gracias por la ayuda de antemano.


Saludos,

Promedio de valoraciones: -