Sample code for 30+ languages & platforms
B4X

Constant Contact: Create a Contact

See more Constant Contact Examples

Creates a single contact.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Implements the following CURL command:

'  curl -X POST \
'    https://api.cc.email/v3/contacts \
'    -H 'accept: application/json' \
'    -H 'authorization: Bearer {access_token}' \
'    -H 'cache-control: no-cache' \
'    -H 'content-type: application/json' \
'    -d '{
'    "email_address": {
'      "address": "danipper@example.com",
'      "permission_to_send": "implicit"
'    },
'    "first_name": "David",
'    "last_name": "Nipper",
'    "job_title": "Musician",
'    "company_name": "Acme Corp.",
'    "create_source": "Account",
'    "birthday_month": 11,
'    "birthday_day": 24,
'    "anniversary": "2006-11-15",
'    "steet_addresses":{
'      "kind":"home",
'      "street": "123 Kashmir Valley Road",
'      "city": "Chicago",
'      "state": "Illinois",
'      "country": "United States",
'    }
'  }'

'  Use the following online tool to generate HTTP code from a CURL command
'  Convert a cURL Command to HTTP Source Code

'  Use this online tool to generate code from sample JSON:
'  Generate Code to Create JSON

'  The following JSON is sent in the request body.

'  {
'    "email_address": {
'      "address": "danipper@example.com",
'      "permission_to_send": "implicit"
'    },
'    "first_name": "David",
'    "last_name": "Nipper",
'    "job_title": "Musician",
'    "company_name": "Acme Corp.",
'    "create_source": "Account",
'    "birthday_month": 11,
'    "birthday_day": 24,
'    "anniversary": "2006-11-15",
'    "steet_addresses": {
'      "kind": "home",
'      "street": "123 Kashmir Valley Road",
'      "city": "Chicago",
'      "state": "Illinois",
'      "country": "United States"
'    }
'  }

Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("email_address.address", "danipper@example.com")
json.UpdateString("email_address.permission_to_send", "implicit")
json.UpdateString("first_name", "David")
json.UpdateString("last_name", "Nipper")
json.UpdateString("job_title", "Musician")
json.UpdateString("company_name", "Acme Corp.")
json.UpdateString("create_source", "Account")
json.UpdateInt("birthday_month", 11)
json.UpdateInt("birthday_day", 24)
json.UpdateString("anniversary", "2006-11-15")
json.UpdateString("steet_addresses.kind", "home")
json.UpdateString("steet_addresses.street", "123 Kashmir Valley Road")
json.UpdateString("steet_addresses.city", "Chicago")
json.UpdateString("steet_addresses.state", "Illinois")
json.UpdateString("steet_addresses.country", "United States")

http.SetRequestHeader("content-type", "application/json")
'  Adds the "Authorization: Bearer ACCESS_TOKEN" header.
http.AuthToken = "ACCESS_TOKEN"
http.SetRequestHeader("cache-control", "no-cache")
http.SetRequestHeader("accept", "application/json")

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpJson("POST", "https://api.cc.email/v3/contacts", json, "application/json", resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
resp.GetBodySb(sbResponseBody)
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = resp.StatusCode
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(resp.Header)
    Log("Failed.")
    Return
End If


'  Sample JSON response:
'  (Sample code for parsing the JSON response is shown below)

'  {
'    "contact_id": "{contact_id}",
'    "email_address": {
'      "address": "danipper@example.com",
'      "permission_to_send": "implicit",
'      "created_at": "2018-02-23T13:38:28-05:00",
'      "updated_at": "2018-02-23T13:38:28-05:00",
'      "opt_in_source": "Account",
'      "opt_in_date": "2018-02-23T13:38:28-05:00",
'      "confirm_status": "off"
'    },
'    "first_name": "David",
'    "last_name": "Nipper",
'    "job_title": "Musician",
'    "company_name": "Acme Corp.",
'    "birthday_month": 11,
'    "birthday_day": 24,
'    "anniversary": "2006-11-15",
'    "create_source": "Account",
'    "created_at": "2018-02-23T13:38:28-05:00",
'    "updated_at": "2018-02-23T13:38:28-05:00"
'  }

'  Sample code for parsing the JSON response...
'  Use the following online tool to generate parsing code from sample JSON:
'  Generate Parsing Code from JSON



Dim contact_id As String = jResp.StringOf("contact_id")
Dim email_addressAddress As String = jResp.StringOf("email_address.address")
Dim email_addressPermission_to_send As String = jResp.StringOf("email_address.permission_to_send")
Dim email_addressCreated_at As String = jResp.StringOf("email_address.created_at")
Dim email_addressUpdated_at As String = jResp.StringOf("email_address.updated_at")
Dim email_addressOpt_in_source As String = jResp.StringOf("email_address.opt_in_source")
Dim email_addressOpt_in_date As String = jResp.StringOf("email_address.opt_in_date")
Dim email_addressConfirm_status As String = jResp.StringOf("email_address.confirm_status")
Dim first_name As String = jResp.StringOf("first_name")
Dim last_name As String = jResp.StringOf("last_name")
Dim job_title As String = jResp.StringOf("job_title")
Dim company_name As String = jResp.StringOf("company_name")
Dim birthday_month As Int = jResp.IntOf("birthday_month")
Dim birthday_day As Int = jResp.IntOf("birthday_day")
Dim anniversary As String = jResp.StringOf("anniversary")
Dim create_source As String = jResp.StringOf("create_source")
Dim created_at As String = jResp.StringOf("created_at")
Dim updated_at As String = jResp.StringOf("updated_at")