我有下面的代碼,將用戶添加到Mailchimp中的預先存在的列表。使用cURL和Mailchimp API v3更新列表中的訂戶
$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',
'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');
此代碼僅將用戶添加到列表中,當我嘗試添加同一用戶的詳細信息的兩倍,它拋出下面的錯誤在第二次嘗試:
[email protected] is already a list member. Use PATCH to update existing members.
如何去使用修補程序來更新用戶詳細信息?我不確定在哪裏指定它。
請注意,「訂閱者ID」實際上只是MD5哈希值他們的電郵地址。 – TooMuchPete
很高興知道。謝謝。 – VenomRush
對於其他人在尋找如何更新現有用戶的電子郵件 - 你不能這樣做(你需要刪除舊電子郵件,然後添加新的用戶作爲一個新的)。您不能在此架構中更改標記爲「只讀」的信息:https://us9.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json –