Sample code for 30+ languages & platforms
Lua

Constant Contact - Get Contact by Email Address

See more Constant Contact Examples

Get the contact details for a given email address.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local http = chilkat.Http.new()

-- Implements the following CURL command:

-- curl -X GET \
--   'https://api.cc.email/v3/contacts?email=new_contact_email&status=all' \
--   -H 'Accept: application/json' \
--   -H 'Authorization: Bearer ACCESS_TOKEN' \
--   -H 'Content-Type: application/json' \
--   -H 'Postman-Token: 98980ee6-b99f-41a9-9a7a-3b5651d2ea7f' \
--   -H 'cache-control: no-cache'

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

http:set_request_header("Accept", "application/json")
-- Adds the "Authorization: Bearer ACCESS_TOKEN" header.
http.auth_token = "ACCESS_TOKEN"
http:set_request_header("Postman-Token", "98980ee6-b99f-41a9-9a7a-3b5651d2ea7f")
http:set_request_header("Content-Type", "application/json")
http:set_request_header("cache-control", "no-cache")

local sbResponseBody = chilkat.StringBuilder.new()
local success = http:quick_get_sb("https://api.cc.email/v3/contacts?email=danipper@example.com&status=all", sbResponseBody)
if not success then
    print(http.last_error_text)
    return
end

local jResp = chilkat.JsonObject.new()
jResp:load_sb(sbResponseBody)
jResp.emit_compact = false

print("Response Body:")
print(jResp:emit())

local respStatusCode = http.last_status
print("Response Status Code = " .. respStatusCode)
if respStatusCode >= 400 then
    print("Response Header:")
    print(http.last_header)
    print("Failed.")
    return
end

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

-- {
--   "contacts": [
--     {
--       "contact_id": "8207fa8e-13dd-11eb-8a66-fa163e37306a",
--       "email_address": {
--         "address": "danipper@example.com",
--         "permission_to_send": "implicit",
--         "created_at": "2020-10-21T20:39:25Z",
--         "updated_at": "2020-10-21T20:39:25Z",
--         "opt_in_source": "Account",
--         "opt_in_date": "2020-10-21T20:39:25Z",
--         "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": "2020-10-21T20:39:25Z",
--       "updated_at": "2020-10-21T20:39:25Z"
--     }
--   ]
-- }

-- 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 contact_id = ""
local email_addressAddress = ""
local email_addressPermission_to_send = ""
local email_addressCreated_at = ""
local email_addressUpdated_at = ""
local email_addressOpt_in_source = ""
local email_addressOpt_in_date = ""
local email_addressConfirm_status = ""
local first_name = ""
local last_name = ""
local job_title = ""
local company_name = ""
local birthday_month = 0
local birthday_day = 0
local anniversary = ""
local create_source = ""
local created_at = ""
local updated_at = ""

local i = 0
local count_i = jResp:size_of_array("contacts")
while i < count_i do
    jResp.i = i
    contact_id = jResp:string_of("contacts[i].contact_id")
    email_addressAddress = jResp:string_of("contacts[i].email_address.address")
    email_addressPermission_to_send = jResp:string_of("contacts[i].email_address.permission_to_send")
    email_addressCreated_at = jResp:string_of("contacts[i].email_address.created_at")
    email_addressUpdated_at = jResp:string_of("contacts[i].email_address.updated_at")
    email_addressOpt_in_source = jResp:string_of("contacts[i].email_address.opt_in_source")
    email_addressOpt_in_date = jResp:string_of("contacts[i].email_address.opt_in_date")
    email_addressConfirm_status = jResp:string_of("contacts[i].email_address.confirm_status")
    first_name = jResp:string_of("contacts[i].first_name")
    last_name = jResp:string_of("contacts[i].last_name")
    job_title = jResp:string_of("contacts[i].job_title")
    company_name = jResp:string_of("contacts[i].company_name")
    birthday_month = jResp:int_of("contacts[i].birthday_month")
    birthday_day = jResp:int_of("contacts[i].birthday_day")
    anniversary = jResp:string_of("contacts[i].anniversary")
    create_source = jResp:string_of("contacts[i].create_source")
    created_at = jResp:string_of("contacts[i].created_at")
    updated_at = jResp:string_of("contacts[i].updated_at")
    i = i + 1
end