Este post mostra código PHP para inscrever aluno no curso da Plataforma Moodle.
Para usar este código, instale no Moodle o plugin restjonson, protocolo de comunicação json para webservice.
Segue código do cliente PHP para efetuar matrícula de alunos no curso.
//url de acesso $remotemoodle="xxxxxx"; //endereço do Moodle MOODLE_URL $url=$remotemoodle . '/webservice/restjson/server.php'; //parametros a ser passado ao webservice $param=array(); $param['wstoken']="xxxxxxx"; //token do webservice $param['wsfunction']="enrol_manual_enrol_users"; //Usuário 1 a ser cadastrado $param['enrolments'][0]['roleid']=5; //id do perfil por padrão 5 é para perfil aluno $param['enrolments'][0]['userid']=10; //id do usuário. Clique aqui e veja como recuperar id do usuário. $param['enrolments'][0]['courseid']=66; // id do curso $param['enrolments'][0]['timestart']=1579631944; //data de início de inscrição em formato numérico $param['enrolments'][0]['timeend']=1584815944; $param['enrolments'][0]['suspend']=0; //Usuário 2 a ser cadastrado $param['enrolments'][1]['roleid']=5; $param['enrolments'][1]['userid']=11; $param['enrolments'][1]['courseid']=66; $param['enrolments'][1]['timestart']=1579631944; $param['enrolments'][1]['timeend']=1584815944; $param['enrolments'][1]['suspend']=0; //converter array para json $paramjson = json_encode($param) ; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $paramjson); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); // $result =json_decode($result);