...
Code Block | ||||
---|---|---|---|---|
| ||||
<?php // Login to the site and request the access token $curl = curl_init('http://your-domain.com/restws/session/token'); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "restws_webservice:webservice_password"); // Your web service user credentials go here. curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $token = curl_exec($curl); // The token looks like "q71OBx05wtECfjA0KmXf6wiktewrywNhkMZv-OcfyOA%" // Verify if the user is enrolled in the course $curl = curl_init("http://your-domain.com/course_enrollment.json?uid=200&nid=300"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-CSRF-Token: $token", "Content-Type: application/json")); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "restws_webservice:webservice_password"); //Your credentials go here curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $json = curl_exec($curl); $response = json_decode($json); $list = $response->list; // See note below if(empty($list)){ $data = array( 'nid' => 300, 'uid' => 200, 'enrollmenttype' => 'webservice_call', // enrollmenttype and type should be updated per client system. They are the unique identifiers of the external system sending the call. 'type' => 'webservice_call', // Formatted in lower case alphanumeric and underscore characters. The two values are not required to be identical. 'status' => 1, ); // Send the enrollment creation request $curl = curl_init("http://your-domain.com/course_enrollment"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-CSRF-Token: $token", "Content-Type: application/json")); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "restws_webservice:webservice_password"); //Your credentials go here curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); $response = curl_exec($curl); } |
...