Mailchimp API v3.0更改订阅者电子邮件

Gue*_*iky 15 php rest mailchimp

我想知道Mailchimp API v3.0是否允许为订户更改EMAIL地址.

这就是我所拥有的:

$email = strtolower(trim($oldEmail));
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    return false;
}
$emailHash = md5($email);

$result = $this->patch('/lists/'.$listid.'/members/'.$emailHash, 
    array(
        'email_address' => $oldEmail,
        'merge_fields' => array("EMAIL" => $newEmail),
        'status' => "subscribed",
    ));
Run Code Online (Sandbox Code Playgroud)

它不起作用.Mailchimp返回通常的GET MEMBER响应,并显示没有任何更改.

任何的想法?

谢谢你,里卡多

小智 11

我知道这有点晚了但是现在PUT方法(.../3.0/lists/{listId}/members/{md5})允许更改电子邮件地址.

我在正文和MERGE0(EMAIL)标签中发送新电子邮件,但使用上一封电子邮件中的md5.它正在正确地更改电子邮件.


bor*_*new 9

根据文档,确实如此.它也不适合我们,因此我们将联系Mailchimp以了解它在文档中的原因.

编辑:这确实是不可能的,文档已经过时了.以下是mailchimp对此的评价:

嗨Philipp,感谢您通过MailChimp支持这些API问题,并允许我们提供帮助.使用MailChimp 3.0版,用户无法更新订户电子邮件地址.虽然我们的API的过去版本可能已经提供了此功能,但不再支持它.要更新订阅者电子邮件地址,最好的方法是从MailChimp中手动更新.每个电子邮件地址都被视为列表成员的唯一标识符.我当然可以理解文档如何有点误导,并且您确实能够更新列表中的订阅者字段,但电子邮件地址不是其中之一.这就是为什么你没有在MailChimp中看到更新的信息.我将在此审查文档,并提出建议,如果我们确实建议使用API​​更新电子邮件地址,那么就可以编辑该文章.感谢您的反馈,并感谢您与我们一起.我们在审查结果时感谢您的时间,精力和耐心.再次感谢您选择MailChimp,并随时向我们发布您可能继续前进的任何其他问题.


Ada*_*dam 6

根据MailChimps 更改日志,可以自2016年11月3日起更改用户的电子邮件并进行补丁放置.

2016年11月3日

添加通过PATCH或PUT调用更新现有列表成员的email_address的功能/ lists/{list_id}/members/{subscriber_hash}

您无需使用merge_field来更改电子邮件.你可以这样做:

$emailHash = md5($oldEmail);

$result = $this->patch('/lists/'.$listid.'/members/'.$emailHash, 
    array(
        'email_address' => $newEmail,
        'status' => "subscribed",
    ));
Run Code Online (Sandbox Code Playgroud)