AutoIt
AutoIt
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 AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("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"
; }
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("title","Owner")
$oHttp.SetRequestHeader "User-Agent","MyApp (yourname@example.com)"
$oHttp.SetRequestHeader "Content-Type","application/json"
$oHttp.SetRequestHeader "Authorization","Bearer ACCESS_TOKEN"
$oHttp.SetRequestHeader "Harvest-Account-Id","ACCOUNT_ID"
$oSbRequestBody = ObjCreate("Chilkat.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpSb("PATCH","https://api.harvestapp.com/v2/contacts/CONTACT_ID",$oSbRequestBody,"utf-8","application/json",$oResp)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)
$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False
ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)
Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
ConsoleWrite("Response Header:" & @CRLF)
ConsoleWrite($oResp.Header & @CRLF)
ConsoleWrite("Failed." & @CRLF)
Exit
EndIf
; 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
Local $id
Local $sTitle
Local $sFirst_name
Local $sLast_name
Local $sEmail
Local $sPhone_office
Local $sPhone_mobile
Local $sFax
Local $sCreated_at
Local $sUpdated_at
Local $iClientId
Local $sClientName
$id = $oJResp.IntOf("id")
$sTitle = $oJResp.StringOf("title")
$sFirst_name = $oJResp.StringOf("first_name")
$sLast_name = $oJResp.StringOf("last_name")
$sEmail = $oJResp.StringOf("email")
$sPhone_office = $oJResp.StringOf("phone_office")
$sPhone_mobile = $oJResp.StringOf("phone_mobile")
$sFax = $oJResp.StringOf("fax")
$sCreated_at = $oJResp.StringOf("created_at")
$sUpdated_at = $oJResp.StringOf("updated_at")
$iClientId = $oJResp.IntOf("client.id")
$sClientName = $oJResp.StringOf("client.name")