更新:我用更详细的教程回答了另一个问题,该教程介绍了如何使用 jQuery .ajax():Adding subscribers to a list using Mailchimp's API v3
查看Mailchimp documentation 并假设您有一个给定的列表,看起来您会使用 GET 调用此端点:
/lists/{list_id}/members/{subscriber_hash}
要在 PHP 中执行此操作,我找到了 nice script sitting on github。他们的最后一个功能可能会为您解决问题:
function mc_checklist($email, $debug, $apikey, $listid, $server) {
$userid = md5($email);
$auth = base64_encode( 'user:'. $apikey );
$data = array(
'apikey' => $apikey,
'email_address' => $email
);
$json_data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://'.$server.'.api.mailchimp.com/3.0/lists/'.$listid.'/members/' . $userid);
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_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
$result = curl_exec($ch);
if ($debug) {
var_dump($result);
}
$json = json_decode($result);
echo $json->{'status'};
}
如果该功能不起作用,我能找到的 v3 库的唯一包装器可以与 Laravel 一起使用 - Mailchimp v3 API PHP wrapper。