AutoIt
AutoIt
GetHarvest - Create Contact
See more GetHarvest Examples
Creates a new contact object. Returns a contact object and a 201 Created 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" \
; -H "Authorization: Bearer ACCESS_TOKEN" \
; -H "Harvest-Account-Id: ACCOUNT_ID" \
; -H "User-Agent: MyApp (yourname@example.com)" \
; -X POST \
; -H "Content-Type: application/json" \
; -d '{"client_id":8282839,"first_name":"George","last_name":"Frank","email":"georgefrank@example.com"}'
; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "client_id": 8282839,
; "first_name": "George",
; "last_name": "Frank",
; "email": "georgefrank@example.com"
; }
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateInt("client_id",8282839)
$oJson.UpdateString("first_name","George")
$oJson.UpdateString("last_name","Frank")
$oJson.UpdateString("email","georgefrank@example.com")
$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"
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://api.harvestapp.com/v2/contacts",$oJson,"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": null,
; "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:44:57Z",
; "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")