Sample code for 30+ languages & platforms
Xojo Plugin

SugarCRM Updating a Record

See more SugarCRM Examples

Demonstrates how to update a record in the Sugar instance using the //:record endpoint, and the PUT Http method. In this example we update the Account record and change it's name to "Updated Test Record".

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.Http

// Implements the following CURL command:

// curl -X PUT -H OAuth-Token:<access_token> -H Cache-Control:no-cache -d '{ 
//    "name":"Updated Record"
// }' http://<site_url>/rest/v10/Accounts/<record_id>

// 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": "Updated Record"
// }

Dim json As New Chilkat.JsonObject
success = json.UpdateString("name","Updated Record")

http.SetRequestHeader "Cache-Control","no-cache"
http.SetRequestHeader "OAuth-Token","<access_token>"

Dim sbRequestBody As New Chilkat.StringBuilder
success = json.EmitSb(sbRequestBody)

Dim resp As New Chilkat.HttpResponse
success = http.HttpSb("PUT","http://<site_url>/rest/v10/Accounts/<record_id>",sbRequestBody,"utf-8","application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim sbResponseBody As New Chilkat.StringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = resp.StatusCode
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(resp.Header)
    System.DebugLog("Failed.")
    Return
End If

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

// {
//   "id": "ab2222df-73da-0e92-6887-5705428f4d68",
//   "name": "Updated Test Record",
//   "date_entered": "2016-04-06T15:03:21-04:00",
//   "date_modified": "2016-04-06T15:03:22-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

Dim id As String
Dim name As String
Dim date_entered As String
Dim date_modified As String
Dim modified_user_id As String
Dim modified_by_name As String
Dim modified_user_linkFull_name As String
Dim modified_user_linkId As String
Dim modified_user_link_aclDelete As String
Dim modified_user_link_acl_hash As String
Dim created_by As String
Dim created_by_name As String
Dim created_by_linkFull_name As String
Dim created_by_linkId As String
Dim created_by_link_aclDelete As String
Dim created_by_link_acl_hash As String
Dim description As String
Dim deleted As Boolean
Dim facebook As String
Dim twitter As String
Dim googleplus As String
Dim account_type As String
Dim industry As String
Dim annual_revenue As String
Dim phone_fax As String
Dim billing_address_street As String
Dim billing_address_street_2 As String
Dim billing_address_street_3 As String
Dim billing_address_street_4 As String
Dim billing_address_city As String
Dim billing_address_state As String
Dim billing_address_postalcode As String
Dim billing_address_country As String
Dim rating As String
Dim phone_office As String
Dim phone_alternate As String
Dim website As String
Dim ownership As String
Dim employees As String
Dim ticker_symbol As String
Dim shipping_address_street As String
Dim shipping_address_street_2 As String
Dim shipping_address_street_3 As String
Dim shipping_address_street_4 As String
Dim shipping_address_city As String
Dim shipping_address_state As String
Dim shipping_address_postalcode As String
Dim shipping_address_country As String
Dim parent_id As String
Dim sic_code As String
Dim duns_num As String
Dim parent_name As String
Dim member_ofName As String
Dim member_ofId As String
Dim member_of_acl_hash As String
Dim campaign_id As String
Dim campaign_name As String
Dim campaign_accountsName As String
Dim campaign_accountsId As String
Dim campaign_accounts_acl_hash As String
Dim following As Boolean
Dim my_favorite As Boolean
Dim assigned_user_id As String
Dim assigned_user_name As String
Dim assigned_user_linkFull_name As String
Dim assigned_user_linkId As String
Dim assigned_user_link_acl_hash As String
Dim team_count As String
Dim team_count_linkTeam_count As String
Dim team_count_linkId As String
Dim team_count_link_acl_hash As String
Dim email1 As String
Dim email2 As String
Dim invalid_email As Boolean
Dim email_opt_out As Boolean
Dim email_addresses_non_primary As String
Dim v_module As String
Dim i As Int32
Dim count_i As Int32
Dim id_int As Int32
Dim name_2 As String
Dim primary As Boolean
Dim email_address As String
Dim opt_out As Boolean
Dim primary_address As Boolean
Dim reply_to_address As Boolean

id = jResp.StringOf("id")
name = jResp.StringOf("name")
date_entered = jResp.StringOf("date_entered")
date_modified = jResp.StringOf("date_modified")
modified_user_id = jResp.StringOf("modified_user_id")
modified_by_name = jResp.StringOf("modified_by_name")
modified_user_linkFull_name = jResp.StringOf("modified_user_link.full_name")
modified_user_linkId = jResp.StringOf("modified_user_link.id")
modified_user_link_aclDelete = jResp.StringOf("modified_user_link._acl.delete")
modified_user_link_acl_hash = jResp.StringOf("modified_user_link._acl._hash")
created_by = jResp.StringOf("created_by")
created_by_name = jResp.StringOf("created_by_name")
created_by_linkFull_name = jResp.StringOf("created_by_link.full_name")
created_by_linkId = jResp.StringOf("created_by_link.id")
created_by_link_aclDelete = jResp.StringOf("created_by_link._acl.delete")
created_by_link_acl_hash = jResp.StringOf("created_by_link._acl._hash")
description = jResp.StringOf("description")
deleted = jResp.BoolOf("deleted")
facebook = jResp.StringOf("facebook")
twitter = jResp.StringOf("twitter")
googleplus = jResp.StringOf("googleplus")
account_type = jResp.StringOf("account_type")
industry = jResp.StringOf("industry")
annual_revenue = jResp.StringOf("annual_revenue")
phone_fax = jResp.StringOf("phone_fax")
billing_address_street = jResp.StringOf("billing_address_street")
billing_address_street_2 = jResp.StringOf("billing_address_street_2")
billing_address_street_3 = jResp.StringOf("billing_address_street_3")
billing_address_street_4 = jResp.StringOf("billing_address_street_4")
billing_address_city = jResp.StringOf("billing_address_city")
billing_address_state = jResp.StringOf("billing_address_state")
billing_address_postalcode = jResp.StringOf("billing_address_postalcode")
billing_address_country = jResp.StringOf("billing_address_country")
rating = jResp.StringOf("rating")
phone_office = jResp.StringOf("phone_office")
phone_alternate = jResp.StringOf("phone_alternate")
website = jResp.StringOf("website")
ownership = jResp.StringOf("ownership")
employees = jResp.StringOf("employees")
ticker_symbol = jResp.StringOf("ticker_symbol")
shipping_address_street = jResp.StringOf("shipping_address_street")
shipping_address_street_2 = jResp.StringOf("shipping_address_street_2")
shipping_address_street_3 = jResp.StringOf("shipping_address_street_3")
shipping_address_street_4 = jResp.StringOf("shipping_address_street_4")
shipping_address_city = jResp.StringOf("shipping_address_city")
shipping_address_state = jResp.StringOf("shipping_address_state")
shipping_address_postalcode = jResp.StringOf("shipping_address_postalcode")
shipping_address_country = jResp.StringOf("shipping_address_country")
parent_id = jResp.StringOf("parent_id")
sic_code = jResp.StringOf("sic_code")
duns_num = jResp.StringOf("duns_num")
parent_name = jResp.StringOf("parent_name")
member_ofName = jResp.StringOf("member_of.name")
member_ofId = jResp.StringOf("member_of.id")
member_of_acl_hash = jResp.StringOf("member_of._acl._hash")
campaign_id = jResp.StringOf("campaign_id")
campaign_name = jResp.StringOf("campaign_name")
campaign_accountsName = jResp.StringOf("campaign_accounts.name")
campaign_accountsId = jResp.StringOf("campaign_accounts.id")
campaign_accounts_acl_hash = jResp.StringOf("campaign_accounts._acl._hash")
following = jResp.BoolOf("following")
my_favorite = jResp.BoolOf("my_favorite")
assigned_user_id = jResp.StringOf("assigned_user_id")
assigned_user_name = jResp.StringOf("assigned_user_name")
assigned_user_linkFull_name = jResp.StringOf("assigned_user_link.full_name")
assigned_user_linkId = jResp.StringOf("assigned_user_link.id")
assigned_user_link_acl_hash = jResp.StringOf("assigned_user_link._acl._hash")
team_count = jResp.StringOf("team_count")
team_count_linkTeam_count = jResp.StringOf("team_count_link.team_count")
team_count_linkId = jResp.StringOf("team_count_link.id")
team_count_link_acl_hash = jResp.StringOf("team_count_link._acl._hash")
email1 = jResp.StringOf("email1")
email2 = jResp.StringOf("email2")
invalid_email = jResp.BoolOf("invalid_email")
email_opt_out = jResp.BoolOf("email_opt_out")
email_addresses_non_primary = jResp.StringOf("email_addresses_non_primary")
v_module = jResp.StringOf("_module")
i = 0
count_i = jResp.SizeOfArray("modified_user_link._acl.fields")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("created_by_link._acl.fields")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("member_of._acl.fields")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("campaign_accounts._acl.fields")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("tag")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("assigned_user_link._acl.fields")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("team_count_link._acl.fields")
While i < count_i
    jResp.I = i
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("team_name")
While i < count_i
    jResp.I = i
    id_int = jResp.IntOf("team_name[i].id")
    name = jResp.StringOf("team_name[i].name")
    name_2 = jResp.StringOf("team_name[i].name_2")
    primary = jResp.BoolOf("team_name[i].primary")
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("email")
While i < count_i
    jResp.I = i
    email_address = jResp.StringOf("email[i].email_address")
    invalid_email = jResp.BoolOf("email[i].invalid_email")
    opt_out = jResp.BoolOf("email[i].opt_out")
    primary_address = jResp.BoolOf("email[i].primary_address")
    reply_to_address = jResp.BoolOf("email[i].reply_to_address")
    i = i + 1
Wend