如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址

Posted

技术标签:

【中文标题】如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址【英文标题】:How to edit email address of existing member in mailchimp list using Gibbon gem 【发布时间】:2016-01-21 13:11:21 【问题描述】:

我已经找了很久,但找不到任何答案。 在我的 rails 4 应用程序中,我使用 Gibbon gem (v.2.0.1) 来管理 mailchimp 列表。就订阅和取消订阅用户而言,一切正常,但我无法更新订阅用户的电子邮件地址(尽管我可以更改名字和姓氏等每个参数)。

我的更新调用看起来像:

member = $gibbon.lists(list_id).members(member_id)
member.update(body: 
               email_address: self.email,
                status: "subscribed",
                merge_fields: FNAME: self.first_name,
                               LNAME: self.last_name
               
               )

我也尝试过 upsert,但没有运气。实际上可以更新mailchimp中的电子邮件还是我需要删除用户并创建一个新用户? 感谢您的帮助

【问题讨论】:

您说您可以从列表中删除人员,但您是通过会员 ID 还是通过电子邮件地址执行此操作?我找不到通过电子邮件地址进行操作的方法,这就是我所拥有的。您是否正在跟踪用户的 MailChimp ID 以用于取消订阅?如果没有,您有没有找到一种方法从列表中(通过电子邮件地址)找到用户的 ID 以便能够删除它们? 要取消订阅 MailChimp,您必须按照 Gibbon's docs 中的说明执行 gibbon.lists(list_id).members(lower_case_md5_hashed_email_address).update(body: status: "unsubscribed" )。我将lower_case_md5_hashed_email_address 作为:mc_member_id 存储在我的用户模型中。 【参考方案1】:

在网络应用程序和一些旧版本的 API 中编辑地址是可能的,但这很棘手,因为大多数地址的历史记录在更改后都不会跟随。删除或取消订阅然后添加新地址可能是最好的方法。

【讨论】:

【参考方案2】:

经过一些额外的研究并联系 Mailchimp,我可以确认使用新的 api (v3.0) 无法编辑电子邮件地址,因为它是一个只读字段。 作为一种解决方案,我运行了一种专门编辑电子邮件地址的方法,该方法基本上检索 Mailchimp 中的成员(我将 mailchimp id 存储在 User 模型中的我的数据库中),将其删除并创建一个具有相同数据的新地址(例如,如果该成员取消订阅,则新成员也将取消订阅)。由于需要通过电子邮件链接确认更改的电子邮件地址(我正在使用设计),我在注册控制器中添加了一个 resque 任务来执行我的方法。希望对其他人有所帮助

【讨论】:

以上是关于如何使用 Gibbon gem 编辑 mailchimp 列表中现有成员的电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章

Gibbon Gem Mailchimp 表单问题

为啥 Gibbon Gem 可以访问 API 但不能 listSubscribe()?

rails - Gibbon mailchimp gem 将订阅者添加到列表中,但不发送确认电子邮件

未初始化的常量 Gibbon::Request (NameError)

如何通过 Gibbon Export API 调用为 Mailchimp 传递过滤器

如何使用 Gibbon (rails wrapper) 直接访问 Mailchimp 上的 body 变量