7

Rails で Gibbon gem を使用して、MailChimp の特定の関心グループにサブスクライバーを自動的に追加する方法を理解しようとしています。

これを行うためのRails以外の方法について詳しく説明しているこの記事を見つけました:http://roman.tao.at/uncategorized/mailchimp-api-listsubscribe-listbatchsubscribe-and-groups/

Gibbon gem: https://github.com/amro/gibbonを使用してその機能を実装する方法を見つけたいと思います。

参考までに、私は MailChimp と Rails の両方の初心者でもあります。

4

2 に答える 2

10

最後に、コードを何時間も熟読した後。探していたサンプルが見つかりました!

Google グループのスレッドでこれを提供してくれた TJ Moretto に感謝します。

私は gibbon gem を使用していますが、同じタイプの問題に遭遇しました。最終的にこれを機能させるためにパラメーターをフォーマットする必要があった方法は次のとおりです。

gb.list_subscribe({:id => "#{list.id}",
                   :email_address => user.email,
                   :update_existing => true,
                   :double_optin => false,
                   :send_welcome => false,
                   :merge_vars => {'FNAME' => "#{user.first_name}",
                                   'LNAME' => "#{user.last_name}",
                                   'GROUPINGS' => {0 => {'id' => grouping.id, 'groups' => "#{challenge.name}"}}}
                  })

それが役立つことを願っています。

Mailchimp チーム - (すべてのプログラミング言語で) これを行おうとすると誰もが遭遇する問題の数に基づいて、API ドキュメントを更新してより明確にすることをお勧めします。

于 2012-09-25T05:05:52.707 に答える
5

MailChimp API のバージョン 2.0 および Gibbon のバージョン 1.0 の更新 (@Calin および子孫向け)。ここでは、以前のバージョンからの必要な変更を示します。API オブジェクトは次のようにアクセスされます。

gb = Gibbon::API.new

そして、次のようにメソッドをリストします。

gb.lists.subscribe(params)

最後に、パラメーターは次の形式の値を指定する必要があるパラメーターに:email_address置き換えられました: 値自体は、 または のいずれかの 1 つのキーを持つハッシュである必要があり、値はサブスクライバーの電子メール アドレスまたは MC の一意のいずれかである必要があります。サブスクライバーの識別子 (LEID)。:email'email''leid'

したがって、完全なサブスクリプション呼び出しは次のようになります。

gb = Gibbon::API.new
gb.lists.subscribe(:id => "ed6d1dfef4",
                   :email => 
                     { "email" => "example@domain.com" },
                   :merge_vars =>
                     {:groupings =>
                       {
                         0 => { :id => "95", :groups => ["Some Group", "Another Group"]},
                         1 => { :id => "34", :groups => ["A Third Group"]}
                       }
                     },
                    :update_existing => "true",
                    :double_optin => "false",
                    :replace_interests => "false")
于 2013-09-04T16:11:11.460 に答える