Properties

$configuration

$configuration : \ElasticEmailClient\ApiConfiguration

Type

\ElasticEmailClient\ApiConfiguration — ApiConfiguration

$httpClient

$httpClient : \GuzzleHttp\ClientInterface

Type

\GuzzleHttp\ClientInterface

Methods

__construct()

__construct(\ElasticEmailClient\ApiConfiguration  $apiConfiguration) 

Parameters

\ElasticEmailClient\ApiConfiguration $apiConfiguration

setHttpClient()

setHttpClient(  $client) 

Parameters

$client

getHttpClient()

getHttpClient() : \GuzzleHttp\ClientInterface

Returns

\GuzzleHttp\ClientInterface

setConfiguration()

setConfiguration(\ElasticEmailClient\ApiConfiguration  $config) : $this

Parameters

\ElasticEmailClient\ApiConfiguration $config

Returns

$this

getConfiguration()

getConfiguration() : \ElasticEmailClient\ApiConfiguration

Returns

\ElasticEmailClient\ApiConfiguration

AddSubAccount()

AddSubAccount(string  $email, string  $password, string  $confirmPassword, boolean  $requiresEmailCredits = false, boolean  $enableLitmusTest = false, boolean  $requiresLitmusCredits = false, integer  $maxContacts, boolean  $enablePrivateIPRequest = true, boolean  $sendActivation = false, string  $returnUrl = null, \ElasticEmailApi\?\ElasticEmailEnums\SendingPermission  $sendingPermission = null, \ElasticEmailApi\?bool  $enableContactFeatures = null, string  $poolName = null, integer  $emailSizeLimit = 10, \ElasticEmailApi\?int  $dailySendLimit = null) : string

Create new subaccount and provide most important data about it.

Parameters

string $email

Proper email address.

string $password

Current password.

string $confirmPassword

Repeat new password.

boolean $requiresEmailCredits

True, if account needs credits to send emails. Otherwise, false

boolean $enableLitmusTest

True, if account is able to send template tests to Litmus. Otherwise, false

boolean $requiresLitmusCredits

True, if account needs credits to send emails. Otherwise, false

integer $maxContacts

Maximum number of contacts the account can have

boolean $enablePrivateIPRequest

True, if account can request for private IP on its own. Otherwise, false

boolean $sendActivation

True, if you want to send activation email to this account. Otherwise, false

string $returnUrl

URL to navigate to after account creation

\ElasticEmailApi\?\ElasticEmailEnums\SendingPermission $sendingPermission

Sending permission setting for account

\ElasticEmailApi\?bool $enableContactFeatures

True, if you want to use Contact Delivery Tools. Otherwise, false

string $poolName

Private IP required. Name of the custom IP Pool which Sub Account should use to send its emails. Leave empty for the default one or if no Private IPs have been bought

integer $emailSizeLimit

Maximum size of email including attachments in MB's

\ElasticEmailApi\?int $dailySendLimit

Amount of emails account can send daily

Returns

string

AddSubAccountCredits()

AddSubAccountCredits(integer  $credits, string  $notes, \ElasticEmailEnums\CreditType  $creditType = \ElasticEmailEnums\CreditType::Email, string  $subAccountEmail = null, string  $publicAccountID = null) 

Add email, template or litmus credits to a sub-account

Parameters

integer $credits

Amount of credits to add

string $notes

Specific notes about the transaction

\ElasticEmailEnums\CreditType $creditType

Type of credits to add (Email or Litmus)

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to add credits to. Use subAccountEmail or publicAccountID not both.

ChangeEmail()

ChangeEmail(string  $newEmail, string  $confirmEmail, string  $sourceUrl = "https://elasticemail.com/account/") : string

Change your email address. Remember, that your email address is used as login!

Parameters

string $newEmail

New email address.

string $confirmEmail

New email address.

string $sourceUrl

URL from which request was sent.

Returns

string

ChangePassword()

ChangePassword(string  $currentPassword, string  $newPassword, string  $confirmPassword) 

Create new password for your account. Password needs to be at least 6 characters long.

Parameters

string $currentPassword

Current password.

string $newPassword

New password for account.

string $confirmPassword

Repeat new password.

DeleteSubAccount()

DeleteSubAccount(boolean  $notify = true, string  $subAccountEmail = null, string  $publicAccountID = null, boolean  $deleteDomains = true) 

Deletes specified Subaccount

Parameters

boolean $notify

True, if you want to send an email notification. Otherwise, false

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to delete. Use subAccountEmail or publicAccountID not both.

boolean $deleteDomains

GetAccountAbilityToSendEmail()

GetAccountAbilityToSendEmail() : \ElasticEmailEnums\AccountSendStatus

Validate account's ability to send e-mail

Returns

\ElasticEmailEnums\AccountSendStatus

GetSubAccountApiKey()

GetSubAccountApiKey(string  $subAccountEmail = null, string  $publicAccountID = null) : string

Returns API Key for the given Sub Account.

Parameters

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to retrieve sub-account API Key. Use subAccountEmail or publicAccountID not both.

Returns

string

GetSubAccountList()

GetSubAccountList(integer  $limit, integer  $offset) : \ElasticEmailApi\Array<\ElasticEmailEnums\SubAccount>

Lists all of your subaccounts

Parameters

integer $limit

Maximum of loaded items.

integer $offset

How many items should be loaded ahead.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\SubAccount>

Load()

Load() : \ElasticEmailEnums\Account

Loads your account. Returns detailed information about your account.

Returns

\ElasticEmailEnums\Account

LoadEmailCreditsHistory()

LoadEmailCreditsHistory() : \ElasticEmailApi\Array<\ElasticEmailEnums\EmailCredits>

Lists email credits history

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\EmailCredits>

LoadInfo()

LoadInfo() : \ElasticEmailEnums\Account

Loads your account. Returns detailed information about your account.

Returns

\ElasticEmailEnums\Account

LoadLitmusCreditsHistory()

LoadLitmusCreditsHistory() : \ElasticEmailApi\Array<\ElasticEmailEnums\LitmusCredits>

Lists litmus credits history

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\LitmusCredits>

LoadNotificationQueue()

LoadNotificationQueue() : \ElasticEmailApi\Array<\ElasticEmailEnums\NotificationQueue>

Shows queue of newest notifications - very useful when you want to check what happened with mails that were not received.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\NotificationQueue>

LoadPaymentHistory()

LoadPaymentHistory(integer  $limit, integer  $offset, \ElasticEmailApi\DateTime  $fromDate, \ElasticEmailApi\DateTime  $toDate) : \ElasticEmailApi\Array<\ElasticEmailEnums\Payment>

Lists all payments

Parameters

integer $limit

Maximum of loaded items.

integer $offset

How many items should be loaded ahead.

\ElasticEmailApi\DateTime $fromDate

Starting date for search in YYYY-MM-DDThh:mm:ss format.

\ElasticEmailApi\DateTime $toDate

Ending date for search in YYYY-MM-DDThh:mm:ss format.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\Payment>

LoadPayoutHistory()

LoadPayoutHistory() : \ElasticEmailApi\Array<\ElasticEmailEnums\Payment>

Lists all referral payout history

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\Payment>

LoadReferralDetails()

LoadReferralDetails() : \ElasticEmailEnums\Referral

Shows information about your referral details

Returns

\ElasticEmailEnums\Referral

LoadReputationHistory()

LoadReputationHistory(integer  $limit = 20, integer  $offset) : \ElasticEmailApi\Array<\ElasticEmailEnums\ReputationHistory>

Shows latest changes in your sending reputation

Parameters

integer $limit

Maximum of loaded items.

integer $offset

How many items should be loaded ahead.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\ReputationHistory>

LoadReputationImpact()

LoadReputationImpact() : \ElasticEmailEnums\ReputationDetail

Shows detailed information about your actual reputation score

Returns

\ElasticEmailEnums\ReputationDetail

LoadSpamCheck()

LoadSpamCheck(integer  $limit = 20, integer  $offset) : \ElasticEmailApi\Array<\ElasticEmailEnums\SpamCheck>

Returns detailed spam check.

Parameters

integer $limit

Maximum of loaded items.

integer $offset

How many items should be loaded ahead.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\SpamCheck>

LoadSubAccountsEmailCreditsHistory()

LoadSubAccountsEmailCreditsHistory(string  $subAccountEmail = null, string  $publicAccountID = null) : \ElasticEmailApi\Array<\ElasticEmailEnums\EmailCredits>

Lists email credits history for sub-account

Parameters

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to list history for. Use subAccountEmail or publicAccountID not both.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\EmailCredits>

LoadSubAccountSettings()

LoadSubAccountSettings(string  $subAccountEmail = null, string  $publicAccountID = null) : \ElasticEmailEnums\SubAccountSettings

Loads settings of subaccount

Parameters

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to load settings for. Use subAccountEmail or publicAccountID not both.

Returns

\ElasticEmailEnums\SubAccountSettings

LoadSubAccountsLitmusCreditsHistory()

LoadSubAccountsLitmusCreditsHistory(string  $subAccountEmail = null, string  $publicAccountID = null) : \ElasticEmailApi\Array<\ElasticEmailEnums\LitmusCredits>

Lists litmus credits history for sub-account

Parameters

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to list history for. Use subAccountEmail or publicAccountID not both.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\LitmusCredits>

LoadUsage()

LoadUsage(\ElasticEmailApi\DateTime  $from, \ElasticEmailApi\DateTime  $to) : \ElasticEmailApi\Array<\ElasticEmailEnums\Usage>

Shows usage of your account in given time.

Parameters

\ElasticEmailApi\DateTime $from

Starting date for search in YYYY-MM-DDThh:mm:ss format.

\ElasticEmailApi\DateTime $to

Ending date for search in YYYY-MM-DDThh:mm:ss format.

Returns

\ElasticEmailApi\Array<\ElasticEmailEnums\Usage>

ProfileOverview()

ProfileOverview() : \ElasticEmailEnums\Profile

Shows you account's profile basic overview

Returns

\ElasticEmailEnums\Profile

RemoveSubAccountCredits()

RemoveSubAccountCredits(\ElasticEmailEnums\CreditType  $creditType, string  $notes, string  $subAccountEmail = null, string  $publicAccountID = null, \ElasticEmailApi\?int  $credits = null, boolean  $removeAll = false) 

Remove email, template or litmus credits from a sub-account

Parameters

\ElasticEmailEnums\CreditType $creditType

Type of credits to add (Email or Litmus)

string $notes

Specific notes about the transaction

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to remove credits from. Use subAccountEmail or publicAccountID not both.

\ElasticEmailApi\?int $credits

Amount of credits to remove

boolean $removeAll

Remove all credits of this type from sub-account (overrides credits if provided)

RequestNewApiKey()

RequestNewApiKey() : string

Request a new default APIKey.

Returns

string

RequestPremiumSupport()

RequestPremiumSupport() 

Request premium support for your account

RequestPrivateIP()

RequestPrivateIP(integer  $count, string  $notes) 

Request a private IP for your Account

Parameters

integer $count

Number of items.

string $notes

Free form field of notes

UpdateAdvancedOptions()

UpdateAdvancedOptions(\ElasticEmailApi\?bool  $enableClickTracking = null, \ElasticEmailApi\?bool  $enableLinkClickTracking = null, \ElasticEmailApi\?bool  $manageSubscriptions = null, \ElasticEmailApi\?bool  $manageSubscribedOnly = null, \ElasticEmailApi\?bool  $transactionalOnUnsubscribe = null, \ElasticEmailApi\?bool  $skipListUnsubscribe = null, \ElasticEmailApi\?bool  $autoTextFromHtml = null, \ElasticEmailApi\?bool  $allowCustomHeaders = null, string  $bccEmail = null, string  $contentTransferEncoding = null, \ElasticEmailApi\?bool  $emailNotificationForError = null, string  $emailNotificationEmail = null, string  $webNotificationUrl = null, \ElasticEmailApi\?bool  $webNotificationNotifyOncePerEmail = null, \ElasticEmailApi\?bool  $webNotificationForSent = null, \ElasticEmailApi\?bool  $webNotificationForOpened = null, \ElasticEmailApi\?bool  $webNotificationForClicked = null, \ElasticEmailApi\?bool  $webNotificationForUnsubscribed = null, \ElasticEmailApi\?bool  $webNotificationForAbuseReport = null, \ElasticEmailApi\?bool  $webNotificationForError = null, string  $hubCallBackUrl = "", string  $inboundDomain = null, \ElasticEmailApi\?bool  $inboundContactsOnly = null, \ElasticEmailApi\?bool  $lowCreditNotification = null, \ElasticEmailApi\?bool  $enableUITooltips = null, \ElasticEmailApi\?bool  $enableContactFeatures = null, string  $notificationsEmails = null, string  $unsubscribeNotificationsEmails = null, string  $logoUrl = null, \ElasticEmailApi\?bool  $enableTemplateScripting = true, \ElasticEmailApi\?int  $staleContactScore = null, \ElasticEmailApi\?int  $staleContactInactiveDays = null, string  $deliveryReason = null, \ElasticEmailApi\?bool  $tutorialsEnabled = null, \ElasticEmailApi\?bool  $enableOpenTracking = null, \ElasticEmailApi\?bool  $consentTrackingOnUnsubscribe = null) : \ElasticEmailEnums\AdvancedOptions

Update sending and tracking options of your account.

Parameters

\ElasticEmailApi\?bool $enableClickTracking

True, if you want to track clicks. Otherwise, false

\ElasticEmailApi\?bool $enableLinkClickTracking

True, if you want to track by link tracking. Otherwise, false

\ElasticEmailApi\?bool $manageSubscriptions

True, if you want to display your labels on your unsubscribe form. Otherwise, false

\ElasticEmailApi\?bool $manageSubscribedOnly

True, if you want to only display labels that the contact is subscribed to on your unsubscribe form. Otherwise, false

\ElasticEmailApi\?bool $transactionalOnUnsubscribe

True, if you want to display an option for the contact to opt into transactional email only on your unsubscribe form. Otherwise, false

\ElasticEmailApi\?bool $skipListUnsubscribe

True, if you do not want to use list-unsubscribe headers. Otherwise, false

\ElasticEmailApi\?bool $autoTextFromHtml

True, if text BODY of message should be created automatically. Otherwise, false

\ElasticEmailApi\?bool $allowCustomHeaders

True, if you want to apply custom headers to your emails. Otherwise, false

string $bccEmail

Email address to send a copy of all email to.

string $contentTransferEncoding

Type of content encoding

\ElasticEmailApi\?bool $emailNotificationForError

True, if you want bounce notifications returned. Otherwise, false

string $emailNotificationEmail

Specific email address to send bounce email notifications to.

string $webNotificationUrl

URL address to receive web notifications to parse and process.

\ElasticEmailApi\?bool $webNotificationNotifyOncePerEmail

True, if you want to receive notifications for each type only once per email. Otherwise, false

\ElasticEmailApi\?bool $webNotificationForSent

True, if you want to send web notifications for sent email. Otherwise, false

\ElasticEmailApi\?bool $webNotificationForOpened

True, if you want to send web notifications for opened email. Otherwise, false

\ElasticEmailApi\?bool $webNotificationForClicked

True, if you want to send web notifications for clicked email. Otherwise, false

\ElasticEmailApi\?bool $webNotificationForUnsubscribed

True, if you want to send web notifications for unsubscribed email. Otherwise, false

\ElasticEmailApi\?bool $webNotificationForAbuseReport

True, if you want to send web notifications for complaint email. Otherwise, false

\ElasticEmailApi\?bool $webNotificationForError

True, if you want to send web notifications for bounced email. Otherwise, false

string $hubCallBackUrl

URL used for tracking action of inbound emails

string $inboundDomain

Domain you use as your inbound domain

\ElasticEmailApi\?bool $inboundContactsOnly

True, if you want inbound email to only process contacts from your account. Otherwise, false

\ElasticEmailApi\?bool $lowCreditNotification

True, if you want to receive low credit email notifications. Otherwise, false

\ElasticEmailApi\?bool $enableUITooltips

True, if account has tooltips active. Otherwise, false

\ElasticEmailApi\?bool $enableContactFeatures

True, if you want to use Contact Delivery Tools. Otherwise, false

string $notificationsEmails

Email addresses to send a copy of all notifications from our system. Separated by semicolon

string $unsubscribeNotificationsEmails

Emails, separated by semicolon, to which the notification about contact unsubscribing should be sent to

string $logoUrl

URL to your logo image.

\ElasticEmailApi\?bool $enableTemplateScripting

True, if you want to use template scripting in your emails {{}}. Otherwise, false

\ElasticEmailApi\?int $staleContactScore

(0 means this functionality is NOT enabled) Score, depending on the number of times you have sent to a recipient, at which the given recipient should be moved to the Stale status

\ElasticEmailApi\?int $staleContactInactiveDays

(0 means this functionality is NOT enabled) Number of days of inactivity for a contact after which the given recipient should be moved to the Stale status

string $deliveryReason

Why your clients are receiving your emails.

\ElasticEmailApi\?bool $tutorialsEnabled

True, if you want to enable Dashboard Tutotials

\ElasticEmailApi\?bool $enableOpenTracking

True, if you want to track opens. Otherwise, false

\ElasticEmailApi\?bool $consentTrackingOnUnsubscribe

Returns

\ElasticEmailEnums\AdvancedOptions

UpdateCustomBranding()

UpdateCustomBranding(boolean  $enablePrivateBranding = false, string  $logoUrl = null, string  $supportLink = null, string  $privateBrandingUrl = null, string  $smtpAddress = null, string  $smtpAlternative = null, string  $paymentUrl = null) 

Update settings of your private branding. These settings are needed, if you want to use Elastic Email under your brand.

Parameters

boolean $enablePrivateBranding

True: Turn on or off ability to send mails under your brand. Otherwise, false

string $logoUrl

URL to your logo image.

string $supportLink

Address to your support.

string $privateBrandingUrl

Subdomain for your rebranded service

string $smtpAddress

Address of SMTP server.

string $smtpAlternative

Address of alternative SMTP server.

string $paymentUrl

URL for making payments.

UpdateHttpNotification()

UpdateHttpNotification(string  $url, boolean  $notifyOncePerEmail = false, string  $settings = null) 

Update http notification URL.

Parameters

string $url

URL of notification.

boolean $notifyOncePerEmail

True, if you want to receive notifications for each type only once per email. Otherwise, false

string $settings

Http notification settings serialized to JSON

UpdateProfile()

UpdateProfile(string  $firstName, string  $lastName, string  $address1, string  $city, string  $state, string  $zip, integer  $countryID, \ElasticEmailApi\?bool  $marketingConsent = null, string  $address2 = null, string  $company = null, string  $website = null, string  $logoUrl = null, string  $taxCode = null, string  $phone = null) 

Update your profile.

Parameters

string $firstName

First name.

string $lastName

Last name.

string $address1

First line of address.

string $city

City.

string $state

State or province.

string $zip

Zip/postal code.

integer $countryID

Numeric ID of country. A file with the list of countries is available here

\ElasticEmailApi\?bool $marketingConsent

True if you want to receive newsletters from Elastic Email. Otherwise, false. Empty to leave the current value.

string $address2

Second line of address.

string $company

Company name.

string $website

HTTP address of your website.

string $logoUrl

URL to your logo image.

string $taxCode

Code used for tax purposes.

string $phone

Phone number

UpdateSubAccountSettings()

UpdateSubAccountSettings(boolean  $requiresEmailCredits = false, integer  $monthlyRefillCredits, boolean  $requiresLitmusCredits = false, boolean  $enableLitmusTest = false, \ElasticEmailApi\?int  $dailySendLimit = null, integer  $emailSizeLimit = 10, boolean  $enablePrivateIPRequest = false, integer  $maxContacts, string  $subAccountEmail = null, string  $publicAccountID = null, \ElasticEmailApi\?\ElasticEmailEnums\SendingPermission  $sendingPermission = null, \ElasticEmailApi\?bool  $enableContactFeatures = null, string  $poolName = null) 

Updates settings of specified subaccount

Parameters

boolean $requiresEmailCredits

True, if account needs credits to send emails. Otherwise, false

integer $monthlyRefillCredits

Amount of credits added to account automatically

boolean $requiresLitmusCredits

True, if account needs credits to send emails. Otherwise, false

boolean $enableLitmusTest

True, if account is able to send template tests to Litmus. Otherwise, false

\ElasticEmailApi\?int $dailySendLimit

Amount of emails account can send daily

integer $emailSizeLimit

Maximum size of email including attachments in MB's

boolean $enablePrivateIPRequest

True, if account can request for private IP on its own. Otherwise, false

integer $maxContacts

Maximum number of contacts the account can have

string $subAccountEmail

Email address of sub-account

string $publicAccountID

Public key of sub-account to update. Use subAccountEmail or publicAccountID not both.

\ElasticEmailApi\?\ElasticEmailEnums\SendingPermission $sendingPermission

Sending permission setting for account

\ElasticEmailApi\?bool $enableContactFeatures

True, if you want to use Contact Delivery Tools. Otherwise, false

string $poolName

Name of your custom IP Pool to be used in the sending process

sendRequest()

sendRequest(string  $url, array  $data = array(), string  $method = 'POST', array  $attachments = array()) : \Psr\Http\Message\ResponseInterface

Parameters

string $url
array $data
string $method
array $attachments

Throws

\Exception

Returns

\Psr\Http\Message\ResponseInterface

parseMultipart()

parseMultipart(array  $attachments, array  $params) : array

Parameters

array $attachments
array $params

Returns

array