Consultar curso no Moodle via webservice com PHP

Consultar curso no Moodle via webservice com PHP

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

Este post mostra como recuperar informações cadastrais de um curso, efetuando busca pelo campo idnumber. Pode também usar outros campos para filtro como shortname, id etc. 

No processo de integração do sistema, você pode recuperar id e outras informações de curso no Moodle, pelo campos shortname, idnumber e outros campos. Ou seja, usando um campo de sincronização entre sistema externo e 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 recuperar informações de usuário pelo campo idnumber.  

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

  //parametros a ser passado ao webservice
  $param=array();
  $param['wstoken']="xxxxxxxx"; //token de acesso ao webservice
  $param['wsfunction']="core_course_get_courses_by_field";
  
  //filtro do curso
$param['field' = 'idnumber'; //auqui pode especificar volar do nome do curso para filtro como id, shortname etc
$param['value'] = 'xxxxx'; // aqui coloque o valor do compo definido. Se o campo for idnumber coloque aqui valor do idnumber

//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);