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