I'm integrating the Constant Contact API V3 and I'm able to add new contacts and update existing ones. I need to however, determine if they already exist so I can either add new or update the existing contact. At first I thought I could use the /contacts/sign_up_form
endpoint, but the syntax is slightly different between the /contacts
and /contacts/sign_up_form
. Hence why I need to determine beforehand to either update, or add new so I can use a different set of JSON data.
When I execute the following, all I get returned is a 1
no matter if they exist or not.
// check if email already exists
$encodedEmail = urlencode($ccEmail);
$url = 'https://api.cc.email/v3/contacts?status=all&email='.$encodedEmail.'&include_count=false';
$ch = curl_init();
$header = array();
$header[] = 'Accept: application/json';
$header[] = 'Authorization: Bearer '.$accessToken;
$header[] = 'Content-Type: application/json';
$header[] = 'Cache-Control: no-cache';
$header[] = 'Postman-Token: '.$APIkey;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
curl_close($ch);
According to their documentation, I should get either an empty array if they do NOT exist and an object with user data if they DO exist. See: https://v3.developer.constantcontact.com/api_guide/contacts_create.html
Not sure what I'm missing here. I'm refreshing the access token on every call, so I know it's not that, otherwise I would probably get an unauthorized error.
EDIT:
I took the curl request out and put it on a standalone page to try and isolate it. If I dump the request immediately after the curl_exec
function all of the data is there, but if I try to access it again, all that gets output is bool(true)
. Why is that happening?