Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Using the EthosCE Web Services feature, users have the ability to update enrollment group course lists via a PUT update call.
 

Warning!

The list sent in field_enrollment_group_courses, is a complete update of values, it is not additive. For instance, given an enrollment group with 6 courses associated, node ids 101 - 106, if an update is made containing only 3 values, node ids 201 - 203, only the 3 newly send courses will appear under Activities. The original 6 courses will no longer be associated with the Enrollment group, however, they will remain in the system, with all associated learner data.


The PHP/Curl script below will update the the enrollment  group course list of node id 27 to the course list of nodes 15, 16, and 17.

Updating courses in an enrollment group
<?php
$domain = 'your-domain.com';
$userpass = 'restws_webservice:restws_webservice';
// Login to the site and request the access token

$curl = curl_init('http://' . $domain . '/restws/session/token');
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, $userpass); // Your web service user credentials goes here.
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$token = curl_exec($curl);
// The token looks like "q71OBx05wtECfjA0KmXf6wiktewrywNhkMZv-OcfyOA%"
print_r($token);
// Build a course to send, in JSON. The fields and allowed values are available on the full documentation site.
$course_list = array(
  "field_enrollment_group_courses" => array(
    array('id' => 15),
    array('id' => 16),
    array('id' => 17),
  ),
);
$enrollment_group_nid = 3112;
$json = json_encode($course_list);
$curl = curl_init('http://' . $domain . '/node/' . $enrollment_group_nid);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, $userpass); //Your credentials go here
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-CSRF-Token: $token", "Content-Type: application/json"));
$http_return = curl_exec($curl);
$response = json_decode($http_return);
print_r($response);

  • No labels