Sample code for 30+ languages & platforms
Xbase++

SugarCRM Getting a Record

See more SugarCRM Examples

Gets a record from the Sugar instance using the //:record endpoint. In this example we get an Account record by it's ID, but only request the Name, Email, and Industry fields.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL cId
LOCAL cName
LOCAL cDate_modified
LOCAL cIndustry
LOCAL cEmail1
LOCAL cV_module

nSuccess := 0

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oHttp := CreateObject("Chilkat.Http")

//  Implements the following CURL command:

//  curl -H OAuth-Token:<access_token> -H Cache-Control:no-cache http://<site_url>/rest/v10/Accounts/<record_id>?fields=name,email1,industry

oHttp:SetRequestHeader("Cache-Control", "no-cache")
oHttp:SetRequestHeader("OAuth-Token", "<access_token>")

oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oHttp:QuickGetSb("http://<site_url>/rest/v10/Accounts/<record_id>?fields=name,email1,industry", oSbResponseBody)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oSbResponseBody:destroy()
    RETURN
ENDIF

oJResp := CreateObject("Chilkat.JsonObject")
oJResp:LoadSb(oSbResponseBody)
oJResp:EmitCompact := 0

? "Response Body:"
? oJResp:Emit()

nRespStatusCode := oHttp:LastStatus
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
    ? "Response Header:"
    ? oHttp:LastHeader
    ? "Failed."
    oHttp:destroy()
    oSbResponseBody:destroy()
    oJResp:destroy()
    RETURN
ENDIF

//  Sample JSON response:
//  (Sample code for parsing the JSON response is shown below)

//  {
//    "id": "ab2222df-73da-0e92-6887-5705428f4d68",
//    "name": "Test Record",
//    "date_modified": "2016-04-06T15:03:21-04:00",
//    "industry": "",
//    "email1": "test@sugar.com",
//    "_acl": {
//      "fields": {}
//    },
//    "_module": "Accounts"
//  }

//  Sample code for parsing the JSON response...
//  Use the following online tool to generate parsing code from sample JSON:
//  Generate Parsing Code from JSON

cId := oJResp:StringOf("id")
cName := oJResp:StringOf("name")
cDate_modified := oJResp:StringOf("date_modified")
cIndustry := oJResp:StringOf("industry")
cEmail1 := oJResp:StringOf("email1")
cV_module := oJResp:StringOf("_module")

oHttp:destroy()
oSbResponseBody:destroy()
oJResp:destroy()