Use this endpoint to retrieve (GET) contacts in the user's account, or to create (POST) a new contact.
Click a method to view its documentation
Privileges required
:
contacts:write
To create a new contact, the contact must have an email address and be assigned to a contact list. No other properties are required. Setting the
action_by
query parameter to ACTION_BY_VISITOR will trigger an Autoresponder message welcoming the new subscriber to your list. Learn more about
Autoresponder
.
There are several features of the new contact management system that are not currently supported in the API. Check here for the details.
Code Sample using the PHP SDK
$contact = new Contact();
$contact->addEmail($_POST['Email']);
$contact->addList("999999999");
$contact->first_name = $_POST['Name'];
$contact->company_name = $_POST['company_name'];
$contact->job_title = $_POST['Title'];
$contact->work_phone = $_POST['Phone'];
$state = $_POST['State'];
$contact->addAddress(Address::create( array("address_type"=>"BUSINESS","line1"=>$street,
"city"=>$city,"state"=>$state,"postal_code"=>$zip)));
#gem install constantcontact
require 'yaml'
require 'constantcontact'
class ContactExample
def initialize()
cnf = YAML::load(File.open('config/config.yml'))
@cc = ConstantContact::Api.new(cnf['api_key'], cnf['oauth_token'])
end
def add_contact( contact_json )
@cc.add_contact( contact_json )
end
def get_lists
@cc.get_lists()
end
end
class AddContactTest
def do()
contact_example = ContactExample.new
contact_list = contact_example.get_lists[0].id
puts "Add what email address?"
email_address = gets.chomp
puts "Adding #{email_address} to Contact List #{contact_list}"
list_to_add_to = ConstantContact::Components::ContactList.new
list_to_add_to.id = contact_list
new_contact = ConstantContact::Components::Contact.new
new_contact.add_email(ConstantContact::Components::EmailAddress.new(email_address))
new_contact.add_list(list_to_add_to)
new_contact.first_name = 'Example'
new_contact.last_name = 'User'
#input = "{ 'email_addresses':[{'email_address':'#{email_address}'}], 'lists':[{'id':'#{contact_list}'}], first_name':'Example', 'last_name':'User'}"
#puts input
puts new_contact.to_json
puts contact_example.add_contact( new_contact ).to_json
rescue RestClient::BadRequest => e
puts "#{e.http_code} - #{e.http_body}"
end
end
AddContactTest.new.do
|
POST: https://api.constantcontact.com/v2/contacts |
|||
|
name |
type |
default |
description |
|---|---|---|---|
|
action_by |
query |
ACTION_BY_OWNER |
Identifies who originated the action of adding the contact:
|
|
api_key |
query |
|
REQUIRED; The API key for the application |
{
"addresses": [
{
"address_type": "BUSINESS",
"city": "Belleville",
"country_code": "CA",
"line1": "47 Shawmut Ave.",
"line2": "Suite 404",
"postal_code": "K8b 5W6",
"state_code": "ON"
}
],
"lists": [
{
"id": "1"
}
],
"cell_phone": "555-555-5555",
"company_name": "System Optimzations",
"confirmed": false,
"email_addresses": [
{
"email_address": "username1@example.com"
}
],
"fax": "555-555-5555",
"first_name": "Ronald",
"home_phone": "555-555-5555",
"job_title": "Systems Analyst 3",
"last_name": "Martone",
"prefix_name": "Mr.",
"work_phone": "555-555-5555"
}
|
code |
description |
|---|---|
|
201 |
Contact was successfully created |
|
400 |
Either JSON was malformed or there was a data validation error |
|
401 |
Authentication failure |
|
406 |
Unsupported Accept Header value, must be application/json |
|
409 |
The email address provided is already in use |
|
415 |
Unsupported content-type in the header, use application/json |
|
500 |
Internal server error occurred |
|
property |
type (max length) |
description |
|---|
{
"id": "2123940120",
"status": "ACTIVE",
"fax": "555-555-5555",
"addresses": [
{
"id": "083d59b0-9b43-11e4-85a6-d4ae529a826e",
"line1": "47 Shawmut Ave.",
"line2": "Suite 404",
"city": "Belleville",
"address_type": "BUSINESS",
"state_code": "ON",
"state": "Ontario",
"country_code": "ca",
"postal_code": "K8bn",
"sub_postal_code": "5W6"
}
],
"notes": [],
"confirmed": false,
"lists": [
{
"id": "1805463771",
"status": "ACTIVE"
}
],
"source": "API",
"email_addresses": [
{
"id": "0830d690-9b43-11e4-85a6-d4ae529a826e",
"status": "ACTIVE",
"confirm_status": "NO_CONFIRMATION_REQUIRED",
"opt_in_source": "ACTION_BY_OWNER",
"opt_in_date": "2015-01-13T16:41:33.000Z",
"email_address": "username1@example.com"
}
],
"prefix_name": "Mr.",
"first_name": "Ronald",
"last_name": "Martone",
"job_title": "Systems Analyst 3",
"company_name": "System Optimzations",
"home_phone": "555-555-5555",
"work_phone": "555-555-5555",
"cell_phone": "555-555-5555",
"custom_fields": [],
"created_date": "2015-01-13T16:41:33.000Z",
"modified_date": "2015-01-13T16:41:33.000Z",
"source_details": "KeynoteTest"
}