public function get_launch_url(VO\LicenseIDArray $license_id_array, VO\MemberID $member_id, VO\StringVO $callback_url)
 {
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/purchase/launch_url/get'), new VO\HTTP\Method('POST'));
     $request_parameters = array('license_ids' => $license_id_array->__toArray(), 'member_id' => $member_id->__toString(), 'callback_url' => $callback_url->__toString());
     $response = $request->send($request_parameters);
     $data = $response->get_data();
     return $data->launch_url;
 }
 public function create_enrolments(VO\MemberID $member_id, VO\LicenseIDArray $license_id_array, VO\Flag $send_email = null)
 {
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/enrolment/create'), new VO\HTTP\Method('POST'));
     $license_ids = $license_id_array->__toArray();
     $enrolment_ids = array();
     foreach ($license_ids as $license_id) {
         $request_parameters = array('member_id' => $member_id->__toString(), 'license_id' => $license_id);
         if ($send_email) {
             $request_parameters['send_email'] = $send_email->__toBool();
         }
         $response = $request->send($request_parameters);
         $data = $response->get_data();
         $enrolment_ids[] = $data->enrolment_id;
     }
     return $enrolment_ids;
 }