Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// 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"
// }
let json = CkoJsonObject()!
json.updateInt(jsonPath: "client_id", value: 8282839)
json.updateString(jsonPath: "first_name", value: "George")
json.updateString(jsonPath: "last_name", value: "Frank")
json.updateString(jsonPath: "email", value: "georgefrank@example.com")
http.setRequestHeader(name: "User-Agent", value: "MyApp (yourname@example.com)")
http.setRequestHeader(name: "Content-Type", value: "application/json")
http.setRequestHeader(name: "Authorization", value: "Bearer ACCESS_TOKEN")
http.setRequestHeader(name: "Harvest-Account-Id", value: "ACCOUNT_ID")
let resp = CkoHttpResponse()!
success = http.httpJson(verb: "POST", url: "https://api.harvestapp.com/v2/contacts", json: json, contentType: "application/json", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
let sbResponseBody = CkoStringBuilder()!
resp.getBodySb(sb: sbResponseBody)
let jResp = CkoJsonObject()!
jResp.loadSb(sb: sbResponseBody)
jResp.emitCompact = false
print("Response Body:")
print("\(jResp.emit()!)")
var respStatusCode: Int = resp.statusCode.intValue
print("Response Status Code = \(respStatusCode)")
if respStatusCode >= 400 {
print("Response Header:")
print("\(resp.header!)")
print("Failed.")
return
}
// 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
var id: Int
var title: String?
var first_name: String?
var last_name: String?
var email: String?
var phone_office: String?
var phone_mobile: String?
var fax: String?
var created_at: String?
var updated_at: String?
var clientId: Int
var clientName: String?
id = jResp.int(of: "id").intValue
title = jResp.string(of: "title")
first_name = jResp.string(of: "first_name")
last_name = jResp.string(of: "last_name")
email = jResp.string(of: "email")
phone_office = jResp.string(of: "phone_office")
phone_mobile = jResp.string(of: "phone_mobile")
fax = jResp.string(of: "fax")
created_at = jResp.string(of: "created_at")
updated_at = jResp.string(of: "updated_at")
clientId = jResp.int(of: "client.id").intValue
clientName = jResp.string(of: "client.name")
}