SugarCRM SupportDocumentationSugar DeveloperSugar Developer Guide 6.5Application FrameworkHelper ClassesSugarHttpClient

SugarHttpClient


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;
    
?>

Last modified: 01/08/2017 05:40pm