Awarding credit via web services can be accomplished in courses that a user is already enrolled in, or those they are not enrolled in. In order for the credits to appear on the user's transcript, the user must be enrolled and complete.
<?php // Verify the user does not exist in EthosCE $curl = curl_init("http://your-domain.com/course_credit_awarded.json?uid=165&nid=393"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json")); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "restws_webservice:webservice_password"); //Your credentials goes here curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $json = curl_exec($curl); $response = json_decode($json); $list = $response->list; if (empty($list)) { // Send the creation request $course_credit_awarded = array( 'nid' => 393, // Course 'uid' => 165, // User 'type' => 'ama', // The internal machine name of the credit type to award 'credits' => 1, // Number of awarded credits ); $curl = curl_init("http://your-domain.com/course_credit_awarded"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json")); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "restws_webservice:webservice_password"); //Your credentials goes here curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($course_credit_awarded)); $json = curl_exec($curl); $response = json_decode($json); print_r($json); }
A successful awarded credit creation creation request returns the following:
{"uri":"http:\/\/your-domain.com\/course_credit_awarded\/214","id":"214","resource":"course_credit_awarded"}
For an explanation of the information returned from the requests, seeĀ Web Service Responses.