Sample code for 30+ languages & platforms
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

AutoIt
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")