如何从带有API的MailChimp列表中提取订户数?

时间:2011-03-10 06:44:37

标签: php api email mailchimp

我正在尝试使用他们的API在MailChimp邮件列表中显示订阅者数量,我已经部分工作了,除了下面的代码当前正在吐出所有列表的订阅者数量,而不是一个特定的名单。我在 $ listId ='XXX'; 行中指定了列表ID,但这似乎不起作用。因为我总共有五个列表,所以下面的PHP输出显示:

10 0 0 1 9

在下面的代码中,我需要做什么才能从特定列表ID中获取订阅者数量?

<?php
/**
This Example shows how to pull the Members of a List using the MCAPI.php 
class and do some basic error checking.
**/
require_once 'inc/MCAPI.class.php';

$apikey = 'XXX';
$listId = 'XXX';

$api = new MCAPI($apikey);

$retval = $api->lists();

if ($api->errorCode){
    echo "Unable to load lists()!";
    echo "\n\tCode=".$api->errorCode;
    echo "\n\tMsg=".$api->errorMessage."\n";
} else {
    foreach ($retval['data'] as $list){
        echo "\t ".$list['stats']['member_count'];
    }
}

?>

我刚刚遇到这个函数(见下文),让我使用已知的list_id返回一个列表。问题是,我不确定如何在函数中添加list_id。

我假设我需要在这一行中定义它? $ params [“filters”] = $ filters;

MailChimp lists()方法文档可在此处引用:http://apidocs.mailchimp.com/rtfm/lists.func.php

    function lists($filters=array (
), $start=0, $limit=25) {
        $params = array();
        $params["filters"] = $filters;
        $params["start"] = $start;
        $params["limit"] = $limit;
        return $this->callServer("lists", $params);
    }

2 个答案:

答案 0 :(得分:2)

我强烈建议不要使用包装器的内部,因为它不会像在线文档和包装器中包含的示例那样有用。使用包装器意味着在进行适当的呼叫时,您有效搜索的线路将被有效填充。

Anywho,这就是你想要的:

$filters = array('list_id'=>'XXXX');
$lists = $api->lists($filters);

答案 1 :(得分:1)

Mailchimp在http://apidocs.mailchimp.com/downloads/#php的api周围提供了一个预先构建的php包装器。这个api包含一个函数列表(),根据其文档,它返回其他内容:

int member_count给定列表中的活动成员数。

看起来这是您在上面提到的功能。您所要做的就是遍历返回的列表以找到具有正确ID的列表。从那里,您应该能够查询订户数以及有关该列表的许多其他统计信息。