Overview
The SugarHttpClient class is used to make REST calls.
The SugarHttpClient Class
The SugarHttpClient class is located in ‘include/SugarHttpClient.php’. It contains a callRest() method that will allow you to post a request to a REST service via cURL without having to worry about the overhead or the restrictions on the file_get_contents() method when doing outbound webservice calls.
Making a Request
<?php // specify the REST web service to interact with $url = 'http://{sugar_url}/service/v4_1/rest.php'; // Open a SugarHttpClient session for making the call require_once('include/SugarHttpClient.php'); $client = new SugarHttpClient; // Set the POST arguments to pass to the Sugar server $parameters = array( 'user_auth' => array( 'user_name' => 'username', 'password' => md5('password'), ), ); $json = json_encode($parameters); $postArgs = array( 'method' => 'login', 'input_type' => 'JSON', 'response_type' => 'JSON', 'rest_data' => $json, ); $postArgs = http_build_query($postArgs); // Make the REST call, returning the result $response = $client->callRest($url, $postArgs); if ( $response === false ) { die("Request failed.\n"); } // Convert the result from JSON format to a PHP array $result = json_decode($response); if ( !is_object($result) ) { die("Error handling result.\n"); } if ( !isset($result->id) ) { die("Error: {$result->name} - {$result->description}\n."); } // Get the session id $sessionId = $result->id; ?>