Sample code for 30+ languages & platforms
.NET Core C#

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.

Chilkat .NET Core C# Downloads

.NET Core C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

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

Chilkat.JsonObject json = new Chilkat.JsonObject();
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");

Chilkat.StringBuilder sbRequestBody = new Chilkat.StringBuilder();
json.EmitSb(sbRequestBody);

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

Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
resp.GetBodySb(sbResponseBody);
Chilkat.JsonObject jResp = new Chilkat.JsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

Debug.WriteLine("Response Body:");
Debug.WriteLine(jResp.Emit());

int respStatusCode = resp.StatusCode;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode >= 400) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(resp.Header);
    Debug.WriteLine("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

int id;
string title;
string first_name;
string last_name;
string email;
string phone_office;
string phone_mobile;
string fax;
string created_at;
string updated_at;
int clientId;
string 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");