Sample code for 30+ languages & platforms
Visual Basic 6.0

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 Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

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

Dim http As New ChilkatHttp

' 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 ChilkatJsonObject
success = json.UpdateString("name","Updated Record")

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

Dim sbRequestBody As New ChilkatStringBuilder
success = json.EmitSb(sbRequestBody)

Dim resp As New ChilkatHttpResponse
success = http.HttpSb("PUT","http://<site_url>/rest/v10/Accounts/<record_id>",sbRequestBody,"utf-8","application/json",resp)
If (success = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."
    Exit Sub
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 Long
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 Long
Dim my_favorite As Long
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 Long
Dim email_opt_out As Long
Dim email_addresses_non_primary As String
Dim v_module As String
Dim i As Long
Dim count_i As Long
Dim id_int As Long
Dim name_2 As String
Dim primary As Long
Dim email_address As String
Dim opt_out As Long
Dim primary_address As Long
Dim reply_to_address As Long

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")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("created_by_link._acl.fields")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("member_of._acl.fields")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("campaign_accounts._acl.fields")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("tag")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("assigned_user_link._acl.fields")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("team_count_link._acl.fields")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("team_name")
Do 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
Loop
i = 0
count_i = jResp.SizeOfArray("email")
Do 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
Loop