fbeen/mailchimp-bundle

mailchimp bundle

安装: 10

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 26

类型:symfony-bundle

v1.3 2014-10-07 05:23 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:23:28 UTC


README

MZMailChimpBundle 是一个用于 MailChimp API 和 Export API 的 Symfony2 扩展包

Build Status Total Downloads Latest Stable Version

许可证

MZMailChimpBundle 使用 MIT 许可证 - 详细信息请参阅 Resources/meta/LICENSE 文件

支持的 MailChimp API 方法

  1. listSubscribe
  2. listUnSubscribe
  3. listUpdateMember
  4. listInterestGroupingAdd
  5. campaignCreate
  6. campaignSendTest
  7. campaignSendNow
  8. listStaticSegmentAdd
  9. listStaticSegmentMembersAdd
  10. listStaticSegments
  11. campaigns
  12. 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