首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gibbon更新EMail

Gibbon更新EMail
EN

Stack Overflow用户
提问于 2014-02-14 14:25:29
回答 2查看 455关注 0票数 1

我在后台启动了一个侧翼作业,它通过newsletter_info回调更新用户的后台after_commit异步。因此,如果用户在他的设置中更新他的语言,该语言也会在MailChimp中得到更新。除了电子邮件外,一切都很好。如果用户更新电子邮件,它将显示在日志消息中,并且将显示在正确的位置,但不会在mailchimp中更新。相反,一个拥有新电子邮件地址的新用户将被授予mailchimp列表.

因此,一个选择可能是删除旧的,但我认为这个解决方案是不干净的。

我的另一个想法是,虽然订阅者id和错误可能在那里产生,但电子邮件可能是。

非常感谢你的帮助,

你好,哈立德。

代码语言:javascript
运行
复制
def update_newsletter_info(args)
  NDC.push "KHALED -- "
  Rails.logger.debug "UPDATENEWSLETTERINFO ARGS: #{args}"
  XIXI::Workflow.for(TwitterUsersMaintainer, args) do |workflow, user|
    Rails.logger.debug "INFOS IN UPDATENEWSLETTERINFO #{user.locale} #{user.email}"
    gb = Gibbon::API.new
    cfg = XOXO::Mailchimp.config

    gb.lists.subscribe(
      :id    => cfg.list_id,
      :email => { :email => user.email },
      :merge_vars => {
        :mc_language => user.locale,
        :groupings => [
          { name: cfg.group_name, groups: [ user.recurring_payment? ? 'basic' : 'free' ] }
        ]
      },
      :double_optin    => !!cfg.double_optin,
      :update_existing => true,
      :send_welcome    => !!cfg.send_welcome
    )

    # continue
    workflow.continue_with(user)
  end
  NDC.pop
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-21 14:59:42

对我的问题的回答是:我已经提到过,电子邮件地址可能是mailchimp订阅者列表中的id。事实也是如此。

因此,我在模型中使用了以下代码来取消订阅旧的电子邮件入口,并将新用户添加到订阅列表中:

代码语言:javascript
运行
复制
if self.previous_changes.include?("email")
      email = self.previous_changes[:email][0]
      UsersMaintainer.perform_async( action: :unsubscribe_newsletter, email: email )
    end
    UsersMaintainer.perform_async( action: :update_newsletter_info, user_id: self.id )

并将新成员添加到列表中。

也许这不是最好的方法,但它正在起作用!)

感谢所有读过这个问题的人!

票数 1
EN

Stack Overflow用户

发布于 2021-01-04 13:02:16

电子邮件地址可以用长臂猿更改

代码语言:javascript
运行
复制
gibbon.lists(list_id).members(Digest::MD5.hexdigest(old_email))
  .upsert({
    body: { email_address: new_email }
  })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21781904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档