Sample code for 30+ languages & platforms
B4X

Constant Contact - Restore a Deleted Contact

See more Constant Contact Examples

Restores a previously deleted contact with a given id.

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 PUT \
'    https://api.cc.email/v3/contacts/{contact_id} \
'    -H 'Accept: application/json' \
'    -H 'Authorization: Bearer {access_token}' \
'    -H 'Cache-Control: no-cache' \
'    -H 'Content-Type: application/json' \
'    -d '{
'  
'      "first_name": "John",
'      "last_name": "Byrd",
'      "email_address": {
'          "address": "example@example.com",
'          "permission_to_send": "explicit"
'        },
'      "update_source": "Contact",
'      "list_memberships":["{list_id1}","{list_id2}"]
'  }'

'  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.

'  {
'    "first_name": "John",
'    "last_name": "Byrd",
'    "email_address": {
'      "address": "example@example.com",
'      "permission_to_send": "explicit"
'    },
'    "update_source": "Contact",
'    "list_memberships": [
'      "{list_id1}",
'      "{list_id2}"
'    ]
'  }

Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("first_name", "John")
json.UpdateString("last_name", "Byrd")
json.UpdateString("email_address.address", "example@example.com")
json.UpdateString("email_address.permission_to_send", "explicit")
json.UpdateString("update_source", "Contact")
json.UpdateString("list_memberships[0]", "{list_id1}")
json.UpdateString("list_memberships[1]", "{list_id2}")

'  Adds the "Authorization: Bearer ACCESS_TOKEN" header.
http.AuthToken = "ACCESS_TOKEN"
http.SetRequestHeader("Accept", "application/json")
http.SetRequestHeader("Content-Type", "application/json")
http.SetRequestHeader("Cache-Control", "no-cache")

Dim sbRequestBody As ChilkatStringBuilder
sbRequestBody.Initialize
json.EmitSb(sbRequestBody)

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpSb("PUT", "https://api.cc.email/v3/contacts/{contact_id}", sbRequestBody, "utf-8", "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}",
'    "first_name": "John",
'    "last_name": "Byrd",
'    "update_source": "Contact",
'    "create_source": "Account",
'    "created_at": "2013-04-01T15:07:07-04:00",
'    "updated_at": "2018-02-20T16:47:40-05:00",
'    "email_address": {
'      "address": "example@example.com",
'      "permission_to_send": "implicit",
'      "created_at": "2013-04-01T15:07:07-04:00",
'      "updated_at": "2018-02-20T16:47:40-05:00",
'      "opt_in_source": "Account",
'      "opt_in_date": "2015-03-17T11:13:28-04:00",
'      "confirm_status": "off"
'    }
'  }

'  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 first_name As String = jResp.StringOf("first_name")
Dim last_name As String = jResp.StringOf("last_name")
Dim update_source As String = jResp.StringOf("update_source")
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")
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")