Demonstrates how to authenticate to the SugarCRM REST v10 API. This is how an OAuth2 access token is obtained.
Note: This example uses our own demo SugarCRM domain containing demo data. You should replace "cscspanset.demo.sugarcrm.eu" with your own domain.
var os = require('os');
if (os.platform() == 'win32') {
var chilkat = require('chilkat_node6_win32');
} else if (os.platform() == 'linux') {
if (os.arch() == 'arm') {
var chilkat = require('chilkat_node6_arm');
} else if (os.arch() == 'x86') {
var chilkat = require('chilkat_node6_linux32');
} else {
var chilkat = require('chilkat_node6_linux64');
}
} else if (os.platform() == 'darwin') {
var chilkat = require('chilkat_node6_macosx');
}
function chilkatExample() {
var rest = new chilkat.Rest();
var success;
success = rest.Connect("cscspanset.demo.sugarcrm.eu",443,true,true);
if (success !== true) {
console.log(rest.LastErrorText);
return;
}
rest.AddHeader("Cache-Control","no-cache");
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
var jsonReq = new chilkat.JsonObject();
jsonReq.UpdateString("grant_type","password");
jsonReq.UpdateString("client_id","sugar");
jsonReq.UpdateString("client_secret","");
jsonReq.UpdateString("username","SUGARCRM_LOGIN");
jsonReq.UpdateString("password","SUGARCRM_PASSWORD");
jsonReq.UpdateString("platform","custom_api");
var sbReq = new chilkat.StringBuilder();
jsonReq.EmitSb(sbReq);
rest.AddHeader("Content-Type","application/json");
var sbJson = new chilkat.StringBuilder();
success = rest.FullRequestSb("POST","/rest/v10/oauth2/token",sbReq,sbJson);
if (success !== true) {
console.log(rest.LastErrorText);
return;
}
if (rest.ResponseStatusCode !== 200) {
console.log("Received error response code: " + rest.ResponseStatusCode);
console.log("Response body:");
console.log(sbJson.GetAsString());
return;
}
var json = new chilkat.JsonObject();
json.LoadSb(sbJson);
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
var access_token;
var expires_in;
var token_type;
var scope;
var refresh_token;
var refresh_expires_in;
var download_token;
access_token = json.StringOf("access_token");
expires_in = json.IntOf("expires_in");
token_type = json.StringOf("token_type");
scope = json.IsNullOf("scope");
refresh_token = json.StringOf("refresh_token");
refresh_expires_in = json.IntOf("refresh_expires_in");
download_token = json.StringOf("download_token");
console.log("Example Completed.");
}
chilkatExample();
{
"grant_type":"password",
"client_id":"sugar",
"client_secret":"",
"username":"SUGARCRM_LOGIN",
"password":"SUGARCRM_PASSWORD",
"platform":"custom_api"
}
{
"access_token":"c6d495c9-bb25-81d2-5f81-533ef6479f9b",
"expires_in":3600,
"token_type":"bearer",
"scope":null,
"refresh_token":"cbc40e67-12bc-4b56-a1d9-533ef62f2601",
"refresh_expires_in":1209600,
"download_token":"cc5d1a9f-6627-3349-96e5-533ef6b1a493"
}