如何在PHP中调用Mailchimp API方法

时间:2014-06-23 09:32:40

标签: php mailchimp

我正在使用mailchimp API v2进行发送广告系列。下面是我的send函数的代码,但它说函数未定义。

include('lib/Mailchimp.php');
    $MailChimp = new Mailchimp('755d575xxxxxxxx4d881-us8');

    try{
    $aa = $MailChimp->send('mailchimxxxxxx7ca1ff1d2.04256b3fa1');  
    }
    catch (Exception $e){}; 

使用下面的API函数。 http://apidocs.mailchimp.com/api/2.0/campaigns/send.php

如何正确调用send函数?

的var_dump($ Mailchimp);

object(Mailchimp)#243 (18) { ["apikey"]=> string(36) "755d5752cxxxxxx881-us8" ["ch"]=> resource(162) of type (curl) ["root"]=> string(34) "https://us8.api.mailchimp.com/2.0/" ["debug"]=> bool(false) ["folders"]=> object(Mailchimp_Folders)#242 (1) { ["master"]=> *RECURSION* } ["templates"]=> object(Mailchimp_Templates)#244 (1) { ["master"]=> *RECURSION* } ["users"]=> object(Mailchimp_Users)#245 (1) { ["master"]=> *RECURSION* } ["helper"]=> object(Mailchimp_Helper)#246 (1) { ["master"]=> *RECURSION* } ["mobile"]=> object(Mailchimp_Mobile)#247 (1) { ["master"]=> *RECURSION* } ["conversations"]=> object(Mailchimp_Conversations)#248 (1) { ["master"]=> *RECURSION* } ["ecomm"]=> object(Mailchimp_Ecomm)#249 (1) { ["master"]=> *RECURSION* } ["neapolitan"]=> object(Mailchimp_Neapolitan)#250 (1) { ["master"]=> *RECURSION* } ["lists"]=> object(Mailchimp_Lists)#251 (1) { ["master"]=> *RECURSION* } ["campaigns"]=> object(Mailchimp_Campaigns)#252 (1) { ["master"]=> *RECURSION* } ["vip"]=> object(Mailchimp_Vip)#253 (1) { ["master"]=> *RECURSION* } ["reports"]=> object(Mailchimp_Reports)#254 (1) { ["master"]=> *RECURSION* } ["gallery"]=> object(Mailchimp_Gallery)#255 (1) { ["master"]=> *RECURSION* } ["goal"]=> object(Mailchimp_Goal)#256 (1) { ["master"]=> *RECURSION* } }

1 个答案:

答案 0 :(得分:1)

看起来你正在使用Mailchimp提供的PHP包装器,这很棘手,因为它与API引用不完全匹配。广告系列发送方法位于广告系列类下。 (V2.x在'src / Mailchimp.php'中实例化这个子类)。发送广告系列如下所示:

<?php
include_once('mailchimp/src/Mailchimp.php');

try {
    //Connect to Mailchimp using your API Key
    $Mailchimp = new Mailchimp('c82620103cf2***********-us11'); 
} 
catch (Mailchimp_Error $e) {
    echo('Error opening new mailchimp instance'.$e);
}

//Call this to return an array of campaigns from your MC account
$cList=$Mailchimp->campaigns->getList();

//Returned $id is something  like 'aer2dfcd18'
$id=$cList['data'][0]['id'];

//Send out the campaign
$Mailchimp->campaigns->send($id);

?>

您可以在此处进行一些其他改进,例如对每个方法调用使用try-catch或按名称搜索广告系列而不是索引,但我希望保持示例简单。我希望这有助于您和未来的MC开发人员!