PureBasic
PureBasic
SugarCRM Create a Record List
See more SugarCRM Examples
Create a record list in Sugar consisting of a set of ids.Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckConnect(rest,"your.site.domain",443,1,1)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
ProcedureReturn
EndIf
CkRest::ckAddHeader(rest,"Cache-Control","no-cache")
CkRest::ckAddHeader(rest,"OAuth-Token","<access_token>")
; The following code creates the JSON request body.
; The JSON created by this code is shown below.
jsonReq.i = CkJsonObject::ckCreate()
If jsonReq.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(jsonReq,"records[0]","f16760a4-3a52-f77d-1522-5703ca28925f")
CkJsonObject::ckUpdateString(jsonReq,"records[1]","ec409fbb-2b22-4f32-7fa1-5703caf78dc3")
; The JSON request body created by the above code:
; {
; "records": [
; "f16760a4-3a52-f77d-1522-5703ca28925f",
; "ec409fbb-2b22-4f32-7fa1-5703caf78dc3"
; ]
; }
sbReq.i = CkStringBuilder::ckCreate()
If sbReq.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckEmitSb(jsonReq,sbReq)
CkRest::ckAddHeader(rest,"Content-Type","application/json")
sbJson.i = CkStringBuilder::ckCreate()
If sbJson.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestSb(rest,"POST","/rest/v10/Accounts/record_list",sbReq,sbJson)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkJsonObject::ckDispose(jsonReq)
CkStringBuilder::ckDispose(sbReq)
CkStringBuilder::ckDispose(sbJson)
ProcedureReturn
EndIf
If CkRest::ckResponseStatusCode(rest) <> 200
Debug "Received error response code: " + Str(CkRest::ckResponseStatusCode(rest))
Debug "Response body:"
Debug CkStringBuilder::ckGetAsString(sbJson)
CkRest::ckDispose(rest)
CkJsonObject::ckDispose(jsonReq)
CkStringBuilder::ckDispose(sbReq)
CkStringBuilder::ckDispose(sbJson)
ProcedureReturn
EndIf
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(json,sbJson)
; The following code parses the JSON response.
; A sample JSON response is shown below the sample code.
id.s
assigned_user_id.s
module_name.s
date_modified.s
i.i
count_i.i
strVal.s
id = CkJsonObject::ckStringOf(json,"id")
assigned_user_id = CkJsonObject::ckStringOf(json,"assigned_user_id")
module_name = CkJsonObject::ckStringOf(json,"module_name")
date_modified = CkJsonObject::ckStringOf(json,"date_modified")
i = 0
count_i = CkJsonObject::ckSizeOfArray(json,"records")
While i < count_i
CkJsonObject::setCkI(json, i)
strVal = CkJsonObject::ckStringOf(json,"records[i]")
i = i + 1
Wend
; A sample JSON response body that is parsed by the above code:
; {
; "id": "ef963176-4845-bc55-b03e-570430b4173c",
; "assigned_user_id": "1",
; "module_name": "Accounts",
; "records": [
; "f16760a4-3a52-f77d-1522-5703ca28925f",
; "ec409fbb-2b22-4f32-7fa1-5703caf78dc3"
; ],
; "date_modified": "2016-04-05 21:39:19"
; }
Debug "Example Completed."
CkRest::ckDispose(rest)
CkJsonObject::ckDispose(jsonReq)
CkStringBuilder::ckDispose(sbReq)
CkStringBuilder::ckDispose(sbJson)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure