fbeen / mailchimp-bundle
mailchimp bundle
Requires
- php: >=5.3.2
- ext-curl: *
- kriswallsmith/buzz: >=0.7
- symfony/framework-bundle: 2.*
This package is not auto-updated.
Last update: 2024-09-18 19:23:28 UTC
README
MZMailChimpBundle 是一个用于 MailChimp API 和 Export API 的 Symfony2 扩展包
许可证
MZMailChimpBundle 使用 MIT 许可证 - 详细信息请参阅 Resources/meta/LICENSE
文件
支持的 MailChimp API 方法
listSubscribe
listUnSubscribe
listUpdateMember
listInterestGroupingAdd
campaignCreate
campaignSendTest
campaignSendNow
listStaticSegmentAdd
listStaticSegmentMembersAdd
listStaticSegments
campaigns
campaignStats
支持的 MailChimp Export API 方法
1. list
需要支持列表中没有的方法,请提交 问题
设置
步骤 1:使用 composer 下载 MZMailChimpBundle
在 composer.json 中添加 MZMailChimpBundle
{ "require": { "mlpz/mailchimp-bundle": "dev-master" } }
现在运行以下命令让 composer 下载扩展包
$ php composer.phar update mlpz/mailchimp-bundle
Composer 将把扩展包安装到项目的 vendor/mlpz
目录中。
步骤 2:启用扩展包
在 kernel 中启用扩展包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new MZ\MailChimpBundle\MZMailChimpBundle(), ); }
步骤 3:添加配置
# 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
用法
使用服务
<?php $mailChimp = $this->get('MailChimp');
在控制器中使用 MailChimp API Subscribe 将用户订阅到邮件列表
<?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 从邮件列表中删除用户
<?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 更新用户信息
<?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 添加兴趣分组
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $list->listInterestGroupingAdd( $groupTitle, $groupType, array($group1, $group2) ); // integer grouping ID
在控制器中使用 MailChimp API create campaign 创建活动
<?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 发送测试活动
<?php $emails = array('email1','email2'); $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); $campaign->SendTest($campaignId, $emails); // return boolean
在控制器中使用 MailChimp API send campaign 发送活动
<?php $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); $campaign->SendNow($campaignId); // return boolean
在控制器中使用 MailChimp Export API List 列表
<?php $mailChimp = $this->get('MailChimp'); $export = $mailChimp->getExport(); $options = array('status' => 'unsubscribed'); //subscribed, unsubscribed, cleaned $export->DumpList($options); //return array
在控制器中使用 MailChimp API Listmemberinfo 列表成员信息
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $list->getMemberInfo($email)
在控制器中使用 MailChimp API Import Ecommerce Order 导入电子商务订单
<?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 删除电子商务订单
<?php $mailChimp = $this->get('MailChimp'); $ecommerce = $mailChimp->getEcommerce(); $ecommerce->deleteOrder($storeId, $orderId) //return boolean
在控制器中使用 MailChimp API Retrieve Ecommerce Orders 获取电子商务订单
<?php $mailChimp = $this->get('MailChimp'); $ecommerce = $mailChimp->getEcommerce(); $ecommerce->getOrder($pageStart, $batchLimit, $dateSince) //return array
在控制器中使用 MailChimp API create static segment 创建静态段
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $list->listStaticSegmentAdd('first_segment'); // return int segment id
在控制器中使用 MailChimp API segment member add 添加段成员
<?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 列出静态段
<?php $mailChimp = $this->get('MailChimp'); $list = $mailChimp->getList(); $segments = $list->listStaticSegments();
在控制器中使用 MailChimp API [send campaign to segment] 向段发送活动
<?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 活动列表
<?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 活动统计
<?php $mailChimp = $this->get('MailChimp'); $campaign = $mailChimp->getCampaign(); $campaign->campaignStats($campaignId); //return array(), struct of the statistics for this campaign