Я пытаюсь добавить пользователей в список, который я создал в Mailchimp, но я не могу найти ни одного примера кода в любом месте. Я попытался выяснить, как использовать API, но я очень люблю «взглянуть на пример и изучить» человека.Добавление подписчиков в список с помощью API Mailchimp v3
Я попытался с помощью версии 2 API, но ничего не кажется, работает несмотря на работу из примеров в сети и Mailchimp говорит следующее о более ранних версиях их API на их сайте:
Версия 2.0 и ранее устарели. Для этих версий будут доступны только минимальные исправления ошибок, исправления безопасности.
UPDATE 1: Я сделал некоторые дополнительные исследования, основанные на TooMuchPete-х answer касаемо ссылку на Управление подписчиков и отредактированные некоторый код, который я нашел here, но это не будет работать, так как функция 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');
UPDATE 2: Я теперь прибегают к использованию локон и мне удалось получить что-то почти работает. Данные отправляются Mailchimp, но я получаю сообщение об ошибке «В ваш запрос не включен ключ API». Я предполагаю, что мне нужно пройти аутентификацию, как упомянуто here. Я попытался добавить его в заголовок 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');
v2.0 все еще определенно работает. v1.3 тоже, на самом деле, но если вы ищете примеры API v3.0, я бы проверил это [GitHub repo] (https://github.com/mailchimp/APIv3-examples). Сейчас он имеет только Python, но этого может быть достаточно, чтобы вы указали в правильном направлении на своем языке. Также есть страница в документах по [управляющим абонентам] (http://kb.mailchimp.com/api/article/how-to-manage-subscribers), что является шагом от фактических примеров кода, но может все еще быть полезно. – TooMuchPete
Спасибо @TooMuchPete. Я обновил свой вопрос с помощью образца кода. Я думаю, что медленно добираюсь туда. – VenomRush
Я ищу примеры API v3.0 в python, которые являются не только базовыми запросами на получение. Примеры в том, что репо GitHub хромает, извините. –