【问题标题】:Gibbon Update EMail长臂猿更新电子邮件
【发布时间】:2014-03-13 23:08:38
【问题描述】:

我正在后台启动一个 sidekiq-job,它通过 after_commit 回调在后台异步更新用户 newsletter_info。因此,如果用户在他的设置中更新他的语言,MailChimp 中的语言也会更新。一切正常,除了电子邮件地址。如果用户更新他的电子邮件地址,它将显示在日志消息中,并且它会在正确的位置,但不会在 mailchimp 中更新。相反,具有新电子邮件地址的新用户会被添加到 mailchimp 列表中......

所以一种选择可能是删除旧的,但我认为该解决方案并不干净。

我的另一个想法是电子邮件地址可能是订阅者 ID,并且可能会出现错误。

非常感谢您的帮助,

问候,哈立德。

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

【问题讨论】:

    标签: ruby ruby-on-rails-3.2 mailchimp ruby-1.9.3 gibbon


    【解决方案1】:

    我的问题的答案是: 我已经提到电子邮件地址可能是 mailchimp 订阅者列表中的 id。就是这样。

    所以我在模型中使用此代码取消订阅旧电子邮件地址并将新用户添加到订阅者列表:

    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 )
    

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

    也许这不是最好的方法,但它确实有效! ;)

    感谢阅读问题的任何人!

    【讨论】:

      【解决方案2】:

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

      gibbon.lists(list_id).members(Digest::MD5.hexdigest(old_email))
        .upsert({
          body: { email_address: new_email }
        })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-14
        • 2015-12-14
        • 2018-07-14
        • 1970-01-01
        • 2015-03-24
        • 2017-03-26
        • 2018-03-20
        • 1970-01-01
        相关资源
        最近更新 更多