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

Activix CRM Create a Lead

See more Activix CRM Examples

Demonstrates how to create a lead and returns the created lead.

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.authToken = 'ACCESS_TOKEN';

  http.accept = 'application/json';

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

  // {
  //   "account_id": "MY_ACCOUNT_ID",
  //   "first_name": "John",
  //   "last_name": "Doe",
  //   "type": "email",
  //   "advisor": {
  //     "first_name": "John",
  //     "last_name": "Doe"
  //   },
  //   "emails": [
  //     {
  //       "address": "hello@example.com",
  //       "type": "home"
  //     }
  //   ],
  //   "phones": [
  //     {
  //       "number": "+15144321214",
  //       "extension": 12345,
  //       "type": "home"
  //     }
  //   ],
  //   "vehicles": [
  //     {
  //       "make": "Aston Martin",
  //       "model": "DB11",
  //       "year": 2018,
  //       "type": "wanted"
  //     }
  //   ]
  // }

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

  final jsonRequestBody = CkJsonObject();
  jsonRequestBody.updateString('account_id', 'MY_ACCOUNT_ID');
  jsonRequestBody.updateString('first_name', 'John');
  jsonRequestBody.updateString('last_name', 'Doe');
  jsonRequestBody.updateString('type', 'email');
  jsonRequestBody.updateString('advisor.first_name', 'John');
  jsonRequestBody.updateString('advisor.last_name', 'Doe');
  jsonRequestBody.updateString('emails[0].address', 'hello@example.com');
  jsonRequestBody.updateString('emails[0].type', 'home');
  jsonRequestBody.updateString('phones[0].number', '+15144321214');
  jsonRequestBody.updateInt('phones[0].extension', 12345);
  jsonRequestBody.updateString('phones[0].type', 'home');
  jsonRequestBody.updateString('vehicles[0].make', 'Aston Martin');
  jsonRequestBody.updateString('vehicles[0].model', 'DB11');
  jsonRequestBody.updateInt('vehicles[0].year', 2018);
  jsonRequestBody.updateString('vehicles[0].type', 'wanted');

  var url = 'https://crm.activix.ca/api/v2/leads';

  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;
  }

  // Sample output...
  // (See the parsing code below..)
  // 
  // Use the this online tool to generate parsing code from sample JSON: 
  // Generate Parsing Code from JSON

  // {
  //     "data": {
  //         "id": 3387562,
  //         "created_at": "2018-04-09T18:05:00+00:00",
  //         "updated_at": "2018-04-09T18:07:00+00:00",
  //         "first_name": "John",
  //         "last_name": "Doe",
  //         ...
  //         "account": {
  //             "id": 66,
  //             ...
  //         },
  //         "advisor": {
  //             "id": 51112,
  //             ...
  //         },
  //         "emails": [
  //             {
  //                 "id": 3664451,
  //                 ...
  //             },
  //             ...
  //         ],
  //         "phones": [
  //             {
  //                 "id": 9465546,
  //                 ...
  //             },
  //             ...
  //         ],
  //         "vehicles": [
  //             {
  //                 "id": 4542214,
  //                 ...
  //             },
  //             ...
  //         ]
  //     }
  // }

  var dataAccountId = 0;

  var i = 0;
  var countI = 0;
  var id = 0;
  var createdAt = '';
  var updatedAt = '';
  var leadId = 0;
  var address = '';
  var vType = '';
  var extensionVar = '';
  var number = '';
  var accessories = '';
  var allowedOdometer = '';
  var balance = 0;
  var budgetMax = '';
  var budgetMin = '';
  var cashDown = '';
  var category = '';
  var categoryRv = '';
  var clientNumber = '';
  var colorExterior = '';
  var colorInterior = '';
  var comment = '';
  var condition = '';
  var endContractDate = '';
  var endWarrantyDate = '';
  var engine = '';
  var extendedWarranty = '';
  var fuel = '';
  var lengthMax = '';
  var lengthMin = '';
  var licensePlate = '';
  var make = '';
  var modality = '';
  var model = '';
  var odometer = '';
  var offerNumber = '';
  var vOption = '';
  var orderNumber = '';
  var payment = '';
  var paymentFrequency = '';
  var preparation = '';
  var price = '';
  var profit = '';
  var purchaseDate = '';
  var rate = '';
  var recall = '';
  var recordedDate = '';
  var residual = '';
  var securityDeposit = '';
  var sleeping = '';
  var soldBy = '';
  var soldDate = '';
  var stock = '';
  var stockState = '';
  var term = '';
  var transmission = '';
  var trim = '';

  var value = '';
  var vin = '';
  var warranty = '';
  var weight = '';
  var year = '';
  var yearMax = '';
  var yearMin = '';

  final dataId = jsonResponse.intOf('data.id');
  final dataCreatedAt = jsonResponse.stringOf('data.created_at');
  final dataUpdatedAt = jsonResponse.stringOf('data.updated_at');
  dataAccountId = jsonResponse.intOf('data.account_id');
  final dataAddressLine1 = jsonResponse.stringOf('data.address_line1');
  final dataAddressLine2 = jsonResponse.stringOf('data.address_line2');
  final dataAppointmentDate = jsonResponse.stringOf('data.appointment_date');
  final dataApptCall = jsonResponse.stringOf('data.appt_call');
  final dataAvailableDate = jsonResponse.stringOf('data.available_date');
  final dataAverageSpending = jsonResponse.stringOf('data.average_spending');
  final dataBeBackDate = jsonResponse.stringOf('data.be_back_date');
  final dataBirthDate = jsonResponse.stringOf('data.birth_date');
  final dataBusiness = jsonResponse.stringOf('data.business');
  final dataCallDate = jsonResponse.stringOf('data.call_date');
  final dataCity = jsonResponse.stringOf('data.city');
  final dataCivility = jsonResponse.stringOf('data.civility');
  final dataCode = jsonResponse.stringOf('data.code');
  final dataCountry = jsonResponse.stringOf('data.country');
  final dataCsiDate = jsonResponse.stringOf('data.csi_date');
  final dataDeliveredById = jsonResponse.stringOf('data.delivered_by_id');
  final dataDeliveredDate = jsonResponse.stringOf('data.delivered_date');
  final dataDeliveryDate = jsonResponse.stringOf('data.delivery_date');
  final dataDivision = jsonResponse.stringOf('data.division');
  final dataEndServiceDate = jsonResponse.stringOf('data.end_service_date');
  final dataFirstName = jsonResponse.stringOf('data.first_name');
  final dataGas = jsonResponse.stringOf('data.gas');
  final dataGender = jsonResponse.intOf('data.gender');
  final dataInvoiced = jsonResponse.stringOf('data.invoiced');
  final dataLastName = jsonResponse.stringOf('data.last_name');
  final dataLastVisitDate = jsonResponse.stringOf('data.last_visit_date');
  final dataLocale = jsonResponse.stringOf('data.locale');
  final dataLoyalty = jsonResponse.stringOf('data.loyalty');
  final dataNextVisitDate = jsonResponse.stringOf('data.next_visit_date');
  final dataOdometerLastVisit = jsonResponse.stringOf('data.odometer_last_visit');
  final dataOpenWorkOrderDate = jsonResponse.stringOf('data.open_work_order_date');
  final dataPlannedPickUpDate = jsonResponse.stringOf('data.planned_pick_up_date');
  final dataPostalCode = jsonResponse.stringOf('data.postal_code');
  final dataPrepaid = jsonResponse.stringOf('data.prepaid');
  final dataPrepared = jsonResponse.stringOf('data.prepared');
  final dataPresentedDate = jsonResponse.stringOf('data.presented_date');
  final dataPromisedDate = jsonResponse.stringOf('data.promised_date');
  final dataProvince = jsonResponse.stringOf('data.province');
  final dataRating = jsonResponse.stringOf('data.rating');
  final dataReachedClient = jsonResponse.stringOf('data.reached_client');
  final dataRefinancedDate = jsonResponse.stringOf('data.refinanced_date');
  final dataRepairDate = jsonResponse.stringOf('data.repair_date');
  final dataRepairOrder = jsonResponse.stringOf('data.repair_order');
  final dataResult = jsonResponse.stringOf('data.result');
  final dataRoadTestDate = jsonResponse.stringOf('data.road_test_date');
  final dataSaleDate = jsonResponse.stringOf('data.sale_date');
  final dataSecondContact = jsonResponse.stringOf('data.second_contact');
  final dataSecondContactCivility = jsonResponse.stringOf('data.second_contact_civility');
  final dataSegment = jsonResponse.stringOf('data.segment');
  final dataServiceCleaned = jsonResponse.stringOf('data.service_cleaned');
  final dataServiceIntervalKm = jsonResponse.stringOf('data.service_interval_km');
  final dataServiceMonthlyKm = jsonResponse.stringOf('data.service_monthly_km');
  final dataSex = jsonResponse.stringOf('data.sex');
  final dataSource = jsonResponse.stringOf('data.source');
  final dataStatus = jsonResponse.stringOf('data.status');
  final dataStorage = jsonResponse.stringOf('data.storage');
  final dataTakeOverDate = jsonResponse.stringOf('data.take_over_date');
  final dataType = jsonResponse.stringOf('data.type');
  final dataUnsubscribeAllDate = jsonResponse.stringOf('data.unsubscribe_all_date');
  final dataUnsubscribeCallDate = jsonResponse.stringOf('data.unsubscribe_call_date');
  final dataUnsubscribeEmailDate = jsonResponse.stringOf('data.unsubscribe_email_date');
  final dataUnsubscribeSmsDate = jsonResponse.stringOf('data.unsubscribe_sms_date');
  final dataWorkOrder = jsonResponse.stringOf('data.work_order');
  dataAccountId = jsonResponse.intOf('data.account.id');
  final dataAccountCreatedAt = jsonResponse.stringOf('data.account.created_at');
  final dataAccountUpdatedAt = jsonResponse.stringOf('data.account.updated_at');
  final dataAccountPartnerId = jsonResponse.intOf('data.account.partner_id');
  final dataAccountActivationDate = jsonResponse.stringOf('data.account.activation_date');
  final dataAccountDefaultDeliverymanUserId = jsonResponse.stringOf('data.account.default_deliveryman_user_id');
  final dataAccountLeadxpressOptionPriority = jsonResponse.intOf('data.account.leadxpress_option.priority');
  final dataAccountLeadxpressOptionReminderFrequency = jsonResponse.intOf('data.account.leadxpress_option.reminder.frequency');
  final dataAccountLeadxpressOptionReminderRecurrence = jsonResponse.intOf('data.account.leadxpress_option.reminder.recurrence');
  final dataAccountLogo = jsonResponse.stringOf('data.account.logo');
  final dataAccountLogoEn = jsonResponse.stringOf('data.account.logo_en');
  final dataAccountMergeRule = jsonResponse.stringOf('data.account.merge_rule');
  final dataAccountMonthStartDay = jsonResponse.intOf('data.account.month_start_day');
  final dataAccountName = jsonResponse.stringOf('data.account.name');
  final dataAccountPhone = jsonResponse.stringOf('data.account.phone');
  final dataAccountWaitingSaleDate = jsonResponse.stringOf('data.account.waiting_sale_date');
  final dataAdvisor = jsonResponse.stringOf('data.advisor');
  final dataBdc = jsonResponse.stringOf('data.bdc');
  final dataCommercial = jsonResponse.stringOf('data.commercial');
  final dataServiceAdvisor = jsonResponse.stringOf('data.service_advisor');
  final dataServiceAgent = jsonResponse.stringOf('data.service_agent');
  i = 0;
  countI = jsonResponse.sizeOfArray('data.service_process');
  while (i < countI) {
    jsonResponse.i = i;
    i++;
  }

  i = 0;
  countI = jsonResponse.sizeOfArray('data.emails');
  while (i < countI) {
    jsonResponse.i = i;
    id = jsonResponse.intOf('data.emails[i].id');
    createdAt = jsonResponse.stringOf('data.emails[i].created_at');
    updatedAt = jsonResponse.stringOf('data.emails[i].updated_at');
    leadId = jsonResponse.intOf('data.emails[i].lead_id');
    address = jsonResponse.stringOf('data.emails[i].address');
    vType = jsonResponse.stringOf('data.emails[i].type');
    jsonResponse.boolOf('data.emails[i].valid');
    i++;
  }

  i = 0;
  countI = jsonResponse.sizeOfArray('data.phones');
  while (i < countI) {
    jsonResponse.i = i;
    id = jsonResponse.intOf('data.phones[i].id');
    createdAt = jsonResponse.stringOf('data.phones[i].created_at');
    updatedAt = jsonResponse.stringOf('data.phones[i].updated_at');
    leadId = jsonResponse.intOf('data.phones[i].lead_id');
    extensionVar = jsonResponse.stringOf('data.phones[i].extension');
    number = jsonResponse.stringOf('data.phones[i].number');
    vType = jsonResponse.stringOf('data.phones[i].type');
    jsonResponse.boolOf('data.phones[i].valid');
    jsonResponse.boolOf('data.phones[i].validated');
    jsonResponse.boolOf('data.phones[i].mobile');
    i++;
  }

  i = 0;
  countI = jsonResponse.sizeOfArray('data.vehicles');
  while (i < countI) {
    jsonResponse.i = i;
    id = jsonResponse.intOf('data.vehicles[i].id');
    createdAt = jsonResponse.stringOf('data.vehicles[i].created_at');
    updatedAt = jsonResponse.stringOf('data.vehicles[i].updated_at');
    leadId = jsonResponse.intOf('data.vehicles[i].lead_id');
    accessories = jsonResponse.stringOf('data.vehicles[i].accessories');
    allowedOdometer = jsonResponse.stringOf('data.vehicles[i].allowed_odometer');
    balance = jsonResponse.intOf('data.vehicles[i].balance');
    budgetMax = jsonResponse.stringOf('data.vehicles[i].budget_max');
    budgetMin = jsonResponse.stringOf('data.vehicles[i].budget_min');
    cashDown = jsonResponse.stringOf('data.vehicles[i].cash_down');
    category = jsonResponse.stringOf('data.vehicles[i].category');
    categoryRv = jsonResponse.stringOf('data.vehicles[i].category_rv');
    clientNumber = jsonResponse.stringOf('data.vehicles[i].client_number');
    colorExterior = jsonResponse.stringOf('data.vehicles[i].color_exterior');
    colorInterior = jsonResponse.stringOf('data.vehicles[i].color_interior');
    comment = jsonResponse.stringOf('data.vehicles[i].comment');
    condition = jsonResponse.stringOf('data.vehicles[i].condition');
    endContractDate = jsonResponse.stringOf('data.vehicles[i].end_contract_date');
    endWarrantyDate = jsonResponse.stringOf('data.vehicles[i].end_warranty_date');
    engine = jsonResponse.stringOf('data.vehicles[i].engine');
    extendedWarranty = jsonResponse.stringOf('data.vehicles[i].extended_warranty');
    fuel = jsonResponse.stringOf('data.vehicles[i].fuel');
    lengthMax = jsonResponse.stringOf('data.vehicles[i].length_max');
    lengthMin = jsonResponse.stringOf('data.vehicles[i].length_min');
    licensePlate = jsonResponse.stringOf('data.vehicles[i].license_plate');
    make = jsonResponse.stringOf('data.vehicles[i].make');
    modality = jsonResponse.stringOf('data.vehicles[i].modality');
    model = jsonResponse.stringOf('data.vehicles[i].model');
    odometer = jsonResponse.stringOf('data.vehicles[i].odometer');
    offerNumber = jsonResponse.stringOf('data.vehicles[i].offer_number');
    vOption = jsonResponse.stringOf('data.vehicles[i].option');
    orderNumber = jsonResponse.stringOf('data.vehicles[i].order_number');
    payment = jsonResponse.stringOf('data.vehicles[i].payment');
    paymentFrequency = jsonResponse.stringOf('data.vehicles[i].payment_frequency');
    preparation = jsonResponse.stringOf('data.vehicles[i].preparation');
    price = jsonResponse.stringOf('data.vehicles[i].price');
    profit = jsonResponse.stringOf('data.vehicles[i].profit');
    purchaseDate = jsonResponse.stringOf('data.vehicles[i].purchase_date');
    rate = jsonResponse.stringOf('data.vehicles[i].rate');
    recall = jsonResponse.stringOf('data.vehicles[i].recall');
    recordedDate = jsonResponse.stringOf('data.vehicles[i].recorded_date');
    residual = jsonResponse.stringOf('data.vehicles[i].residual');
    securityDeposit = jsonResponse.stringOf('data.vehicles[i].security_deposit');
    sleeping = jsonResponse.stringOf('data.vehicles[i].sleeping');
    jsonResponse.boolOf('data.vehicles[i].sold');
    soldBy = jsonResponse.stringOf('data.vehicles[i].sold_by');
    soldDate = jsonResponse.stringOf('data.vehicles[i].sold_date');
    stock = jsonResponse.stringOf('data.vehicles[i].stock');
    stockState = jsonResponse.stringOf('data.vehicles[i].stock_state');
    term = jsonResponse.stringOf('data.vehicles[i].term');
    jsonResponse.boolOf('data.vehicles[i].tire');
    transmission = jsonResponse.stringOf('data.vehicles[i].transmission');
    trim = jsonResponse.stringOf('data.vehicles[i].trim');
    vType = jsonResponse.stringOf('data.vehicles[i].type');
    url = jsonResponse.stringOf('data.vehicles[i].url');
    value = jsonResponse.stringOf('data.vehicles[i].value');
    vin = jsonResponse.stringOf('data.vehicles[i].vin');
    warranty = jsonResponse.stringOf('data.vehicles[i].warranty');
    weight = jsonResponse.stringOf('data.vehicles[i].weight');
    year = jsonResponse.stringOf('data.vehicles[i].year');
    yearMax = jsonResponse.stringOf('data.vehicles[i].year_max');
    yearMin = jsonResponse.stringOf('data.vehicles[i].year_min');
    i++;
  }

  i = 0;
  countI = jsonResponse.sizeOfArray('data.related_ids');
  while (i < countI) {
    jsonResponse.i = i;
    i++;
  }
}