MailChimp 重新订阅已删除的成员会导致 API 返回 400 错误请求
Posted
技术标签:
【中文标题】MailChimp 重新订阅已删除的成员会导致 API 返回 400 错误请求【英文标题】:MailChimp resubscribe a deleted member causes the API to return a 400 bad request 【发布时间】:2019-02-11 09:20:09 【问题描述】:我在 MailChimp v3 API 上遇到问题,当我尝试重新订阅会员时,它会以状态 400 进行响应。以下是重现问题的步骤:
-
将成员订阅到列表,然后删除该成员。
通过端点PUT /lists/list_id/members/subscriber_hash使用API重新订阅返回状态400
'类型': 'http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/', 'title': '忘记的电子邮件未订阅', “状态”:400, 'detail': 'some@email.com 已被永久删除,无法重新导入。联系人必须重新订阅才能重新加入列表。
请求是:
email_address: 'some@email.com',
status_if_new: 'subscribed'
根据响应,解决方案是该成员必须重新订阅,我实际上正在尝试这样做。有人遇到过这个问题吗?
【问题讨论】:
检查***.com/a/36578061/472501 可能吗? 【参考方案1】:我认为你 Permanently delete a list member 之后是不可能重新导入列表成员的。
【讨论】:
【参考方案2】:我已联系 MC 支持,这是他们给我的:
由于欧盟的 GDPR 要求,我们最近添加了一种新方法 从您的列表中删除联系人。此时,您可以删除并 存档(这是一个软删除并将该联系人保留在您的 报告),或者您可以删除和删除(这是硬删除和 从所有报告/等中删除这些联系人)。看到这个错误 消息表示您正在尝试重新添加已 以前永久删除。如果您打算删除某人并且 通过 API 重新添加它们,您想使用删除和存档 选项。
对我来说唯一令人困惑的部分是我被要求重新订阅,而事实上这正是我正在做的事情,但支持团队也告诉我:
当看到“重新订阅”的消息时,这是指使用 MailChimp 注册表单,而不是使用 API 订阅方法。 MailChimp 表单是最终的“解决方法”,它可以在其中 用于重新订阅退订者、清理地址或永久 已删除地址。
总之,代码没有错,只是 MC 如何处理来自其 API 的请求,我认为这不应该像错误消息所说的那样具有误导性。
所以你去吧,我希望这可以帮助那些在同样痛苦的道路上发现你的代码没有问题的人,而这只是他们的 API 的工作方式。 ¯_(ツ)_/¯
【讨论】:
官方文档以防有人发现它们有帮助:mailchimp.com/help/delete-contacts/#Archive_vs._Remove【参考方案3】:重新导入列表成员并非不可能...只需进入您的 MailChimp 联系人并以这种方式添加成员。当然,您将无法在您的网站上使用 API/表单,但如果该电子邮件需要在系统中,这是我找到的唯一方法。
您还可以获取现有联系人并将他/她的电子邮件更改为已永久删除的电子邮件。这实际上是我能够重新导入被永久删除的电子邮件的方法,因为我还没有尝试添加新电子邮件,但我猜它可能会起作用。
【讨论】:
不错的解决方法。无法创建新联系人,但更改现有联系人似乎会“重置”所有内容,然后不再永久删除电子邮件地址。 确实如此。好在他们的错误检查不包括现有的联系人。 :)【参考方案4】:存在重新订阅永久删除的联系人的方法。 Mailchimp 提供 2 种方式: 1)通过使用他们的形式重新订阅 2) 通过删除受众
您可以将整个受众作为一个整体删除,然后创建一个全新的受众,然后重新导入。
这是来自 Mailchimp 知识库的信息:
如果您的所有联系人都已删除并需要重新导入,则可以删除整个受众,然后创建新的受众并重新导入。这些步骤是删除存储联系人的受众容器,以便可以重新添加已删除的联系人。 仅当需要删除或已删除受众中的所有联系人时才建议这样做。删除整个受众将导致该受众上所有联系人的活动丢失。如果受众上存在点击、打开和其他活动,这将丢失。
要永久删除整个受众: 1️⃣导航到“受众”选项卡。 2️⃣点击“管理受众”并选择“查看受众”。 3️⃣选中观众名称旁边的框,然后点击“删除”。
如果您在过去 7 天内向受众发送了邮件,则需要等待该时间段才能删除受众。如果您不想等待 7 天,唯一的其他选择是通过托管的注册表单注册这些订阅者。
【讨论】:
为了测试我的设置,我最终重新创建了受众。不过很乏味。以上是关于MailChimp 重新订阅已删除的成员会导致 API 返回 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章
Mailchimp API v3.0“status”:“subscribed”总是导致“status”:“pending”