/**
  * Retrieves the lists via GetResponse API and updates the data in DB.
  * @return string
  */
 function get_getresponse_lists($api_key, $name)
 {
     $lists = array();
     if (!function_exists('curl_init')) {
         return __('curl_init is not defined ', 'rapidology');
     }
     if (!class_exists('GetResponse')) {
         require_once RAD_RAPIDOLOGY_PLUGIN_DIR . 'subscription/getresponse/getresponseapi.class.php';
     }
     $api = new GetResponse($api_key);
     $campaigns = (array) $api->getCampaigns();
     if (!empty($campaigns)) {
         $error_message = 'success';
         foreach ($campaigns as $id => $details) {
             $lists[$id]['name'] = $details->name;
             $contacts = (array) $api->getContacts(array($id));
             $total_contacts = count($contacts);
             $lists[$id]['subscribers_count'] = $total_contacts;
             $lists[$id]['growth_week'] = $this->calculate_growth_rate('getresponse_' . $id);
         }
         $this->update_account('getresponse', $name, array('api_key' => esc_html($api_key), 'lists' => $lists, 'is_authorized' => esc_html('true')));
     } else {
         $error_message = __('Invalid API key or something went wrong during Authorization request', 'rapidology');
     }
     return $error_message;
 }
예제 #2
0
require_once 'GetResponseAPI.class.php';
$api = new GetResponse('YOUR_API_KEY');
// Connection Testing
$ping = $api->ping();
var_dump($ping);
// Account
$details = $api->getAccountInfo();
var_dump($details);
// Campaigns
$campaigns = (array) $api->getCampaigns();
$campaignIDs = array_keys($campaigns);
$campaign = $api->getCampaignByID($campaignIDs[0]);
var_dump($campaigns, $campaign);
// Contacts
$contacts = (array) $api->getContacts(null);
$contactIDs = array_keys($contacts);
$setName = $api->setContactName($contactIDs[0], 'John Smith');
$setCustoms = $api->setContactCustoms($contactIDs[0], array('title' => 'Mr', 'middle_name' => 'Fred'));
$customs = $api->getContactCustoms($contactIDs[0]);
$contact = $api->getContactByID($contactIDs[0]);
$geoIP = $api->getContactGeoIP($contactIDs[0]);
$opens = $api->getContactOpens($contactIDs[0]);
$clicks = $api->getContactClicks($contactIDs[0]);
// Find the contact ID by using email ID and delete the contact
$contactEmail = (array) $api->getContactsByEmail('EMAIL_ID');
$contactEmailID = array_keys($contactEmail);
$deleteResponse = $api->deleteContact($contactEmailID[0]);
var_dump($contacts, $setName, $setCustoms, $customs, $contact, $geoIP, $opens, $clicks);
// Blacklists
$addBlacklist = $api->addAccountBlacklist('*****@*****.**');