HypeMailchimpBundle
HypeMailchimpBundle copied to clipboard
Symfony2 Mailchimp API V2
Hype MailchimpBundle for API V2.0
Symfony2.x bundle for MailChimp API V2 and Export API API V1 Wrapper bundle that makes accessing Mailchimp functions easily in object oriented using method chaining
License
HypeMailChimp bundle released under MIT LICENSE
#Supported API Methods
Campaigns related
-
campaigns/create
-
campaigns/content
-
campaigns/list
-
campaigns/delete
-
campaigns/pause
-
campaigns/ready
-
campaigns/replicate
-
campaigns/ready
-
campaigns/resume
-
campaigns/send
-
campaigns/send-test
-
campaigns/segment-test
-
campaigns/schedule
-
campaigns/schedule-batch
-
campaigns/unschedule
-
campaigns/update
Lists related
-
lists/list
-
lists/abuse-reports
-
lists/activity
-
lists/subscribe
-
lists/unsubscribe
-
lists/member-info
-
lists/interest-groupings
-
lists/interest-grouping-add
-
lists/interest-grouping-del
-
lists/interest-grouping-update
-
lists/interest-group-add
-
lists/interest-group-update
-
lists/interest-group-del
-
lists/segments
-
lists/segment-test
Templates related
-
templates/add
-
templates/list
-
templates/del
-
templates/info
-
templates/undel
Export API
-
list
-
campaignSubscriberActivity
Helper related
-
helper/ping
-
helper/generate-text
Need support for a method not on the list submit an issue
Setup
Step 1: Download HypeMailchimp using composer
Add HypeMailchimp in your composer.json:
{
"require": {
"ahmedsamy/hype-mailchimp-bundle": "dev-master"
}
}
Now tell composer to download the bundle by running the command:
$ php composer.phar update "ahmedsamy/hype-mailchimp-bundle"
Composer will install the bundle to your project's vendor/ahmedsamy/hype
directory.
Step 2: Enable the bundle
Enable the bundle in the kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Hype\MailchimpBundle\HypeMailchimpBundle(),
);
}
Step 3: Add configuration
# app/config/config.yml
hype_mailchimp:
api_key: xxxxxxx-us5
default_list: xxxxxxxx
ssl: true #optional configuring curl connection
Usage
Using service
<?php
$mailchimp = $this->get('hype_mailchimp');
?>
##Examples
###Create new campaign
<?php
$mc = $this->get('hype_mailchimp');
$data = $mc->getCampaign()->create('regular', array(
'list_id' => '93419bbdc0',
'subject' => 'test created subject',
'from_email' => '[email protected]',
'from_name' => 'Ahmed Samy',
'to_name' => 'fans'
), array(
'html' => '<h5>Html content</h5>',
'sections' => array(),
'text' => 'test',
'url' => 'http://www.example.com',
'archive' => 'test'
));
var_dump($data);
?>
###Delete existing campaign
<?php
$mc = $this->get('hype_mailchimp');
$data = $mc->getCampaign()
->setCi('1088b4ed65')
->del();
var_dump($data);
?>
###Send campaign
<?php
$mc = $this->get('hype_mailchimp');
$data = $mc->getCampaign()
->setCi('1088b4ed65')
->send();
var_dump($data);
?>
###Subscribe new user to list
<?php
$mc = $this->get('hype_mailchimp');
$data = $mc->getList()
->subscribe('[email protected]');
var_dump($data);
?>
Note that the user will be subscribed to the default list set in config.yml
.
If you want to change the list for this time only, you can use
<?php
$mc = $this->get('hype_mailchimp');
$data = $mc->getList()
->setListId('xxxxxxx')
->addMerge_vars(
array(
'mc_notes' => 'test notes'
))
->subscribe('[email protected]');
?>