添加兴趣组当在Mailchimp API 3中创建新的子区间时



由于在任何地方都找不到答案,希望得到一些帮助。

我正在使用以下PHP函数向mailchimp添加一个订阅者。这很好用。我需要做的是添加分配了一个或多个组兴趣的用户。例如,我有一个名为"测试小组"的小组,它包含两个兴趣"测试1"one_answers"测试2"。如何修改以下函数以包含1个或多个利息值?

function mc_subscribe($email, $fname, $lname, $apikey, $listid, $server) {
$auth = base64_encode( 'user:'.$apikey );
$data = array(
'apikey'        => $apikey,
'email_address' => $email,
'status'        => 'subscribed',
'merge_fields'  => array(
'FNAME' => $fname,
'LNAME' => $lname
)
);
$json_data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://'.$server.'api.mailchimp.com/3.0/lists/'.$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);
return $result; 
};

文档包含足够的信息来解决这个问题,尽管它没有直接说明。

您需要在请求中添加一个interests对象。它应该将兴趣ID作为关键字,将布尔值作为false。所以你可以更新上面的代码如下:

$data = array(
'email_address' => $email,
'status'        => 'subscribed',
'merge_fields'  => array(
'FNAME' => $fname,
'LNAME' => $lname
),
'interests'     => array(
'9143cf3bd1': true
)
);

请注意,您需要从API获取ID,因为无法从web应用程序收集这些ID,而且您还应该从不再使用的请求中删除apikey元素。

最新更新