如何从MailChimp 3.0 API获取兴趣组?

时间:2015-10-19 00:26:27

标签: mailchimp

任何人都知道在Mailchimp的3.0 API中获取列表的所有兴趣组的正确终点是什么?我能找到的唯一文档是:https://github.com/mailchimp/APIv3-examples/wiki/Resources

当我尝试使用bind(LogManager.class) .toProvider(LogManagerProvider.class); 时,我得到以下回复:

  

类对象([type] => http://kb.mailchimp.com/api/error-docs/404-resource-not-found [title] =>未找到资源[status] => 404 [detail] =>资源' InterestGroupings_Collection'可以找不到。[instance] =>)

请求的网址如下所示:https://DATA_CENTER.api.mailchimp.com/3.0/lists/LIST_ID/interest-groupings?apikey=API_KEY

我显然没有正确的终点,但我想我会问,因为我找到了另一个问题的答案here on SO

2 个答案:

答案 0 :(得分:2)

您正在查看测试版中过时的文档 - 您最好查看API Playground,但您要查找的端点是{{1} }。

答案 1 :(得分:2)

虽然这是一个老问题,但我发布了这个答案,因为选定的答案不再有效。 MailChimp 已停用建议的“API Playground”。

我正在使用简单的 CURL 命令。您可以使用您正在使用的语言实现 CURL。 请注意,CURL 命令中的 ${dc} 将替换为您的 MailChimp 服务器前缀。

  1. 要做到这一点,首先您需要fetch/check the id of the list

    curl -X GET \ 'https://${dc}.api.mailchimp.com/3.0/lists?fields=<SOME_ARRAY_VALUE>&exclude_fields=<SOME_ARRAY_VALUE>&count=10&offset=0&before_date_created=<SOME_STRING_VALUE>&since_date_created=<SOME_STRING_VALUE>&before_campaign_last_sent=<SOME_STRING_VALUE>&since_campaign_last_sent=<SOME_STRING_VALUE>&email=<SOME_STRING_VALUE>&sort_field=<SOME_STRING_VALUE>&sort_dir=<SOME_STRING_VALUE>&has_ecommerce_store=<SOME_BOOLEAN_VALUE>' \ --user "anystring:${apikey}"'

  2. 一旦你从上面的输出中得到指定的 ID,fetch the interest categories

    curl -X GET \ 'https://${dc}.api.mailchimp.com/3.0/lists/{list_id}/interest-categories?fields=<SOME_ARRAY_VALUE>&exclude_fields=<SOME_ARRAY_VALUE>&count=10&offset=0&type=<SOME_STRING_VALUE>' \ --user "anystring:${apikey}"'

  3. 最后到get the interest details,使用:

    curl -X GET \ 'https://${dc}.api.mailchimp.com/3.0/lists/{list_id}/interest-categories/{interest_category_id}/interests?fields=<SOME_ARRAY_VALUE>&exclude_fields=<SOME_ARRAY_VALUE>&count=10&offset=0' \ --user "anystring:${apikey}"'

示例 PHP 函数(仅适用于第 3 步)将如下所示:

function mailchimp_findgrpids()
    {
        $mcurl = 'https://'.MAILCHIMP_SERVER_PREFIX.'.api.mailchimp.com/3.0/lists/'.MAILCHIMP_LIST.'/interest-categories/'.MAILCHIMP_INTEREST_CAT.'/interests';
        
        $ch = curl_init($mcurl);

    curl_setopt($ch, CURLOPT_USERPWD, 'user:' . MAILCHIMP_API_KEY);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    $result = curl_exec($ch);
    echo $result;
    curl_close($ch);
    }