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 4 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 a course's title
<?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