Installation
Install via Composer:, (*1)
composer require jzpeepz/adestra, (*2)
Include the service provider in your config/app.php:, (*3)
Jzpeepz\Adestra\AdestraServiceProvider::class, (*4)
Publish the Adestra config file:, (*5)
php artisan vendor:publish --tag=adestra, (*6)
Configuration
Below are descriptions of the configuration values found in the the adestra.php config file., (*7)
account This is the account name found on the login screen., (*8)
username This is your username., (*9)
password This is your password., (*10)
core_table_id This is the id of the core table where your contacts are stored., (*11)
list_id Optional. This is just a nice place to store your main list id., (*12)
$list_id = 15;
$contact = AdestraContact::make(['email' => 'me@emailplace.com']);
$result = $contact->subscribe($list_id);
$list_id = 15;
$contact = AdestraContact::make(['email' => 'me@emailplace.com']);
$result = $contact->unsubscribe($list_id);
Returns an array of ids of the lists a contact is on., (*13)
$lists = AdestraContact::make(['email' => 'me@emailplace.com'])
->lists();
Campaigns
Create a new campaign
$campaign = AdestraCampaign::make([
'name' => 'My Campaign',
'description' => 'My New Campaign',
'project_id' => 31,
'list_id' => $list_id,
])
->create();
Find an existing campaign
$campaign = AdestraCampaign::find($campaign_id);
Update an existing campaign
$campaign = $campaign->update([
'name' => 'My Campaign',
'description' => 'My New Campaign',
'project_id' => 31,
'list_id' => $list_id,
]);
Set campaign options
$campaign->setAllOptions([
'subject_line' => 'My Subject',
'domain' => 'email.mydomain.com',
'from_prefix' => 'mail',
'from_name' => 'My Company',
'auto_tracking' => 1,
'user_from' => 1,
'from_address' => 'me@emailplace.com',
]);
Set campaign HTML and text
HTML: $campaign->setMessage('html', $html);, (*14)
Text: $campaign->setMessage('text', $text);, (*15)
Publish a campaign
$campaign->publish();
Send a test of a campaign
$campaign->sendTest('me@emailplace.com');
This also allows for a comma separated list:, (*16)
$campaign->sendTest('me@emailplace.com,you@emailplace.com');
Launch a campaign
$campaign->launch([
'launch_label' => 'My Launch',
'date_scheduled' => date('c'),
]);