Mailchimp api 2.0 подписываться через php?
Мне нужен пример того, как подписаться на адрес электронной почты для рассылки mailchimp.
Пожалуйста, проверьте новую ссылку 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
Ответы
Ответ 1
Ссылаясь на документацию, это должно быть примерно так:
$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);
Протестировано и работает.
Ответ 2
это может быть полезно для некоторого простого образца кода API-адреса подписчика mailchimp с помощью php
пример кода API-подписчика mailchimp в PHP
Ответ 3
Вот пример с Try and Catch (пример для дублированных писем)
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()
));
}
Подробнее о subscribe()
: https://apidocs.mailchimp.com/api/2.0/lists/subscribe.php
Ответ 4
Подписаться через php с помощью 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));
Ответ 5
Вот пример, который может помочь кому-то.
пример api-сервера mailchimp