Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat Dart Downloads

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

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

  final http = CkHttp();

  http.accept = 'application/json';

  // The following JSON is sent in the request body:

  // {
  //   "first_name": "Rob",
  //   "last_name": "Robertson",
  //   "email": [
  //     {
  //       "email_address": "rob.robertson@sugar.crm",
  //       "primary_address": "1",
  //       "invalid_email": "0",
  //       "opt_out": "0"
  //     },
  //     {
  //       "email_address": "rob@sugar.crm",
  //       "primary_address": "0",
  //       "invalid_email": "0",
  //       "opt_out": "1"
  //     }
  //   ]
  // }

  // Use this online tool to generate the code from sample JSON: 
  // Generate Code to Create JSON

  final jsonRequestBody = CkJsonObject();
  jsonRequestBody.updateString('first_name', 'Rob');
  jsonRequestBody.updateString('last_name', 'Robertson');
  jsonRequestBody.updateString('email[0].email_address', 'rob.robertson@sugar.crm');
  jsonRequestBody.updateString('email[0].primary_address', '1');
  jsonRequestBody.updateString('email[0].invalid_email', '0');
  jsonRequestBody.updateString('email[0].opt_out', '0');
  jsonRequestBody.updateString('email[1].email_address', 'rob@sugar.crm');
  jsonRequestBody.updateString('email[1].primary_address', '0');
  jsonRequestBody.updateString('email[1].invalid_email', '0');
  jsonRequestBody.updateString('email[1].opt_out', '1');

  final url = 'http://<site url>/rest/v10/Contacts';

  http.setRequestHeader('OAuth-Token', 'ACCESS_TOKEN');

  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', url, jsonRequestBody, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Response Status Code: ${resp.statusCode}');

  final jsonResponse = CkJsonObject();
  jsonResponse.load(resp.bodyStr);
  jsonResponse.emitCompact = false;
  print(jsonResponse.emit());

  if (resp.statusCode >= 300) {
    print('Failed.');
    return;
  }
}