簡體   English   中英

Rails:如何將新創建的用戶的電子郵件地址添加到MailChimp?

[英]Rails: How to add a newly created user's email address to MailChimp?

對於上下文,我正在使用Ruby on Rails開發一個Web應用程序,我使用MailChimp來處理電子郵件活動。

給定名為User的ActiveRecord模型,其屬性名為email,在成功創建新用戶后,如何將用戶的電子郵件發送到MailChimp列表?

將官方mailchimp-api gem添加到您的Gemfile:

gem 'mailchimp-api', require: 'mailchimp'

然后運行:

bundle install

在User模型中使用after_create掛鈎將訂閱者發送到MailChimp:

class User < ActiveRecord::Base

  after_create :add_mailchimp_subscriber


  def add_mailchimp_subscriber
    client = Mailchimp::API.new('<your mailchimp api key>')
    client.lists.subscribe('<your mailchimp list id>', {email: email}, {'FNAME' => first_name, 'LNAME' => last_name})
  end
end

這是將訂戶添加到MailChimp所需的最小值。 您可能希望將add_mailchimp_subscriber邏輯移動到它自己的類或將作業排隊以異步運行它。 您還應該添加一些錯誤處理。 client.lists.subscribe方法將引發特定於問題的錯誤。 例如,如果您指定的MailChimp列表ID無效,您將獲得Mailchimp::ListDoesNotExistError

你可以在這里找到官方的寶石和文檔:

https://bitbucket.org/mailchimp/mailchimp-api-ruby/

基本上,你需要的是Callbacks 您可以編寫代碼以在after_create回調中將新用戶訂閱到mailchimp。

類似於你的user.rb模型。

def after_create(user)
  # code to subscribe user to mailchimp
end

您可以在此博客上查看更多信息和示例。

您可以使用Mailchimp API來管理列表訂閱者: http ://apidocs.mailchimp.com/api/2.0/lists/subscribe.php

有幾種紅寶石包裝易於在鐵軌中使用: http//apidocs.mailchimp.com/api/downloads/#ruby-rails

因此,在模型更改上添加一些操作的常用方法是使用Active Records回調。 所以你的代碼可能看起來像這樣

class User < ActiveRecord::Base

  after_create :add_subscriber_to_list

  private

  def add_subscriber_to_list
    # Logic to add subscriber to list via Mailchimp API ruby wrapper
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM