【ディレクターもプログラミングを学ぼう】メルマガサービス「MailChimp」のAPIを使ってみよう #1

Jack


【ディレクターもプログラミングを学ぼう】メルマガサービス「MailChimp」のAPIを使ってみよう #1

こんにちは、ディレクターの Jack です。
コーポレートサイトやメディアサイトを構築する上で、メールマガジン機能を実装したいという要望は結構よくある話かと思います。
本日は、世界でよく利用されているメルマガサービス「 MailChimp 」について書いていきたいと思います。

 

MailChimpとは

MailChimp とは、無料で利用できるメルマガサービスです。
ステップメール配信できたり、メルマガの開封率を確認できたりと、無料にも関わらず便利な機能を備えたメール配信システムです。

下記リンクからサービスを利用することができます。

>> MailChimp

サービスは英語のみの提供となりますが、操作性の高い管理画面なので迷わず利用できるかと思います。

また、MailChimp の各種機能を API 経由で利用できるのも使い勝手の良い特長のひとつです。

API リファレンスは、下記リンクから確認する事が可能です。

>> MailChimp API 3.0

海外サービスなのでドキュメントも英語ですが、インタラクティブに API を叩ける「 Playground 」という機能も提供されているため、非常に分かりやすいです。

 

APIの機能に関して

MailChimp では、下記 HTTP メソッドが提供されています。

  • GET
  • POST
  • PATCH
  • PUT
  • DELETE

また、MailChimp で利用可能なリソースも下記に詳しく記載されています。

>> http://developer.mailchimp.com/documentation/mailchimp/reference/overview/

このサービスで頻繁に利用するリソースは「 Lists 」かと思います。
これは、配信するメールマガジンの作成や購読、購読解除などが提供されているリソースとなります。

Endpoint 機能
POST /lists 新規にリストを作成する
GET /lists リスト情報を取得する
POST /lists/{list_id} 特定のリストの購読者/購読解除したユーザを取得する
GET /lists/{list_id} 特定のリストの情報を取得する
POST /lists/{list_id}/members 特定のリストに購読者として追加する
GET /lists/{list_id}/members 特定のリストに購読者情報を取得する

 

実際にAPIを叩いてみて

今回は、すべてのリスト情報を取得する PHP スクリプトを書いて検証してみます。
本スクリプトを動かす前に、管理画面上で、API キーを発行します。
また、CURLOPT_URL で指定する URL に関しても、指定されたリージョンの URL を利用する必要があります。

ソースコードは下記のとおりです。

<?
$api_key = 'APIキーを指定';
$request_type = 'GET';

$ch = curl_init();
$headers = array(
  'Content-Type: application/json',
  'Authorization: Basic ' . base64_encode('user:' . $api_key)
);
curl_setopt_array($ch, [
  CURLOPT_URL => 'https://usxx.api.mailchimp.com/3.0/lists/',  // usxxに該当のリージョンを指定する
  CURLOPT_HTTPHEADER => $headers,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => $request_type,
  CURLOPT_TIMEOUT => 10,
  CURLOPT_SSL_VERIFYPEER => false
]);

$response = curl_exec($ch);
var_dump($response);
curl_close($ch);

コードを「 get_all_lists.php 」というファイル名で保存を行い、下記コマンドを実行します。

$ php ./get_all_lists.php

JSON ですべてのリスト情報が返却されることが分かるかと思います。

 

おわりに

本日は MailChimp の API を利用して、作成されたリスト情報を取得するデモを行いました。新しいツールなどを利用する際に、サクッとデモスクリプトを作成して動作検証を行うことができれば、要件定義もスムーズに進みそうですね。

次回は、特定のリストに対して購読する処理を作ってみたいと思います。
それでは!

 

Jack
この記事を書いた人
Jack

デューサー

おすすめ記事

Recommended by