Tôi có mã này bên dưới để thêm người dùng vào danh sách có sẵn trong Mailchimp.Cập nhật người đăng ký trong danh sách bằng cách sử dụng cURL và API Mailchimp 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');
Mã này chỉ bổ sung thêm người dùng vào danh sách và khi tôi cố gắng thêm các chi tiết của cùng một người dùng hai lần nó ném các lỗi sau trên nỗ lực thứ hai:
[email protected] is already a list member. Use PATCH to update existing members.
Làm thế nào để đi về việc sử dụng PATCH để cập nhật chi tiết người dùng? Tôi không chắc phải xác định nó ở đâu.
Lưu ý rằng "ID người đăng ký" thực sự chỉ là băm MD5 của địa chỉ email của họ. – TooMuchPete
Điều cần biết. Cảm ơn. – VenomRush
Đối với bất kỳ ai khác xem cách cập nhật email của người đăng ký hiện tại - bạn không thể thực hiện điều đó (bạn cần XÓA email cũ và sau đó thêm email mới làm người đăng ký mới). Bạn không thể thay đổi thông tin được đánh dấu là "chỉ đọc" trong lược đồ tại đây: https://us9.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json –