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" }