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 ConstantContact
 19:  */
 20: class ActivityService extends BaseService
 21: {
 22:     /**
 23:      * Get an array of activities
 24:      * @param string $accessToken - Constant Contact OAuth2 access token
 25:      * @return array - Array of all ActivitySummaryReports
 26:      */
 27:     public function getActivities($accessToken)
 28:     {
 29:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.activities');
 30:         $url = $this->buildUrl($baseUrl);
 31:         $response = parent::getRestClient()->get($url, parent::getHeaders($accessToken));
 32:         $jsonResponse = json_decode($response->body, true);
 33:         $activities = array();
 34: 
 35:         foreach ($jsonResponse as $activity) {
 36:             $activities[] = Activity::create($activity);
 37:         }
 38:         return $activities;
 39:     }
 40: 
 41:     /**
 42:     * Get an array of activities
 43:     * @param string $accessToken - Constant Contact OAuth2 access token
 44:     * @param string $activityId - Activity id
 45:     * @return array - Array of all ActivitySummaryReports
 46:     */
 47:     public function getActivity($accessToken, $activityId)
 48:     {
 49:         $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.activity'), $activityId);
 50:         $url = $this->buildUrl($baseUrl);
 51:         $response = parent::getRestClient()->get($url, parent::getHeaders($accessToken));
 52:         return Activity::create(json_decode($response->body, true));
 53:     }
 54: 
 55:     /**
 56:     * Create an Add Contacts Activity
 57:     * @param string $accessToken - Constant Contact OAuth2 access token
 58:     * @param AddContacts $addContact
 59:     * @return array - Array of all ActivitySummaryReports
 60:     */
 61:     public function createAddContactsActivity($accessToken, AddContacts $addContacts)
 62:     {
 63:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.add_contacts_activity');
 64:         $url = $this->buildUrl($baseUrl);
 65:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), $addContacts->toJson());
 66:         return Activity::create(json_decode($response->body, true));
 67:     }
 68: 
 69:     /**
 70:     * Create a Clear Lists Activity
 71:     * @param string $accessToken - Constant Contact OAuth2 access token
 72:     * @param array $clearLists - Array of list id's to be cleared
 73:     * @return array - Array of all Activity
 74:     */
 75:     public function addClearListsActivity($accessToken, Array $lists)
 76:     {
 77:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.clear_lists_activity');
 78:         $url = $this->buildUrl($baseUrl);
 79:         $payload = array('lists' => $lists);
 80:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), json_encode($payload));
 81:         return Activity::create(json_decode($response->body, true));
 82:     }
 83: 
 84:     /**
 85:     * Create an Export Contacts Activity
 86:     * @param string $accessToken - Constant Contact OAuth2 access token
 87:     * @param ExportContacts $exportContacts
 88:     * @return array - Array of all ActivitySummaryReports
 89:     */
 90:     public function addExportContactsActivity($accessToken, ExportContacts $exportContacts)
 91:     {
 92:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.export_contacts_activity');
 93:         $url = $this->buildUrl($baseUrl);
 94:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), json_encode($exportContacts));
 95:         return Activity::create(json_decode($response->body, true));
 96:     }
 97: 
 98:     /**
 99:     * Create a Remove Contacts From Lists Activity
100:     * @param string $accessToken - Constant Contact OAuth2 access token
101:     * @param RemoveFromLists $removeFromLists
102:     * @return array - Array of all ActivitySummaryReports
103:     */
104:     public function addRemoveContactsFromListsActivity($accessToken, Array $emailAddresses, Array $lists)
105:     {
106:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.remove_from_lists_activity');
107:         $url = $this->buildUrl($baseUrl);
108:         $payload = array(
109:             'import_data'    => array(),
110:             'lists'          => $lists
111:         );
112: 
113:         foreach ($emailAddresses as $emailAddress) {
114:             $payload['import_data'][] = array('email_addresses' => array($emailAddress));
115:         }
116: 
117:         $response = parent::getRestClient()->post($url, parent::getHeaders($accessToken), json_encode($payload));
118:         return Activity::create(json_decode($response->body, true));
119:     }
120: }
121: 
Appconnect PHP SDK API documentation generated by ApiGen 2.8.0