Overview

Namespaces

  • Ctct
    • Auth
    • Components
      • Account
      • Activities
      • Contacts
      • EmailMarketing
      • Tracking
    • Exceptions
    • Services
  • PHP

Classes

  • AccountService
  • ActivityService
  • BaseService
  • CampaignScheduleService
  • CampaignTrackingService
  • ContactService
  • ContactTrackingService
  • EmailMarketingService
  • ListService
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: namespace Ctct\Services;
  3: 
  4: use Ctct\Util\RestClient;
  5: use Ctct\Util\Config;
  6: use Ctct\Components\EmailMarketing\Schedule;
  7: use Ctct\Components\EmailMarketing\TestSend;
  8: use Ctct\Components\Activities\Activity;
  9: use Ctct\Components\Activities\AddContacts;
 10: use Ctct\Components\Activities\RemoveFromLists;
 11: use Ctct\Components\Activities\ExportContacts;
 12: use Ctct\Components\Activities\ClearLists;
 13: 
 14: /**
 15:  * Performs all actions pertaining to scheduling Constant Contact Activities
 16:  *
 17:  * @package     Services
 18:  * @author         Constant Contact
 19:  */
 20: class ActivityService extends BaseService
 21: {
 22: 
 23:     /**
 24:      * Get an array of activities
 25:      * @param string $accessToken - Constant Contact OAuth2 access token
 26:      * @return array - Array of all ActivitySummaryReports
 27:      */
 28:     public function getActivities($accessToken)
 29:     {
 30:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.activities');
 31:         $url = $this->buildUrl($baseUrl);
 32:         $response = parent::getRestClient()->get($url, parent::getHeaders($accessToken));
 33:         $jsonResponse = json_decode($response->body, true);
 34:         $activities = array();
 35: 
 36:         foreach ($jsonResponse as $activity) {
 37:             $activities[] = Activity::create($activity);
 38:         }
 39:         return $activities;
 40:     }
 41: 
 42:     /**
 43:     * Get an array of activities
 44:     * @param string $accessToken - Constant Contact OAuth2 access token
 45:     * @param string $activityId - Activity id
 46:     * @return array - Array of all ActivitySummaryReports
 47:     */
 48:     public function getActivity($accessToken, $activityId)
 49:     {
 50:         $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.activity'), $activityId);
 51:         $url = $this->buildUrl($baseUrl);
 52:         $response = parent::getRestClient()->get($url, parent::getHeaders($accessToken));
 53:         return Activity::create(json_decode($response->body, true));
 54:     }
 55: 
 56:     /**
 57:     * Create an Add Contacts Activity
 58:     * @param string $accessToken - Constant Contact OAuth2 access token
 59:     * @param AddContacts $addContact
 60:     * @return array - Array of all ActivitySummaryReports
 61:     */
 62:     public function createAddContactsActivity($accessToken, AddContacts $addContacts)
 63:     {
 64:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.add_contacts_activity');
 65:         $url = $this->buildUrl($baseUrl);
 66:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), $addContacts->toJson());
 67:         return Activity::create(json_decode($response->body, true));
 68:     }
 69: 
 70:     /**
 71:     * Create a Clear Lists Activity
 72:     * @param string $accessToken - Constant Contact OAuth2 access token
 73:     * @param array $clearLists - Array of list id's to be cleared
 74:     * @return array - Array of all ActivitySummaryReports
 75:     */
 76:     public function addClearListsActivity($accessToken, Array $lists)
 77:     {
 78:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.clear_lists_activity');
 79:         $url = $this->buildUrl($baseUrl);
 80:         $payload = array('lists' => $lists);
 81:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), json_encode($payload));
 82:         return Activity::create(json_decode($response->body, true));
 83:     }
 84: 
 85:     /**
 86:     * Create an Export Contacts Activity
 87:     * @param string $accessToken - Constant Contact OAuth2 access token
 88:     * @param ExportContacts $exportContacts
 89:     * @return array - Array of all ActivitySummaryReports
 90:     */
 91:     public function addExportContactsActivity($accessToken, ExportContacts $exportContacts)
 92:     {
 93:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.export_contacts_activity');
 94:         $url = $this->buildUrl($baseUrl);
 95:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), json_encode($exportContacts));
 96:         return Activity::create(json_decode($response->body, true));
 97:     }
 98: 
 99:     /**
100:     * Create a Remove Contacts From Lists Activity
101:     * @param string $accessToken - Constant Contact OAuth2 access token
102:     * @param RemoveFromLists $removeFromLists
103:     * @return array - Array of all ActivitySummaryReports
104:     */
105:     public function addRemoveContactsFromListsActivity($accessToken, Array $emailAddresses, Array $lists)
106:     {
107:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.remove_from_lists_activity');
108:         $url = $this->buildUrl($baseUrl);
109:         $payload = array(
110:             'import_data'    => array(),
111:             'lists'          => $lists
112:         );
113: 
114:         foreach ($emailAddresses as $emailAddress) {
115:             $payload['import_data'][] = array('email_addresses' => array($emailAddress));
116:         }
117: 
118:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), json_encode($payload));
119:         return Activity::create(json_decode($response->body, true));
120:     }
121: }
122: 
Appconnect PHP SDK API documentation generated by ApiGen 2.8.0