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

时间:2015-10-22 09:40:01

标签: ruby-on-rails ruby-on-rails-4 mailchimp gibbon

很长一段时间我都在寻找这个,但找不到任何答案。 在我的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中的电子邮件,还是我需要删除用户并创建一个新用户? 谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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