VBScript
VBScript
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 VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
set http = CreateObject("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"
' }
set json = CreateObject("Chilkat.JsonObject")
success = 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"
set sbRequestBody = CreateObject("Chilkat.StringBuilder")
success = json.EmitSb(sbRequestBody)
set resp = CreateObject("Chilkat.HttpResponse")
success = http.HttpSb("PATCH","https://api.harvestapp.com/v2/contacts/CONTACT_ID",sbRequestBody,"utf-8","application/json",resp)
If (success = 0) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If
set sbResponseBody = CreateObject("Chilkat.StringBuilder")
success = resp.GetBodySb(sbResponseBody)
set jResp = CreateObject("Chilkat.JsonObject")
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0
outFile.WriteLine("Response Body:")
outFile.WriteLine(jResp.Emit())
respStatusCode = resp.StatusCode
outFile.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
outFile.WriteLine("Response Header:")
outFile.WriteLine(resp.Header)
outFile.WriteLine("Failed.")
WScript.Quit
End If
' 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
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")
outFile.Close