Consultar status de conclusão do aluno em um curso do Moodle via webservice com PHP

Consultar status de conclusão do aluno em um curso do Moodle via webservice com PHP

por Lino Vaz Moniz -
Número de respostas: 0

Este post mostra código PHP para efetuar consulta do status de conclusão de  um aluno em um curso   do Moodle. Isso será feito  via  webservice com linguagem PHP. Trata-se de conclusão configurado no Moodle via rastreamento de conclusão. Isso é fito no moodle no seguinte endereço MOODLE_URL/course/completion.php?id=COURSEID em que se define os critérios de conclusão do curso. 

Para usar este código, instale no Moodle o plugin restjonson, protocolo de comunicação json para webservice. 

O resultado do webservice traz informação de conclusão do curso na coluna completed. Essa coluna traz valor false ou true.

//url de acesso
  $remotemoodle="xxxxxxxxxx"; //MOODLE_URL - endereço do Moodle
  $url=$remotemoodle . '/webservice/restjson/server.php';

  //parametros a ser passado ao webservice
  $param=array();
  $param['wstoken']="xxxxxx"; //token de acesso ao webservice
  $param['wsfunction']="core_completion_get_course_completion_status";
  
  //especificar usuário 
  $param['userid']=4; //especifique do usuário. Clique aqui e veja como recuperar id  do usuário. 
  $param['courseid']=67; //especifique id do curso
  
	//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);
  
  //imprimindo resultado
  print_r($result);