希望得到一些帮助,因为无法在任何地方找到答案。
我使用以下PHP函数将订阅者添加到mailchimp。这很好用。我需要做的是为用户添加一个或多个分配的组兴趣。例如,我有一个名为" Test Group"其中包含两个兴趣"测试1"和"测试2"。如何修改以下函数以包含一个或多个兴趣值?
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;
};
答案 0 :(得分:1)
The documentation包含足够的信息来解决这个问题,即使它没有直接说明。
您需要在请求中添加interests
个对象。它应该将兴趣ID作为键,将布尔值作为假。因此,您可以按如下方式更新上面的代码:
$data = array(
'email_address' => $email,
'status' => 'subscribed',
'merge_fields' => array(
'FNAME' => $fname,
'LNAME' => $lname
),
'interests' => array(
'9143cf3bd1': true
)
);
请注意,您需要从API获取ID,因为无法从Web应用中收集这些ID,并且您还应该从请求中删除不再使用的apikey
元素。