Overview

Namespaces

  • Ctct
    • Auth
    • Components
      • Account
      • Activities
      • Contacts
      • EmailMarketing
      • Library
      • Tracking
    • Exceptions
    • Services
    • Util
    • WebHooks

Classes

  • Ctct\Auth\CtctOAuth2
  • Ctct\Auth\SessionDataStore
  • Ctct\Components\Account\AccountInfo
  • Ctct\Components\Account\VerifiedEmailAddress
  • Ctct\Components\Activities\Activity
  • Ctct\Components\Activities\ActivityError
  • Ctct\Components\Activities\AddContacts
  • Ctct\Components\Activities\AddContactsImportData
  • Ctct\Components\Activities\ExportContacts
  • Ctct\Components\Component
  • Ctct\Components\Contacts\Address
  • Ctct\Components\Contacts\Contact
  • Ctct\Components\Contacts\ContactList
  • Ctct\Components\Contacts\CustomField
  • Ctct\Components\Contacts\EmailAddress
  • Ctct\Components\Contacts\Note
  • Ctct\Components\EmailMarketing\Campaign
  • Ctct\Components\EmailMarketing\ClickThroughDetails
  • Ctct\Components\EmailMarketing\MessageFooter
  • Ctct\Components\EmailMarketing\Schedule
  • Ctct\Components\EmailMarketing\TestSend
  • Ctct\Components\Library\File
  • Ctct\Components\Library\FileUploadStatus
  • Ctct\Components\Library\Folder
  • Ctct\Components\Library\Thumbnail
  • Ctct\Components\ResultSet
  • Ctct\Components\Tracking\BounceActivity
  • Ctct\Components\Tracking\ClickActivity
  • Ctct\Components\Tracking\ForwardActivity
  • Ctct\Components\Tracking\OpenActivity
  • Ctct\Components\Tracking\SendActivity
  • Ctct\Components\Tracking\TrackingActivity
  • Ctct\Components\Tracking\TrackingSummary
  • Ctct\Components\Tracking\UnsubscribeActivity
  • Ctct\ConstantContact
  • Ctct\Services\AccountService
  • Ctct\Services\ActivityService
  • Ctct\Services\BaseService
  • Ctct\Services\CampaignScheduleService
  • Ctct\Services\CampaignTrackingService
  • Ctct\Services\ContactService
  • Ctct\Services\ContactTrackingService
  • Ctct\Services\EmailMarketingService
  • Ctct\Services\LibraryService
  • Ctct\Services\ListService
  • Ctct\SplClassLoader
  • Ctct\Util\Config
  • Ctct\WebHooks\CTCTWebhookUtil

Interfaces

  • Ctct\Auth\CtctDataStore

Exceptions

  • Ctct\Exceptions\CtctException
  • Ctct\Exceptions\IllegalArgumentException
  • Ctct\Exceptions\OAuth2Exception
  • Overview
  • Namespace
  • Class
  1: <?php
  2: namespace Ctct\Services;
  3: 
  4: use Ctct\Exceptions\CtctException;
  5: use Ctct\Util\Config;
  6: use Ctct\Components\Account\VerifiedEmailAddress;
  7: use Ctct\Components\Account\AccountInfo;
  8: use GuzzleHttp\Exception\ClientException;
  9: use GuzzleHttp\Stream\Stream;
 10: 
 11: /**
 12:  * Performs all actions pertaining to scheduling Constant Contact Account's
 13:  *
 14:  * @package Services
 15:  * @author Constant Contact
 16:  */
 17: class AccountService extends BaseService
 18: {
 19:     /**
 20:      * Get all verified email addresses associated with an account
 21:      * @param string $accessToken - Constant Contact OAuth2 Access Token
 22:      * @param array $params - associative array of query parameters and values to append to the request.
 23:      *      Allowed parameters include:
 24:      *      status - Status to filter results by. Must be one of ALL, CONFIRMED, or UNCONFIRMED.
 25:      * @return array of VerifiedEmailAddress
 26:      * @throws CtctException
 27:      */
 28:     public function getVerifiedEmailAddresses($accessToken, Array $params = array())
 29:     {
 30:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.account_verified_addresses');
 31: 
 32:         $request = parent::createBaseRequest($accessToken, 'GET', $baseUrl);
 33:         if ($params) {
 34:             $query = $request->getQuery();
 35:             foreach ($params as $name => $value) {
 36:                 $query->add($name, $value);
 37:             }
 38:         }
 39: 
 40:         try {
 41:             $response = parent::getClient()->send($request);
 42:         } catch (ClientException $e) {
 43:             throw parent::convertException($e);
 44:         }
 45: 
 46:         $verifiedAddresses = array();
 47:         foreach ($response->json() as $verifiedAddress) {
 48:             $verifiedAddresses[] = VerifiedEmailAddress::create($verifiedAddress);
 49:         }
 50: 
 51:         return $verifiedAddresses;
 52:     }
 53: 
 54:     /**
 55:      * Create a new verified email address. This will also prompt the account to send
 56:      * a verification email to the address.
 57:      * @param string $accessToken - Constant Contact OAuth2 Access Token
 58:      * @param string $emailAddress - email address to create
 59:      * @return array - array of VerifiedEmailAddress created
 60:      * @throws CtctException
 61:      */
 62:     public function createVerifiedEmailAddress($accessToken, $emailAddress)
 63:     {
 64:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.account_verified_addresses');
 65: 
 66:         $request = parent::createBaseRequest($accessToken, 'POST', $baseUrl);
 67:         $stream = Stream::factory(json_encode(array(array("email_address" => $emailAddress))));
 68:         $request->setBody($stream);
 69: 
 70:         try {
 71:             $response = parent::getClient()->send($request);
 72:         } catch (ClientException $e) {
 73:             throw parent::convertException($e);
 74:         }
 75: 
 76:         $verifiedAddresses = array();
 77:         foreach ($response->json() as $verifiedAddress) {
 78:             $verifiedAddresses[] = VerifiedEmailAddress::create($verifiedAddress);
 79:         }
 80: 
 81:         return $verifiedAddresses;
 82:     }
 83: 
 84:     /**
 85:      * Get account info associated with an access token
 86:      * @param string $accessToken - Constant Contact OAuth2 Access Token
 87:      * @return AccountInfo
 88:      * @throws CtctException
 89:      */
 90:     public function getAccountInfo($accessToken)
 91:     {
 92:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.account_info');
 93: 
 94:         $request = parent::createBaseRequest($accessToken, 'GET', $baseUrl);
 95: 
 96:         try {
 97:             $response = parent::getClient()->send($request);
 98:         } catch (ClientException $e) {
 99:             throw parent::convertException($e);
100:         }
101: 
102:         return AccountInfo::create($response->json());
103:     }
104: 
105:     /**
106:      * Update information of the account.
107:      * @param string $accessToken - Constant Contact OAuth2 Access Token
108:      * @param AccountInfo $accountInfo - Updated AccountInfo
109:      * @return AccountInfo
110:      * @throws CtctException
111:      */
112:     public function updateAccountInfo($accessToken, AccountInfo $accountInfo)
113:     {
114:         $baseUrl = Config::get('endpoints.base_url') . Config::get('endpoints.account_info');
115: 
116:         $request = parent::createBaseRequest($accessToken, 'PUT', $baseUrl);
117:         $stream = Stream::factory(json_encode($accountInfo));
118:         $request->setBody($stream);
119: 
120:         try {
121:             $response = parent::getClient()->send($request);
122:         } catch (ClientException $e) {
123:             throw parent::convertException($e);
124:         }
125: 
126:         return AccountInfo::create($response->json());
127:     }
128: }
129: 
API documentation generated by ApiGen