Skip to content

Instantly share code, notes, and snippets.

@jmertic
Created September 10, 2013 11:18
Show Gist options
  • Save jmertic/6508009 to your computer and use it in GitHub Desktop.
Save jmertic/6508009 to your computer and use it in GitHub Desktop.
Get related records via REST v10
<?php
// specify the REST web service to interact with
$url = 'http://sugarinstance/rest/v10';
// And admin username/password
$admin_username = '<<admin username>>';
$admin_password = '<<admin password>>';
// And account id you want to get the related docs for
$account_id = '<<account id>>'
/**
* Authenicate and get back token
*/
$curl = curl_init($url . "/oauth2/token");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Set the POST arguments to pass to the Sugar server
$rawPOSTdata = array(
"grant_type" => "password",
"username" => $admin_username,
"password" => $admin_password,
"client_id" => "sugar",
"client_secret" => "",
"platform" => "base",
);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($rawPOSTdata));
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// Make the REST call, returning the result
$response = curl_exec($curl);
if (!$response) {
die("Connection Failure.\n");
}
// Convert the result from JSON format to a PHP array
$result = json_decode($response);
curl_close($curl);
$token = $result->access_token;
/**
* Subsequent call to related Documents to the give Account record
*/
// Open a curl session for making the call
$curl = curl_init($url . "/Accounts/{$account_id}/link/documents");
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json',"OAuth-Token: $token"));
// Make the REST call, returning the result
$response = curl_exec($curl);
if (!$response) {
die("Connection Failure.\n");
}
// Convert the result from JSON format to a PHP array
$results = json_decode($response);
curl_close($curl);
var_dump($results)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment