【问题标题】:Mailchimp API v3.0 change subscriber emailMailchimp API v3.0 更改订阅者电子邮件
【发布时间】:2015-11-20 09:06:03
【问题描述】:

我想知道 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",
    ));

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

有什么想法吗?

谢谢你, 里卡多

【问题讨论】:

    标签: php rest mailchimp


    【解决方案1】:

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

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

    【讨论】:

    • 嗨 juanjose_hg,你一点也不迟,事实上,官方更新日志列出了最近的今年 11 月 (developer.mailchimp.com/documentation/mailchimp/guides/…)。由于您的答案是指我要求的相同版本的 api,因此我将接受您的答案。抱歉,@TooMuchPete,希望你不要介意。
    【解决方案2】:

    根据the docs,确实如此。它在我们这边也不起作用,所以我们会联系 Mailchimp 以了解它在文档中的原因。

    编辑:确实不可能,文档已经过时了。以下是 mailchimp 对此的看法:

    嗨菲利普, ​​​ 感谢您就这些 API 问题联系 MailChimp 支持,并允许我们提供帮助。 ​​​ 使用 MailChimp 3.0 版,用户无法更新订阅者电子邮件地址。虽然这可能在我们的 API 的过去版本中可用,但不再受支持。要更新订阅者的电子邮件地址,最好的办法是从 MailChimp 中手动更新。每个电子邮件地址都被视为列表成员的唯一标识符。 ​​​ 我当然可以理解文档可能会有些误导,并且您确实可以更新列表中的订阅者字段,但是电子邮件地址不是其中之一。这就是为什么您没有在 MailChimp 中看到更新的信息的原因。我将为此审查文档,并提出建议编辑该文章,如果我们确实建议可以使用 API 更新电子邮件地址。感谢您的反馈,并与我们保持联系。 ​​​ 我们感谢您的时间、精力和耐心,因为我们最终审查了这些内容。再次感谢您选择 MailChimp,并随时向我们发布您可能遇到的任何其他问题。 ​

    【讨论】:

      【解决方案3】:

      根据 MailChimps changelog 的说法,自 2016 年 11 月 3 日起,可以使用 patchput 更改用户的电子邮件。

      2016 年 11 月 3 日

      添加更新现有列表成员电子邮件地址的功能 通过 PATCH 或 PUT 调用 /lists/{list_id}/members/{subscriber_hash}

      您不需要使用 merge_field 来更改电子邮件。你可以这样做:

      $emailHash = md5($oldEmail);
      
      $result = $this->patch('/lists/'.$listid.'/members/'.$emailHash, 
          array(
              'email_address' => $newEmail,
              'status' => "subscribed",
          ));
      

      【讨论】:

        【解决方案4】:

        不,MailChimp 确实不允许更改电子邮件地址。您可以在网络应用程序中执行此操作,但几乎所有统计数据和活动信息都不会保留。由于这个原因,API v3.0 根本不支持更改电子邮件地址。您要做的是取消订阅或删除旧地址,然后重新创建新地址。

        【讨论】:

        • 嗨皮特。我想我无论如何都会失去所有订阅者的统计数据。感谢您的澄清:)
        • @TooMuchPete 听起来你对高等教育的研究太多了——很好的理论,但在现实生活中没有用:) 失去订阅者统计数据是一回事,但更糟糕的是,进行集成变得非常乏味.我有一个包含所有客户的 CMS,需要与 MailChimp 同步。这就像使用邮政地址作为客户的主键,每当他们更改地址时,您也需要更改所有外键记录 - 这太疯狂了,数据规范化不行!
        • @TheStoryCoder 使用地址作为一个人的 PK 是愚蠢的,这是真的。用它作为房子的PK是另一回事,而且更合理。这也正是这里的区别。 MailChimp 不是,目前真的是为了向人们发送邮件,而不是邮箱。正如您所见,这些事情通常是 1:1,但并非总是如此。这是一种权衡,可能会随着时间而改变,但现在就是这样。
        • 我也在做一个集成,我同意@TheStoryCoder。这太烦人了。与 MailChimp 集成比我预期的要困难得多。
        • @TooMuchPete 我不知道我们在这里的辩论有多高兴,但我敢再提一点。你说的都是理论。我看不出我们通过这种设计实际上获得了什么(除了可能使编程 MC 更容易 - 但这是一种错误的态度,计算机是为了简化我们的事情)。所以我不明白你怎么能称之为权衡。
        【解决方案5】:

        当然你可以更新电子邮件地址,使用

        PATCH /lists/{list_id}/members/{hashed_old_email_address}
        

        并在有效负载中设置新的电子邮件地址 https://mailchimp.com/developer/marketing/api/list-members/update-list-member/

        【讨论】:

          猜你喜欢
          • 2017-06-11
          • 2015-09-22
          • 2016-03-20
          • 2015-10-17
          • 2019-11-18
          • 2016-05-25
          • 2014-04-03
          • 2015-07-20
          • 2016-09-01
          相关资源
          最近更新 更多