2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

mailchimp-api v3を触ったはなし

Last updated at Posted at 2020-10-03

この記事について

最近新しくなった、mailchimpのapiを触ってみたので
導入方法や、使い方をサクッと解説してみます。

これまで、こちらの古いsdkしか用意されていなかったので、いつ使えなくなるか、、、といった感じでした(たぶん)

今回apiの刷新と、新たな公式sdkが公開されましたので、乗り換えのため触ってみたのと若干はまった部分もあったので、記録として置いておきます。
https://mailchimp.com/developer/blog/

環境や前提条件など

(環境)

  • ruby 2.7.1
  • rails 6.0.2

(前提条件)

  • mailchimpのアカウントがすでにある

(触るAPI)

事前準備

Gemの追加

gem 'MailchimpMarketing'

mailchimpのAPIキーの作成

若干わかりづらい場所にありました。

Account > Extras > API Key > Create A Keyボタン

キーが生成されるので、これでOK

clientの準備

ほぼリファレンス見れば書いていますが、、、


mailchimp = MailchimpMarketing::Client.new
mailchimp.set_config({
  :api_key => 'YOUR_API_KEY',
  :server => 'YOUR_SERVER_PREFIX'
})

mailchimp.ping.get
# {"health_status": "Everything's Chimpy!"} が出ればOK

YOUR_SERVER_PREFIX は、APIキーの-以降の文字を追加します。
xxxxxxxxxxxxx-us8だとしたら、us8

こちらに書いていましたが、ちゃんと読まずにサービスのドメインとか適当に入れてたら接続できなくてはまってた。。。

基本的な操作方法

# リスト一覧
mailchimp.lists.get_all_lists

# リスト追加 
# email・・追加したいemail_address
# ※すでに存在するアドレスの場合、例外になるのでケースにもよるがput使ったほうがいい
mailchimp.lists.add_list_member(
  'list_id',
  {
    email_address: email
  }
)

# リスト put
# email・・・putしたいemail_address
# ※subscriber_hashは、emailアドレスのMD5ハッシュに対応している。
mailchimp.lists.set_list_member(
 'list_id',
  Digest::MD5.hexdigest(email),
  {
    email_address: email,
    status_if_new: "subscribed"
  }
)

# メンバー取得
# email・・・検索したいemail_address
# ※存在しないと例外になるので、存在確認には使わないほうがいい
client.lists.get_list_member('list_id', Digest::MD5.hexdigest(email))

# リストからメンバー検索
# ※emailや、MDハッシュでの検索ができない、、、微妙だなあ、get_list_member使えってことか、、
# 登録した時にunique_email_idという項目が生成されるので、emailベースの存在確認にはそれを使う
mailchimp.lists.get_list_members_info(
  MAIL_CHIMP_LIST_ID,
  {
    unique_email_id: unique_email_id,
    status: 'subscribed'
  }
)

# メンバー更新
# 更新したいemail
mailchimp.lists.update_list_member(
 'list_id',
  Digest::MD5.hexdigest(email),
  {
    status: 'unsubscribed' # 購読解除
  }
)

参照元

mailchimp公式リファレンス

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?