2013-08-25 6 views
10

Ho bisogno di un esempio di come iscrivere un indirizzo email alla newsletter di mailchimp.mailchimp api 2.0 iscriversi tramite php?

Si prega di verificare nuovo link api qui: https://bitbucket.org/mailchimp/mailchimp-api-php

Questa è nuova API malichimp e io non sono sicuro di come usarlo. :(

Per MailChimp 2.0 API, non per 1.3

prega qualcuno di fornire un esempio su come iscriversi all'utente di MailChimp

Thank You

Edit1:... Già provato codice seguente, ma non funziona:

$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); 

ma non funziona lancio seguente errore:. Fatal error: chiamata a un membro funct chiamata ion() su un non-oggetto in subscribe.php sulla linea 22

+0

Grande tutorial qui: http://code-epicenter.com/how-to-integrate-your-website-with-mailchimp-api-using-php/ – MrD

risposta

15

Facendo riferimento alla documentazione, questo dovrebbe essere così:

$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); 

Testato e funzionante.

+0

ciò che è di $ MM1? in $ merge_vars –

+0

cos'è un listID? –

+0

come trovarlo? –

4

Ecco con Prova & cattura (esempio per e-mail quando 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

Iscriviti tramite php utilizzando curl.

$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));