2013-08-25 92 views
10

我需要一個如何訂閱emailchimp通訊郵件地址的例子。mailchimp api 2.0通過PHP訂閱?

請點擊這裏新的API鏈接: https://bitbucket.org/mailchimp/mailchimp-api-php

這是新malichimp API和我不知道如何使用它。 :(

對於MailChimp 2.0 API,而不是爲1.3

請人提供如何訂閱用戶mailchimp爲例

謝謝

EDIT1:。已經嘗試過下面的代碼,但不工作:

$merge_vars = array('MM1'=>$mm1); 
$MailChimp = new Mailchimp($apikey); 
$result = $MailChimp->call('lists/subscribe', array(
      'id'    => $listid, 
      'email'    => array('email'=>$email), 
      'merge_vars'  => $merge_vars, 
      'double_optin'  => false, 
      'update_existing' => true, 
      'replace_interests' => false, 
      'send_welcome'  => false, 
     )); 
    print_r($result); 

但不工作投擲以下錯誤: 致命錯誤:調用一個成員本功能離子()調用在subscribe.php非對象上線22

+0

偉大的教程在這裏:http://code-epicenter.com/how-to-integrate-your-website-with-mailchimp-api-using-php/ – MrD

回答

15

參照文檔,這應該是像這樣:

$merge_vars = array('MM1'=>$mm1); 
$listid = 'YOURLISTID'; 
$MailChimp = new Mailchimp($apikey); 
$result = $MailChimp->lists->subscribe($listid, 
             array('email'=>"[email protected]"), 
             $merge_vars, 
             false, 
             true, 
             false, 
             false 
             ); 
    print_r($result); 

測試和工作。

+0

什麼是$ MM1?在$ merge_vars –

+0

什麼是listID? – 2015-06-14 14:46:52

+0

如何找到它? – 2015-06-14 14:48:40

4

這裏是嘗試&捕捉(例如對於當DUP電子郵件)

header('Content-Type: application/json'); 
include_once 'Mailchimp.php'; 

$api_key = ''; 
$list_id = ''; 


$email = '[email protected]'; 
$merge_vars = array(); 

$Mailchimp = new Mailchimp($api_key); 
$Mailchimp_Lists = new Mailchimp_Lists($Mailchimp); 

try{ 
    $subscriber = $Mailchimp_Lists->subscribe(
     $list_id, 
     array('email'=>htmlentities($email)), 
     $merge_vars, 
     false, 
     false, 
     false, 
     false 
    ); 
    echo json_encode(array('status' => !empty($subscriber['leid'])?'submitted':'error')); 
} catch(Mailchimp_Error $e){ 
    echo json_encode(array(
      'status' => 'error', 
      'message' => $e->getMessage() 
     )); 
} 

Read more about subscribe()https://apidocs.mailchimp.com/api/2.0/lists/subscribe.php

2

通過使用curl的PHP訂閱。

$apikey  = 'xxxxxxxxxx'; //your apikey 
$listId  = 'xxxxxxxxxx'; // your list id 
$endpoint = "http://yourdatacenter.api.mailchimp.com/3.0/lists/";  // find your datacenter in your apikey(xxxxxxxxxxxxxxxxxxxxxxxx-us13 <= this is your datacenter) 
$auth  = base64_encode('user:'. $apikey); 
$data  = array(
        'apikey'  => $apikey, 
        'email_address' => 'yourvalid_email_address', 
        'status'  => 'subscribed', 
        'merge_fields' => array()); 

$json_data = json_encode($data); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $endpoint.$listId.'/members/'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 
              'Authorization: Basic '.$auth)); 
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); 
$result = curl_exec($ch); 

echo "<pre>"; // Response form mailchimp 
print_r(json_decode($result,true));