Sample code for 30+ languages & platforms
React Native 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 React Native Downloads

React Native
import { Http, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'

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

  const http = new 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"
  // }

  const json = new JsonObject();
  json.updateString('name', 'Updated Record');

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

  const sbRequestBody = new StringBuilder();
  json.emitSb(sbRequestBody);

  const resp = new HttpResponse();
  try {
    await http.httpSbAsync('PUT', 'http://<site_url>/rest/v10/Accounts/<record_id>', sbRequestBody, 'utf-8', 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const sbResponseBody = new StringBuilder();
  resp.getBodySb(sbResponseBody);
  const jResp = new JsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  console.log('Response Body:');
  console.log(jResp.emit());

  const respStatusCode = resp.statusCode;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(resp.header);
    console.log('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

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

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