Xbase++ Requires Chilkat v11.0.0+
endpoint. In this example we are going to create an Account record with a Name of 'Test Record' and an email of 'test@sugar.com'.
Xbase++
SugarCRM Create a Record
See more SugarCRM Examples
Submit a record to the Sugar instance using the /Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oHttp
LOCAL oJson
LOCAL oResp
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL cId
LOCAL cName
LOCAL cDate_entered
LOCAL cDate_modified
LOCAL cModified_user_id
LOCAL cModified_by_name
LOCAL cModified_user_linkFull_name
LOCAL cModified_user_linkId
LOCAL cModified_user_link_aclDelete
LOCAL cModified_user_link_acl_hash
LOCAL cCreated_by
LOCAL cCreated_by_name
LOCAL cCreated_by_linkFull_name
LOCAL cCreated_by_linkId
LOCAL cCreated_by_link_aclDelete
LOCAL cCreated_by_link_acl_hash
LOCAL cDescription
LOCAL nDeleted
LOCAL cFacebook
LOCAL cTwitter
LOCAL cGoogleplus
LOCAL cAccount_type
LOCAL cIndustry
LOCAL cAnnual_revenue
LOCAL cPhone_fax
LOCAL cBilling_address_street
LOCAL cBilling_address_street_2
LOCAL cBilling_address_street_3
LOCAL cBilling_address_street_4
LOCAL cBilling_address_city
LOCAL cBilling_address_state
LOCAL cBilling_address_postalcode
LOCAL cBilling_address_country
LOCAL cRating
LOCAL cPhone_office
LOCAL cPhone_alternate
LOCAL cWebsite
LOCAL cOwnership
LOCAL cEmployees
LOCAL cTicker_symbol
LOCAL cShipping_address_street
LOCAL cShipping_address_street_2
LOCAL cShipping_address_street_3
LOCAL cShipping_address_street_4
LOCAL cShipping_address_city
LOCAL cShipping_address_state
LOCAL cShipping_address_postalcode
LOCAL cShipping_address_country
LOCAL cParent_id
LOCAL cSic_code
LOCAL cDuns_num
LOCAL cParent_name
LOCAL cMember_ofName
LOCAL cMember_ofId
LOCAL cMember_of_acl_hash
LOCAL cCampaign_id
LOCAL cCampaign_name
LOCAL cCampaign_accountsName
LOCAL cCampaign_accountsId
LOCAL cCampaign_accounts_acl_hash
LOCAL nFollowing
LOCAL nMy_favorite
LOCAL cAssigned_user_id
LOCAL cAssigned_user_name
LOCAL cAssigned_user_linkFull_name
LOCAL cAssigned_user_linkId
LOCAL cAssigned_user_link_acl_hash
LOCAL cTeam_count
LOCAL cTeam_count_linkTeam_count
LOCAL cTeam_count_linkId
LOCAL cTeam_count_link_acl_hash
LOCAL cEmail1
LOCAL cEmail2
LOCAL nInvalid_email
LOCAL nEmail_opt_out
LOCAL cEmail_addresses_non_primary
LOCAL cV_module
LOCAL i
LOCAL nCount_i
LOCAL nId_int
LOCAL cName_2
LOCAL nPrimary
LOCAL cEmail_address
LOCAL nOpt_out
LOCAL nPrimary_address
LOCAL nReply_to_address
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 -X POST -H OAuth-Token:<access_token> -H Cache-Control:no-cache -d '{
// "name":"Test Record",
// "email1":"test@sugar.com"
// }' http://<site_url>/rest/v10/Accounts
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "name": "Test Record",
// "email1": "test@sugar.com"
// }
oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("name", "Test Record")
oJson:UpdateString("email1", "test@sugar.com")
oHttp:SetRequestHeader("Cache-Control", "no-cache")
oHttp:SetRequestHeader("OAuth-Token", "<access_token>")
oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "http://<site_url>/rest/v10/Accounts", oJson, "application/json", oResp)
IF (nSuccess == 0)
? oHttp:LastErrorText
oHttp:destroy()
oJson:destroy()
oResp:destroy()
RETURN
ENDIF
oSbResponseBody := CreateObject("Chilkat.StringBuilder")
oResp:GetBodySb(oSbResponseBody)
oJResp := CreateObject("Chilkat.JsonObject")
oJResp:LoadSb(oSbResponseBody)
oJResp:EmitCompact := 0
? "Response Body:"
? oJResp:Emit()
nRespStatusCode := oResp:StatusCode
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
? "Response Header:"
? oResp:Header
? "Failed."
oHttp:destroy()
oJson:destroy()
oResp: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_entered": "2016-04-06T13:07:41-04:00",
// "date_modified": "2016-04-06T13:07:41-04:00",
// "modified_user_id": "1",
// "modified_by_name": "Administrator",
// "modified_user_link": {
// "full_name": "Administrator",
// "id": "1",
// "_acl": {
// "fields": [
// ],
// "delete": "no",
// "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
// }
// },
// "created_by": "1",
// "created_by_name": "Administrator",
// "created_by_link": {
// "full_name": "Administrator",
// "id": "1",
// "_acl": {
// "fields": [
// ],
// "delete": "no",
// "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
// }
// },
// "description": "",
// "deleted": false,
// "facebook": "",
// "twitter": "",
// "googleplus": "",
// "account_type": "",
// "industry": "",
// "annual_revenue": "",
// "phone_fax": "",
// "billing_address_street": "",
// "billing_address_street_2": "",
// "billing_address_street_3": "",
// "billing_address_street_4": "",
// "billing_address_city": "",
// "billing_address_state": "",
// "billing_address_postalcode": "",
// "billing_address_country": "",
// "rating": "",
// "phone_office": "",
// "phone_alternate": "",
// "website": "",
// "ownership": "",
// "employees": "",
// "ticker_symbol": "",
// "shipping_address_street": "",
// "shipping_address_street_2": "",
// "shipping_address_street_3": "",
// "shipping_address_street_4": "",
// "shipping_address_city": "",
// "shipping_address_state": "",
// "shipping_address_postalcode": "",
// "shipping_address_country": "",
// "parent_id": "",
// "sic_code": "",
// "duns_num": "",
// "parent_name": "",
// "member_of": {
// "name": "",
// "id": "",
// "_acl": {
// "fields": [
// ],
// "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
// }
// },
// "campaign_id": "",
// "campaign_name": "",
// "campaign_accounts": {
// "name": "",
// "id": "",
// "_acl": {
// "fields": [
// ],
// "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
// }
// },
// "following": true,
// "my_favorite": false,
// "tag": [
// ],
// "assigned_user_id": "",
// "assigned_user_name": "",
// "assigned_user_link": {
// "full_name": "",
// "id": "",
// "_acl": {
// "fields": [
// ],
// "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
// }
// },
// "team_count": "",
// "team_count_link": {
// "team_count": "",
// "id": "1",
// "_acl": {
// "fields": [
// ],
// "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
// }
// },
// "team_name": [
// {
// "id": 1,
// "name": "Global",
// "name_2": "",
// "primary": true
// }
// ],
// "email": [
// {
// "email_address": "test@sugar.com",
// "invalid_email": false,
// "opt_out": false,
// "primary_address": true,
// "reply_to_address": false
// }
// ],
// "email1": "test@sugar.com",
// "email2": "",
// "invalid_email": false,
// "email_opt_out": false,
// "email_addresses_non_primary": "",
// "_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_entered := oJResp:StringOf("date_entered")
cDate_modified := oJResp:StringOf("date_modified")
cModified_user_id := oJResp:StringOf("modified_user_id")
cModified_by_name := oJResp:StringOf("modified_by_name")
cModified_user_linkFull_name := oJResp:StringOf("modified_user_link.full_name")
cModified_user_linkId := oJResp:StringOf("modified_user_link.id")
cModified_user_link_aclDelete := oJResp:StringOf("modified_user_link._acl.delete")
cModified_user_link_acl_hash := oJResp:StringOf("modified_user_link._acl._hash")
cCreated_by := oJResp:StringOf("created_by")
cCreated_by_name := oJResp:StringOf("created_by_name")
cCreated_by_linkFull_name := oJResp:StringOf("created_by_link.full_name")
cCreated_by_linkId := oJResp:StringOf("created_by_link.id")
cCreated_by_link_aclDelete := oJResp:StringOf("created_by_link._acl.delete")
cCreated_by_link_acl_hash := oJResp:StringOf("created_by_link._acl._hash")
cDescription := oJResp:StringOf("description")
nDeleted := oJResp:BoolOf("deleted")
cFacebook := oJResp:StringOf("facebook")
cTwitter := oJResp:StringOf("twitter")
cGoogleplus := oJResp:StringOf("googleplus")
cAccount_type := oJResp:StringOf("account_type")
cIndustry := oJResp:StringOf("industry")
cAnnual_revenue := oJResp:StringOf("annual_revenue")
cPhone_fax := oJResp:StringOf("phone_fax")
cBilling_address_street := oJResp:StringOf("billing_address_street")
cBilling_address_street_2 := oJResp:StringOf("billing_address_street_2")
cBilling_address_street_3 := oJResp:StringOf("billing_address_street_3")
cBilling_address_street_4 := oJResp:StringOf("billing_address_street_4")
cBilling_address_city := oJResp:StringOf("billing_address_city")
cBilling_address_state := oJResp:StringOf("billing_address_state")
cBilling_address_postalcode := oJResp:StringOf("billing_address_postalcode")
cBilling_address_country := oJResp:StringOf("billing_address_country")
cRating := oJResp:StringOf("rating")
cPhone_office := oJResp:StringOf("phone_office")
cPhone_alternate := oJResp:StringOf("phone_alternate")
cWebsite := oJResp:StringOf("website")
cOwnership := oJResp:StringOf("ownership")
cEmployees := oJResp:StringOf("employees")
cTicker_symbol := oJResp:StringOf("ticker_symbol")
cShipping_address_street := oJResp:StringOf("shipping_address_street")
cShipping_address_street_2 := oJResp:StringOf("shipping_address_street_2")
cShipping_address_street_3 := oJResp:StringOf("shipping_address_street_3")
cShipping_address_street_4 := oJResp:StringOf("shipping_address_street_4")
cShipping_address_city := oJResp:StringOf("shipping_address_city")
cShipping_address_state := oJResp:StringOf("shipping_address_state")
cShipping_address_postalcode := oJResp:StringOf("shipping_address_postalcode")
cShipping_address_country := oJResp:StringOf("shipping_address_country")
cParent_id := oJResp:StringOf("parent_id")
cSic_code := oJResp:StringOf("sic_code")
cDuns_num := oJResp:StringOf("duns_num")
cParent_name := oJResp:StringOf("parent_name")
cMember_ofName := oJResp:StringOf("member_of.name")
cMember_ofId := oJResp:StringOf("member_of.id")
cMember_of_acl_hash := oJResp:StringOf("member_of._acl._hash")
cCampaign_id := oJResp:StringOf("campaign_id")
cCampaign_name := oJResp:StringOf("campaign_name")
cCampaign_accountsName := oJResp:StringOf("campaign_accounts.name")
cCampaign_accountsId := oJResp:StringOf("campaign_accounts.id")
cCampaign_accounts_acl_hash := oJResp:StringOf("campaign_accounts._acl._hash")
nFollowing := oJResp:BoolOf("following")
nMy_favorite := oJResp:BoolOf("my_favorite")
cAssigned_user_id := oJResp:StringOf("assigned_user_id")
cAssigned_user_name := oJResp:StringOf("assigned_user_name")
cAssigned_user_linkFull_name := oJResp:StringOf("assigned_user_link.full_name")
cAssigned_user_linkId := oJResp:StringOf("assigned_user_link.id")
cAssigned_user_link_acl_hash := oJResp:StringOf("assigned_user_link._acl._hash")
cTeam_count := oJResp:StringOf("team_count")
cTeam_count_linkTeam_count := oJResp:StringOf("team_count_link.team_count")
cTeam_count_linkId := oJResp:StringOf("team_count_link.id")
cTeam_count_link_acl_hash := oJResp:StringOf("team_count_link._acl._hash")
cEmail1 := oJResp:StringOf("email1")
cEmail2 := oJResp:StringOf("email2")
nInvalid_email := oJResp:BoolOf("invalid_email")
nEmail_opt_out := oJResp:BoolOf("email_opt_out")
cEmail_addresses_non_primary := oJResp:StringOf("email_addresses_non_primary")
cV_module := oJResp:StringOf("_module")
i := 0
nCount_i := oJResp:SizeOfArray("modified_user_link._acl.fields")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("created_by_link._acl.fields")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("member_of._acl.fields")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("campaign_accounts._acl.fields")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("tag")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("assigned_user_link._acl.fields")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("team_count_link._acl.fields")
DO WHILE i < nCount_i
oJResp:I := i
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("team_name")
DO WHILE i < nCount_i
oJResp:I := i
nId_int := oJResp:IntOf("team_name[i].id")
cName := oJResp:StringOf("team_name[i].name")
cName_2 := oJResp:StringOf("team_name[i].name_2")
nPrimary := oJResp:BoolOf("team_name[i].primary")
i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("email")
DO WHILE i < nCount_i
oJResp:I := i
cEmail_address := oJResp:StringOf("email[i].email_address")
nInvalid_email := oJResp:BoolOf("email[i].invalid_email")
nOpt_out := oJResp:BoolOf("email[i].opt_out")
nPrimary_address := oJResp:BoolOf("email[i].primary_address")
nReply_to_address := oJResp:BoolOf("email[i].reply_to_address")
i := i + 1
ENDDO
oHttp:destroy()
oJson:destroy()
oResp:destroy()
oSbResponseBody:destroy()
oJResp:destroy()