Sample code for 30+ languages & platforms
JavaScript

GetHarvest - Update Contact

See more GetHarvest Examples

Updates the specific contact by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a contact object and a 200 OK response code if the call succeeded.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

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

var http = new CkHttp();

// Implements the following CURL command:

// curl "https://api.harvestapp.com/v2/contacts/CONTACT_ID" \
//   -H "Authorization: Bearer ACCESS_TOKEN" \
//   -H "Harvest-Account-Id: ACCOUNT_ID" \
//   -H "User-Agent: MyApp (yourname@example.com)" \
//   -X PATCH \
//   -H "Content-Type: application/json" \
//   -d '{"title":"Owner"}'

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

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

// {
//   "title": "Owner"
// }

var json = new CkJsonObject();
json.UpdateString("title","Owner");

http.SetRequestHeader("User-Agent","MyApp (yourname@example.com)");
http.SetRequestHeader("Content-Type","application/json");
http.SetRequestHeader("Authorization","Bearer ACCESS_TOKEN");
http.SetRequestHeader("Harvest-Account-Id","ACCOUNT_ID");

var sbRequestBody = new CkStringBuilder();
json.EmitSb(sbRequestBody);

var resp = new CkHttpResponse();
success = http.HttpSb("PATCH","https://api.harvestapp.com/v2/contacts/CONTACT_ID",sbRequestBody,"utf-8","application/json",resp);
if (success == false) {
    console.log(http.LastErrorText);
    return;
}

var sbResponseBody = new CkStringBuilder();
resp.GetBodySb(sbResponseBody);
var jResp = new CkJsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

console.log("Response Body:");
console.log(jResp.Emit());

var 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:

// {
//   "id": 4706510,
//   "title": "Owner",
//   "first_name": "George",
//   "last_name": "Frank",
//   "email": "georgefrank@example.com",
//   "phone_office": "",
//   "phone_mobile": "",
//   "fax": "",
//   "created_at": "2017-06-26T21:44:57Z",
//   "updated_at": "2017-06-26T21:46:48Z",
//   "client": {
//     "id": 5735776,
//     "name": "123 Industries"
//   }
// }

// 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 id;
var title;
var first_name;
var last_name;
var email;
var phone_office;
var phone_mobile;
var fax;
var created_at;
var updated_at;
var clientId;
var clientName;

id = jResp.IntOf("id");
title = jResp.StringOf("title");
first_name = jResp.StringOf("first_name");
last_name = jResp.StringOf("last_name");
email = jResp.StringOf("email");
phone_office = jResp.StringOf("phone_office");
phone_mobile = jResp.StringOf("phone_mobile");
fax = jResp.StringOf("fax");
created_at = jResp.StringOf("created_at");
updated_at = jResp.StringOf("updated_at");
clientId = jResp.IntOf("client.id");
clientName = jResp.StringOf("client.name");