Добавление подписчиков в список с использованием Mailchimp's API v3
Я пытаюсь добавить пользователей в список, который я создал в Mailchimp, но нигде не могу найти примеры кода. Я пытался выяснить, как использовать API, но я очень похож на человека, который «смотрит на пример и учится».
Я пытался использовать версию 2 API, но, похоже, ничего не работает, несмотря на работу с примерами в сети, и Mailchimp говорит следующее о более ранних версиях их API на своем веб-сайте:
Версии 2.0 и ранее устарели. Для этих версий будет доступна только минимальная поддержка - исправления ошибок, исправления безопасности.
ОБНОВЛЕНИЕ 1: Я провел дальнейшие исследования на основе TooMuchPete'sответ что касается ссылки на Управление подписчиками и изменил некоторый код, который я нашелВот, но это не сработает, потому что функцияhttp_build_query () не имеет дело с вложенными массивами. Я не уверен, как справиться с частью 'merge_fields' добавления подписчика. Мой текущий код ниже:
$postdata = http_build_query(
array(
'apikey' => $apikey,
'email_address' => $email,
'status' => 'subscribed',
'merge_fields' => array(
'FNAME' => $name
)
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('https://us2.api.mailchimp.com/3.0/lists/<list_id>/members/', false, $context);
var_dump($result);
die('Mailchimp executed');
ОБНОВЛЕНИЕ 2Я теперь прибегаю к использованию curl, и мне удалось получить что-то почти работающее. Данные отправляются в Mailchimp, но я получаю сообщение об ошибке"Ваш запрос не содержит ключ API." Я предполагаю, что мне нужно аутентифицироваться, как упоминалосьВот, Я попытался добавить его в заголовок http, который не работает. Смотрите мой код ниже:
$apikey = '<api_key>';
$auth = base64_encode( 'user:'.$apikey );
$data = array(
'apikey' => $apikey,
'email_address' => $email,
'status' => 'subscribed',
'merge_fields' => array(
'FNAME' => $name
)
);
$json_data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://us2.api.mailchimp.com/3.0/lists/<list_id>/members/');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json/r/n
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);
var_dump($result);
die('Mailchimp executed');