mlpz / mailchimp-bundle
mailchimp bundle
Installs: 116 579
Dependents: 0
Suggesters: 0
Security: 0
Stars: 55
Watchers: 9
Forks: 29
Open Issues: 13
Type:symfony-bundle
Requires
- php: >=5.3.2
- ext-curl: *
- kriswallsmith/buzz: >=0.7
- symfony/framework-bundle: 2.*
This package is not auto-updated.
Last update: 2020-01-18 09:44:30 UTC
README
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
listInterestGroupingAdd
campaignCreate
campaignSendTest
campaignSendNow
listStaticSegmentAdd
listStaticSegmentMembersAdd
listStaticSegments
campaigns
campaignStats
MailChimp Export API Method Supported
1. list
Need support for a method not on the list submit an issue
Setup
Step 1: Download MZMailChimpBundle using composer
Add MZMailChimpBundle in your composer.json:
{ "require": { "mlpz/mailchimp-bundle": "dev-master" } }
Now tell composer to download the bundle by running the command:
$ php composer.phar update mlpz/mailchimp-bundle
Composer will install the bundle to your project's vendor/mlpz
directory.
Step 2: Enable the bundle
Enable the bundle in the kernel:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new MZ\MailChimpBundle\MZMailChimpBundle(), ); }
Step 3: Add 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
Usage
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 Interest Grouping Add in a controller
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $list->listInterestGroupingAdd( $groupTitle, $groupType, array($group1, $group2) ); // integer grouping ID
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)
MailChimp API Import Ecommerce Order in controller
<?php $mailChimp = $this->get('MailChimp'); $ecommerce = $mailChimp->getEcommerce(); $ecommerce->setOrderId($orderId) $ecommerce->setOrderDate($orderDate) $ecommerce->setStoreId($storeId) $ecommerce->setStoreName($storeName) $ecommerce->setCampaignId($mailChimpCampaigId) $ecommerce->setShipping($shippingTotal) $ecommerce->setTax($taxTotal) $ecommerce->setTotal($orderTotal) $ecommerce->addItem($productId, $productName, $categoryId, $categoryName, $qty, $cost, $sku) $ecommerce->addOrder($email) //return boolean
MailChimp API Delete Ecommerce Order in controller
<?php $mailChimp = $this->get('MailChimp'); $ecommerce = $mailChimp->getEcommerce(); $ecommerce->deleteOrder($storeId, $orderId) //return boolean
MailChimp API Retrieve Ecommerce Orders in controller
<?php $mailChimp = $this->get('MailChimp'); $ecommerce = $mailChimp->getEcommerce(); $ecommerce->getOrder($pageStart, $batchLimit, $dateSince) //return array
MailChimp API create static segment in a controller
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $list->listStaticSegmentAdd('first_segment'); // return int segment id
MailChimp API segment member add in a controller
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $segmentId = $list->listStaticSegmentAdd('first_segment'); $batch = array('test1@example.com', 'test2@example.com'); $list->listStaticSegmentMembersAdd($segmentId, $batch);
MailChimp API list static segment in a controller
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $segments = $list->listStaticSegments();
MailChimp API [send campaign to segment] in a controller
<?php $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); $list = $mailChimp->getList(); $segmentId = $list->listStaticSegmentAdd('first_segment'); $batch = array('test1@example.com', 'test2@example.com'); $list->listStaticSegmentMembersAdd($segmentId, $batch); $conditions[] = array( 'field' => 'static_segment', 'op' => 'eq', 'value' => $segmentId ); $segment_options = array( 'match' => 'all', 'conditions' => $conditions ); $campaign->setSegmenOptions($segment_options); $campaignId = $campaign->create(); $campaign->SendNow($campaignId);
MailChimp API campaigns in a controller
<?php $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); //get all campaigns $campaign->campaigns();
<?php $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); //filters for example campaign_id, you can all the filters in api website $campaign->setFilters(array('campaign_id' => 4589)); $campaign->campaigns();
MailChimp API campaignStats in a controller
<?php $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); $campaign->campaignStats($campaignId); //return array(), struct of the statistics for this campaign