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,