Symfony2 bundle for MailChimp API And Export API
License
MZMailChimpBundle is licensed under the MIT License - see the Resources/meta/LICENSE
file for details
MailChimp API Method Supported
listSubscribe
listUnSubscribe
listUpdateMember
campaignCreate
campaignSendTest
campaignSendNow
MailChimp Export API Method Supported
1. list
Need support for a method not on the list submit an issue
Using Submodule
git submodule add https://github.com/miguel250/MZMailChimpBundle.git vendor/bundles/MZ/MailChimpBundle
git submodule add https://github.com/kriswallsmith/Buzz.git vendor/buzz
Using the vendors script
[MZMailChimpBundle]
git=https://github.com/miguel250/MZMailChimpBundle.git
target=bundles/MZ/MailChimpBundle
[buzz]
git=https://github.com/kriswallsmith/Buzz.git
target=buzz/
Add the MZ namespace to autoloader
<?php
// app/autoload.php
$loader->registerNamespaces(array(
// ...
'MZ' => __DIR__.'/../vendor/bundles',
'Buzz' => __DIR__.'/../vendor/buzz/lib',
));
Add MZMailChimpBundle to your application kernel
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new MZ\MailChimpBundle\MZMailChimpBundle(),
);
}
Yml configuration
# app/config/config.yml
mz_mail_chimp:
api_key: #Mailchimp API Key
default_list: #default list id
ssl: true #option to use http or https
Using service
<?php
$mailChimp = $this->get('MailChimp');
MailChimp API Subscribe user to mailing list in a controller
<?php
$mailChimp = $this->get('MailChimp');
/**
* Change mailing list
* */
$mailChimp->setListID($id);
/**
* Get list methods
* */
$list = $mailChimp->getList();
/**
* listSubscribe default Parameters
* */
$list->setMerge($array); //optional default: null
$list->setEmailType('html'); //optional default: html
$list->setDoubleOptin(true); //optional default : true
$list->setUpdateExisting(false); // optional default : false
$list->setReplaceInterests(true); // optional default : true
$list->SendWelcome(false); // optional default : false
/**
* Subscribe user to list
* */
$list->Subscribe($email); //boolean
MailChimp API Unsubscribe remove user from mailing list in a controller
<?php
$mailChimp = $this->get('MailChimp');
/**
* Change mailing list
* */
$mailChimp->setListID($id);
/**
* Get list methods
* */
$list = $mailChimp->getList();
/**
* UnSubscribe user from list
* */
$list->UnSubscribe($email); //boolean
MailChimp API Update user in a controller
<?php
$mailChimp = $this->get('MailChimp');
$list = $mailChimp->getList();
$list->setEmail($oldEmail);
$list->MergeVars($newEmail);
/**
* Update user in mailing list
**/
$list->UpdateMember(); //boolean
MailChimp API create campaign in a controller
<?php
$mailChimp = $this->get('MailChimp');
$campaign = $mailChimp->getCampaign();
$campaign->setType($type);
$campaign->setSubject($subject);
$campaign->setFromEmail($fromEmail);
$campaign->setFromName($fromName);
$campaign->setHTML($html);
$campaign->create(); //return campaign id
MailChimp API send test campaign in a controller
<?php
$emails = array('email1','email2');
$mailChimp = $this->get('MailChimp');
$campaign = $mailChimp->getCampaign();
$campaign->SendTest($campaignId, $emails); // return boolean
MailChimp API send campaign in a controller
<?php
$mailChimp = $this->get('MailChimp');
$campaign = $mailChimp->getCampaign();
$campaign->SendNow($campaignId); // return boolean
MailChimp Export API List in controller
<?php
$mailChimp = $this->get('MailChimp');
$export = $mailChimp->getExport();
$options = array('status' => 'unsubscribed'); //subscribed, unsubscribed, cleaned
$export->DumpList($options); //return array
MailChimp API Listmemberinfo in controller
<?php
$mailChimp = $this->get('MailChimp');
$list = $mailChimp->getList();
$list->getMemberInfo($email)