<?php

/* 
 * A script to create and update an account
 */
include_once './GenericWebService.php';
$generic_webservice = new GenericWebService();
include_once '../../custom_config/custom_config.php';
$url = SUGAR_SITE_URL . "service/v4_1/rest.php";
$username = SUGAR_WEBSERVICE_USER;
$password = SUGAR_WEBSERVICE_PASSWORD;
$login_parameters = array("user_auth" => array("user_name" => $username, "password" => md5($password), "version" => "1"));
$login_result = $generic_webservice->call("login", $login_parameters, $url);
$session_id = $login_result->id;
$set_entry_parameters = array("session" => $session_id, "module_name" => "Accounts", "name_value_list" => array(array("name" => "name", "value" => "account_1125x")));
$set_entry_result = $generic_webservice->call("set_entry", $set_entry_parameters, $url);
$account_id = $set_entry_result->id;
$update_account_parameters = array("session" => $session_id, "module_name" => "Accounts", "name_value_list" => array(array("name" => "id", "value" => $account_id), array("name" => "name", "value" => "account_1125y")));
$update_account_result = $generic_webservice->call("set_entry", $update_account_parameters, $url);
echo "The updated organisation name is: " . $update_account_result->entry_list->name->value;
?>

<?php

/**
 * Script to retrieve a list of modules available to the logged in user.
 */
include_once 'GenericWebService.php';
$generic_webservice = new GenericWebService();
include_once '../../custom_config/custom_config.php';
$url = SUGAR_SITE_URL . "service/v4_1/rest.php";
$username = SUGAR_WEBSERVICE_USER;
$password = SUGAR_WEBSERVICE_PASSWORD;
//Log in
$login_parameters = array("user_auth" => array("user_name" => $username, "password" => md5($password), "version" => "1"));
$login_result = $generic_webservice->call("login", $login_parameters, $url);
$session_id = $login_result->id;
//Retrieve a list of modules available to the logged in user
$get_available_modules_parameters = array("session" => $session_id);
$get_available_modules_result = $generic_webservice->call("get_available_modules", $get_available_modules_parameters, $url);
echo "List of modules available: <br />";
echo "<pre>";
print_r($get_available_modules_result);
echo "</pre>";
//Pull a list of fields available for the module
$list_of_fields_parameters = array("session" => $session_id, "module_name" => "Contacts");
$list_of_fields_result = $generic_webservice->call("get_module_fields", $list_of_fields_parameters, $url);
echo "<br />List of Contacts fields: <br />";
echo "<pre>";
print_r($list_of_fields_result);
echo "</pre>";
<?php

/* 
 * A script to search a contact and update its address.
 */
include_once './GenericWebService.php';
$generic_webservice = new GenericWebService();
include_once '../../custom_config/custom_config.php';
$url = SUGAR_SITE_URL . "service/v4_1/rest.php";
$username = SUGAR_WEBSERVICE_USER;
$password = SUGAR_WEBSERVICE_PASSWORD;
$login_parameters = array("user_auth" => array("user_name" => $username, "password" => md5($password), "version" => "1"));
$login_result = $generic_webservice->call("login", $login_parameters, $url);
$session_id = $login_result->id;
$get_entry_list_parameters = array("session" => $session_id, "module_name" => "Contacts", "query" => "contacts.last_name = 'name2'");
$get_entry_result = $generic_webservice->call("get_entry_list", $get_entry_list_parameters, $url);
$contact_id = $get_entry_result->entry_list[0]->id;
//Edit the address
$set_entry_parameters = array("session" => $session_id, "module_name" => "Contacts", "name_value_list" => array(array("name" => "id", "value" => $contact_id), array("name" => "primary_address_street", "value" => "Street"), array("name" => "primary_address_city", "value" => "City"), array("name" => "primary_address_state", "value" => "State"), array("name" => "primary_address_postalcode", "value" => "0000"), array("name" => "primary_address_country", "value" => "Country")));
$set_entry_result = $generic_webservice->call("set_entry", $set_entry_parameters, $url);
echo "Contact address has been successfully updated.";
<?php

/* 
 * Script to link case and account records using rest api.
 */
include_once 'GenericWebService.php';
$generic_webservice = new GenericWebService();
include_once '../../custom_config/custom_config.php';
$url = SUGAR_SITE_URL . "service/v4_1/rest.php";
$username = SUGAR_WEBSERVICE_USER;
$password = SUGAR_WEBSERVICE_PASSWORD;
//Log in
$login_parameters = array("user_auth" => array("user_name" => $username, "password" => md5($password), "version" => "1"));
$login_result = $generic_webservice->call("login", $login_parameters, $url);
$session_id = $login_result->id;
//Create an Account
$set_entry_parameters = array("session" => $session_id, "module_name" => "Accounts", "name_value_list" => array(array("name" => "name", "value" => "Rest account")));
$set_entry_result = $generic_webservice->call("set_entry", $set_entry_parameters, $url);
echo "New account record created: " . $set_entry_result->id . "<br /><br />";
//Create a Case
$case_set_entry_parameters = array("session" => $session_id, "module_name" => "Cases", "name_value_list" => array(array("name" => "account_id", "value" => $set_entry_result->id), array("name" => "name", "value" => "case2")));
$case_set_entry_result = $generic_webservice->call("set_entry", $case_set_entry_parameters, $url);
echo "New case record created: " . $case_set_entry_result->id . "<br /><br />";
//Create a relationship between account and case
$set_relationship_parameters = array("session" => $session_id, "module_name" => "Accounts", "module_id" => $set_entry_result->id, "link_field_name" => "cases", "related_ids" => array($case_set_entry_result->id), "name_value_list" => array(), "delete" => 0);
$set_relationship_result = $generic_webservice->call("set_relationship", $set_relationship_parameters, $url);
echo "The result of relationship creation is: " . $set_relationship_result->created;