我正在尝试更新我的代码以订阅新用户到我的MailChimp时事通讯.
我希望将用户添加到一个组中,这样我就可以在发送简报时区分用户.但是,此代码订阅用户,但不会将其添加到任何组.我究竟做错了什么?我正在使用MailChimp API 3.0.
我的代码:
$apiKey = 'XXXX'; $list_id = 'XXXX'; $memberId = md5(strtolower($data['email'])); $dataCenter = substr($apiKey,strpos($apiKey,'-')+1); $url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/lists/' . $list_id . '/members/' . $memberId; $json = json_encode(array( 'email_address' => $data['email'],'status' => $data['status'],// "subscribed","unsubscribed","cleaned","pending" 'merge_fields' => array( 'FNAME' => $data['firstname'],'LNAME' => $data['lastname'],'GROUPINGS' => array( 0 => array( 'name' => 'Interests','groups' => array( $data['tag'] ),),)); $ch = curl_init($url); curl_setopt($ch,CURLOPT_USERPWD,'user:' . $apiKey); curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: application/json')); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_TIMEOUT,10); curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'PUT'); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_POSTFIELDS,$json); $result = curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch);
您正在错误的数组中传递兴趣分组.
你需要传递兴趣数组中的兴趣组ID,其值为true.
你需要传递兴趣数组中的兴趣组ID,其值为true.
$json = json_encode(array( 'email_address' => 'test@example.com','status' => 'subscribed','merge_fields' => array( 'FNAME' => 'FirstName','LNAME' => 'LastName','interests' => array( '9143cf3bd1' => true,'789cf3bds1' => true ),));
您将通过请求此URL获取列表中的兴趣组[9143cf3bd1,789cf3bds1]的ID
/lists/{list_id}/interest-categories
如果要从组中删除订户,则需要在更新请求中将其值设置为false.