buddyad / sendy-laravel
Sendy API implementation for Laravel
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Installs: 580
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 21
pkg:composer/buddyad/sendy-laravel
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-12-18 04:54:33 UTC
README
Sendy Laravel
A service provider for Sendy API in Laravel 5
Installation
composer require buddyad/sendy-laravel:1.*
or append your composer.json with:
{
"require" : {
"buddyad/sendy-laravel": "1.*"
}
}
Add the following settings to the config/app.php
Service provider:
'providers' => [ // ... 'BuddyAd\Sendy\SendyServiceProvider', ]
For the Sendy:: facade
'aliases' => [ // ... 'Sendy' => 'BuddyAd\Sendy\Facades\Sendy', ]
Configuration
php artisan vendor:publish --provider="BuddyAd\Sendy\SendyServiceProvider"
It will create sendy.php within the config directory.
<?php return [ 'listId' => '', 'installationUrl' => '', 'apiKey' => '', ];
Usage
Subscribe:
$data = [ 'email' => 'johndoe@example.com', 'name' => 'John Doe', 'any_custom_column' => 'value', ]; Sendy::subscribe($data);
RESPONSE (array)
In case of success:
['status' => true, 'message' => 'Subscribed'] ['status' => true, 'message' => 'Already subscribed']
In case of error:
['status' => false, 'message' => 'The error message']
Unsubscribe:
$email = 'johndoe@example.com'; Sendy::unsubscribe($email);
RESPONSE (array)
In case of success:
['status' => true, 'message' => 'Unsubscribed']
In case of error:
['status' => false, 'message' => 'The error message']
Subscription status
$email = 'johndoe@example.com'; Sendy::status($email);
RESPONSE (Plain text)
Success:
SubscribedUnsubscribedUnconfirmedBouncedSoft bouncedComplained
Error:
No data passedAPI key not passedInvalid API keyEmail not passedList ID not passedEmail does not exist in list
Active subscriber count
Sendy::count(); #To check other list: Sendy::setListId($list_id)->count();
RESPONSE (Plain text)
Success:
You'll get an integer of the active subscriber count
Error:
No data passedAPI key not passedInvalid API keyList ID not passedList does not exist
Create campaign
<?php $campaignOptions = [ 'from_name' => 'My Name', 'from_email' => 'test@mail.com', 'reply_to' => 'test@mail.com', 'title' => 'My Campaign', 'subject' => 'My Subject', 'list_ids' => '1,2,3', // comma-separated, optional 'brand_id' => 1, 'query_string' => 'utm_source=sendy&utm_medium=email&utm_content=email%20newsletter&utm_campaign=email%20newsletter', ]; $campaignContent = [ 'plain_text' => 'My Campaign', 'html_text' => View::make('mail.my-campaign'), ]; $send = false; Sendy::createCampaign($campaignOptions, $campaignContent, $send);
RESPONSE (Plain text)
Success:
Campaign createdCampaign created and now sending
Error:
No data passedAPI key not passedInvalid API keyFrom name not passedFrom email not passedReply to email not passedSubject not passedHTML not passedList ID(s) not passedOne or more list IDs are invalidList IDs does not belong to a single brandBrand ID not passedUnable to create campaignUnable to create and send campaign
Change list ID
To change the default list ID simply prepend with setListId($list_id)
Examples:
Sendy::setListId($list_id)->subscribe($data); Sendy::setListId($list_id)->unsubscribe($email); Sendy::setListId($list_id)->status($email); Sendy::setListId($list_id)->count();
Todo
- Implementing the rest of the API. :)
- better documentation - in progress as you can see :)