所以他们点击了时事通讯中的取消订阅链接。在他们的个人资料中,它说,例如:
此人于2017年3月24日下午2:40取消订阅
收到“Newsletter Test#6”后
很好,但如果有人取消订阅,我怎么能通过API以编程方式说出来?它甚至可能吗?我问的原因是因为你不能删除自己取消订阅的人。如果您尝试,他们的数据将被清除,但电子邮件地址将保留在您的列表中。此外,如果您尝试订阅通过单击取消订阅链接取消订阅的人,您将获得“john@example.com由于取消订阅,退回或合规性审核而处于合规状态且无法订阅”。因此,在这种情况下,我们应检查他们是否已取消订阅,如果是,我们可以将其状态设置为待处理,这将发送确认选择加入电子邮件。否则,我们可以通过API订阅它们,而无需将其状态设置为待处理并向其发送电子邮件,并要求他们单击电子邮件中的链接。
答案 0 :(得分:1)
来自Mailchimp支持:
当用户取消订阅时,您会看到参数unsubscribe_reason,如果是管理员取消订阅或通过API完成取消订阅,则会说" N / A(由管理员取消订阅) &#34 ;.但是,如果由用户完成,它通常会说"未指定"如果他们没有留下理由,或者它可能显示用户注意取消订阅的原因。您可以在下面的链接中阅读有关unsubscribe_reason参数的更多信息。
http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/
答案 1 :(得分:1)
正如您所指出的,如果您尝试删除处于合规状态的某人,则API会拒绝您的请求,但遗憾的是,不会返回任何有用的响应。另一方面,如果您尝试订阅处于合规状态的某人,您应该以{{1}} status
和相应的消息获得json形式的回复。在我看来,它看起来像这样:
400
如果您只是解析该响应,则可以检查{
"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
"title":"Member In Compliance State",
"status":400,
"detail":"johndoe@example.com is in a compliance state due to unsubscribe, bounce, or compliance review and cannot be subscribed.",
"instance":"1234567890abcdefg"
}
的值,该值可能比文本描述符更可靠和向前兼容 - 如果适用,您可以从那里将成员状态设置为status