...
Using the EthosCE Web Services feature, users have the ability to update enrollment group
...
course lists via a PUT update call.
Info |
---|
Warning!The update to the field list sent in field_enrollment_group_courses, is a complete overwrite of the values. |
Creating a course
...
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 sent 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 payload below will update the the enrollment group course list for adding courses nids 4, 5, and 6.
Updating courses in an enrollment group
Code Block | ||||||
---|---|---|---|---|---|---|
| <?php
$domain = '76.localhost';
$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);
| |||||
{
"field_enrollment_group_courses": [
{
"id": 4
},
{
"id": 5
},
{
"id": 6
}
]
} |