Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  // 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"
  // }

  final json = CkJsonObject();
  json.updateString('name', 'Updated Record');

  http.setRequestHeader('Cache-Control', 'no-cache');
  http.setRequestHeader('OAuth-Token', '<access_token>');

  final sbRequestBody = CkStringBuilder();
  json.emitSb(sbRequestBody);

  final resp = CkHttpResponse();
  try {
    http.httpSb('PUT', 'http://<site_url>/rest/v10/Accounts/<record_id>', sbRequestBody, 'utf-8', 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);
  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = resp.statusCode;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('Failed.');
    return;
  }

  // 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

  var name = '';
  var i = 0;
  var countI = 0;
  var idInt = 0;
  var name_2 = '';
  var emailAddress = '';

  final id = jResp.stringOf('id');
  name = jResp.stringOf('name');
  final dateEntered = jResp.stringOf('date_entered');
  final dateModified = jResp.stringOf('date_modified');
  final modifiedUserId = jResp.stringOf('modified_user_id');
  final modifiedByName = jResp.stringOf('modified_by_name');
  final modifiedUserLinkFullName = jResp.stringOf('modified_user_link.full_name');
  final modifiedUserLinkId = jResp.stringOf('modified_user_link.id');
  final modifiedUserLinkAclDelete = jResp.stringOf('modified_user_link._acl.delete');
  final modifiedUserLinkAclHash = jResp.stringOf('modified_user_link._acl._hash');
  final createdBy = jResp.stringOf('created_by');
  final createdByName = jResp.stringOf('created_by_name');
  final createdByLinkFullName = jResp.stringOf('created_by_link.full_name');
  final createdByLinkId = jResp.stringOf('created_by_link.id');
  final createdByLinkAclDelete = jResp.stringOf('created_by_link._acl.delete');
  final createdByLinkAclHash = jResp.stringOf('created_by_link._acl._hash');
  final description = jResp.stringOf('description');
  final facebook = jResp.stringOf('facebook');
  final twitter = jResp.stringOf('twitter');
  final googleplus = jResp.stringOf('googleplus');
  final accountType = jResp.stringOf('account_type');
  final industry = jResp.stringOf('industry');
  final annualRevenue = jResp.stringOf('annual_revenue');
  final phoneFax = jResp.stringOf('phone_fax');
  final billingAddressStreet = jResp.stringOf('billing_address_street');
  final billingAddressStreet_2 = jResp.stringOf('billing_address_street_2');
  final billingAddressStreet_3 = jResp.stringOf('billing_address_street_3');
  final billingAddressStreet_4 = jResp.stringOf('billing_address_street_4');
  final billingAddressCity = jResp.stringOf('billing_address_city');
  final billingAddressState = jResp.stringOf('billing_address_state');
  final billingAddressPostalcode = jResp.stringOf('billing_address_postalcode');
  final billingAddressCountry = jResp.stringOf('billing_address_country');
  final rating = jResp.stringOf('rating');
  final phoneOffice = jResp.stringOf('phone_office');
  final phoneAlternate = jResp.stringOf('phone_alternate');
  final website = jResp.stringOf('website');
  final ownership = jResp.stringOf('ownership');
  final employees = jResp.stringOf('employees');
  final tickerSymbol = jResp.stringOf('ticker_symbol');
  final shippingAddressStreet = jResp.stringOf('shipping_address_street');
  final shippingAddressStreet_2 = jResp.stringOf('shipping_address_street_2');
  final shippingAddressStreet_3 = jResp.stringOf('shipping_address_street_3');
  final shippingAddressStreet_4 = jResp.stringOf('shipping_address_street_4');
  final shippingAddressCity = jResp.stringOf('shipping_address_city');
  final shippingAddressState = jResp.stringOf('shipping_address_state');
  final shippingAddressPostalcode = jResp.stringOf('shipping_address_postalcode');
  final shippingAddressCountry = jResp.stringOf('shipping_address_country');
  final parentId = jResp.stringOf('parent_id');
  final sicCode = jResp.stringOf('sic_code');
  final dunsNum = jResp.stringOf('duns_num');
  final parentName = jResp.stringOf('parent_name');
  final memberOfName = jResp.stringOf('member_of.name');
  final memberOfId = jResp.stringOf('member_of.id');
  final memberOfAclHash = jResp.stringOf('member_of._acl._hash');
  final campaignId = jResp.stringOf('campaign_id');
  final campaignName = jResp.stringOf('campaign_name');
  final campaignAccountsName = jResp.stringOf('campaign_accounts.name');
  final campaignAccountsId = jResp.stringOf('campaign_accounts.id');
  final campaignAccountsAclHash = jResp.stringOf('campaign_accounts._acl._hash');
  final assignedUserId = jResp.stringOf('assigned_user_id');
  final assignedUserName = jResp.stringOf('assigned_user_name');
  final assignedUserLinkFullName = jResp.stringOf('assigned_user_link.full_name');
  final assignedUserLinkId = jResp.stringOf('assigned_user_link.id');
  final assignedUserLinkAclHash = jResp.stringOf('assigned_user_link._acl._hash');
  final teamCount = jResp.stringOf('team_count');
  final teamCountLinkTeamCount = jResp.stringOf('team_count_link.team_count');
  final teamCountLinkId = jResp.stringOf('team_count_link.id');
  final teamCountLinkAclHash = jResp.stringOf('team_count_link._acl._hash');
  final email1 = jResp.stringOf('email1');
  final email2 = jResp.stringOf('email2');
  jResp.boolOf('invalid_email');
  final emailAddressesNonPrimary = jResp.stringOf('email_addresses_non_primary');
  final vModule = jResp.stringOf('_module');
  i = 0;
  countI = jResp.sizeOfArray('modified_user_link._acl.fields');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('created_by_link._acl.fields');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('member_of._acl.fields');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('campaign_accounts._acl.fields');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('tag');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('assigned_user_link._acl.fields');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('team_count_link._acl.fields');
  while (i < countI) {
    jResp.i = i;
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('team_name');
  while (i < countI) {
    jResp.i = i;
    idInt = jResp.intOf('team_name[i].id');
    name = jResp.stringOf('team_name[i].name');
    name_2 = jResp.stringOf('team_name[i].name_2');
    jResp.boolOf('team_name[i].primary');
    i++;
  }

  i = 0;
  countI = jResp.sizeOfArray('email');
  while (i < countI) {
    jResp.i = i;
    emailAddress = jResp.stringOf('email[i].email_address');
    jResp.boolOf('email[i].invalid_email');
    jResp.boolOf('email[i].opt_out');
    jResp.boolOf('email[i].primary_address');
    jResp.boolOf('email[i].reply_to_address');
    i++;
  }
}