Mailchimpでは様々な情報がAPIで取得できるようになっています。
データ分析基盤との連携をする際、AWSではAmazon AppFlow を利用したり、Treasure DataではMailchimp Export Integrationを利用することなどが可能ですが、取得できるのは一部の情報のみで、それ以外は自分で取得する必要があります。
その際、RubyであればMailchimpMarketingRubyを使うことで、APIを楽に利用することができます。
実際にサンプルを叩いてみる
まず、こんな感じにGemfile
を編集します。dotenvはAPIキーを取得するために使います。
source "https://rubygems.org"
gem 'dotenv'
gem 'MailchimpMarketing', :git => 'https://github.com/mailchimp/mailchimp-marketing-ruby.git'
次に.envを編集します。
MAILCHIMP_SERVER_PREFIXはAPI_KEYの-の後の文字を入れるだけで基本はOKみたいです。
MAILCHIMP_API_KEY = 'xxxxxxxxxx-xxx'
MAILCHIMP_SERVER_PREFIX = 'xxx'
ではこんな感じのスクリプトを書いて実際にAPIを叩いてみます。
今回はサンプルとして /lists を叩いてみます。
require 'dotenv'
require 'MailchimpMarketing'
Dotenv.load
client = MailchimpMarketing::Client.new()
client.set_config({
:api_key => ENV['MAILCHIMP_API_KEY'],
:server => ENV['MAILCHIMP_SERVER_PREFIX']
})
response = client.campaigns.list('count': 10)
puts response["campaigns"]
bundle install
をした後、ruby main.rb
を実行すると、APIを叩いた結果を得ることができます。
他のAPIの利用方法も READMEにまとまっているため、そちらを元にとりたい情報をまとめることができます。
また、一度に取れる情報は最大千件までですが、大半のAPIでは下記のようにoffsetパラメータを利用することで1001件目移行も取得ができるので、取得に困ることはなさそうです。
client.campaigns.list('count': 1000, offset: 1000) # 0スタートなので1001件目から取りたい場合は1000で良い
まとめ
自分でAPIをガリガリ書くのは若干面倒ですが、Mailchimpは公式でラッパーが用意されており、非常に助かります。
node.js、PHP、Python実装もあり、幅広い言語で提供されておりお好みで選ぶことができるので必要になった際は是非お試しください。