Contents
MailChimpアカウント作成とAPIキー取得方法
メールマーケティングを始める際、まず必要となるのがMailChimpアカウントの登録です。個人事業主や中小企業担当者向けに、シンプルな手順で無料トライアルアカウントを作成し、APIキーを取得する流れを解説します。
無料トライアルアカウントの登録手順
MailChimpの公式サイトへアクセスし、「無料トライアルに申し込む」ボタンから手続きを開始します。必要事項(名前、メールアドレス、会社名など)を入力し、メール認証を通すとアカウントが作成されます。
ダッシュボードからAPIキーを取得する流れ
ログイン後、ダッシュボードの「Account Settings(アカウント設定)」セクションで「Extras(エクストラ)」タブを開きます。「API Keys(APIキー)」から新規生成ボタンをクリックし、APIキーをコピーします。このキーは後述のAPI呼び出し時に必要となるので、安全に保管してください。
注意: APIキーが誤って使用された場合や不正アクセスが発覚した際には、アカウント設定で再生成を行う必要があります。Basic Auth(
Authorization: Basic <base64>)の形式で送信する際は、<APIキー>をanystring:<APIキー>形式でエンコードし、リクエストヘッダーに含めることを忘れないでください。
REST APIの基本呼び出し方とツール活用
MailChimp APIはRESTfulな設計になっており、簡単なGET/POSTリクエストで操作できます。curlやPostmanなどのツールを活用することで、開発者が効率的にAPIをテストできるようになります。
curlコマンドでのGET/POSTリクエスト例
以下はリスト一覧の取得に使用するGETリクエストと、メールアドレスの登録に使うPOSTリクエストです。
GETリクエスト(リスト一覧取得)
|
1 2 3 4 |
curl -X GET "https://<dc>.api.mailchimp.com/3.0/lists" \ -u "anystring:<APIキー>" \ -H "Content-Type: application/json" |
POSTリクエスト(メールアドレス登録)
|
1 2 3 4 5 |
curl -X POST "https://<dc>.api.mailchimp.com/3.0/lists/<リストID>/members" \ -u "anystring:<APIキー>" \ -H "Content-Type: application/json" \ -d '{"email_address": "[メールアドレス削除]", "status": "subscribed"}' |
<dc>はデータセンターの指定(例:us1)で、MailChimpダッシュボードの「Account Settings > API Keys」から確認できます。<リストID>は作成したリストのUUIDで、リスト一覧取得APIを呼び出して得られるidフィールドに該当します。
Postmanでの認証ヘッダー設定手順
Postmanを使用する場合、以下を行います。
- リクエスト方法を「GET」または「POST」に設定。
- URLに
https://<dc>.api.mailchimp.com/3.0/...を入力。 - 「Authorization」タブで「Basic Auth」を選択し、ユーザー名は任意(例:anystring)、パスワードにはAPIキーを入力。
注意: 429 Too Many Requestsエラーについては、MailChimp公式ドキュメントに記載されている1分間最大30回のリクエスト制限が適用されます。頻繁なリクエストは、APIキーを変更するか、リクエスト間隔を空ける必要があります(公式ドキュメント: https://mailchimp.com/developer/api/v3/guides/rate-limiting/)。
リスト作成とサブスクリプション処理の実装手順
リスト作成はメールアドレスの集約を目的とした初期ステップです。APIを使用してリストを作成し、その後にサブスクを管理する流れをご説明します。
新規リストの作成APIエンドポイント
POST https://<dc>.api.mailchimp.com/3.0/lists を使用します。リクエストボディには以下のようなJSONを記述します。
|
1 2 3 4 5 6 7 8 9 10 |
{ "name": "**新規リスト名**", "contact": { "company": "会社名(任意)", "address1": "住所(任意)" }, "permission_reminder": "本メールマガジンの配信を希望します。", "email_type_option": true } |
メールアドレスを登録するPOSTリクエスト例
作成したリストにユーザーを追加するには、以下のエンドポイントを使用します。
POST https://<dc>.api.mailchimp.com/3.0/lists/<リストID>/members
リクエストボディは以下のように記述します(必須項目:email_addressとstatus)。
|
1 2 3 4 5 6 7 8 9 |
{ "email_address": "[メールアドレス削除]", "status": "subscribed", "merge_fields": { "FNAME": "山田", "LNAME": "太郎" } } |
JSONバリデーションチェックの技術的正確性
JSON形式の誤り(例:"を忘れている、不要な空白など)は「400 Bad Request」として返されます。JSONバリデーターを使用して事前にチェックし、エラーを防ぎましょう。具体的には、JSONLintやVS Codeの拡張機能で構文を確認できます。
キャンペーン送信APIのパラメータ設定と注意点
キャンペーン送信では、テンプレートIDや受信者リストを指定する必要があります。以下の手順でカスタマイズ可能なパラメータ設定を確認してください。
テンプレートIDと受信者リストの指定方法
POST https://<dc>.api.mailchimp.com/3.0/campaigns を使用します。リクエストボディには以下のような内容を記述します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "type": "regular", "recipients": { "list_id": "<リストID>" }, "settings": { "subject_line": "**件名:新商品情報**", "preview_text": "今週限定!特別割引をチェックしてね。", "from_name": "会社名", "from_email": "[メールアドレス削除]" }, "template_id": "<テンプレートID>" } |
本文・件名のカスタマイズオプション
subject_line:キャンペーンのタイトルを設定(100文字以内が推奨)。preview_text:メール本文のサムネイル表示用テキスト。template_id:事前に作成したHTMLテンプレートIDを指定する(ない場合は「regular」タイプで自動生成される)。
テスト送信は「Send a Test Campaign」機能を使用し、実際の配信前に確認できます。
エラー処理とデバッグ方法
API呼び出し時に発生するエラーコードを理解し、適切に対応することで開発効率が向上します。以下に代表的なHTTPステータスコードと対処法を示します。
よくあるHTTPステータスコードの対応策
| ステータスコード | 内容 | 対応方法 |
|---|---|---|
| 401 Unauthorized | APIキーが無効または誤り | アカウント設定で再生成、リクエストヘッダーを確認 |
| 404 Not Found | 指定されたリソースが存在しない | エンドポイントURLとリストIDの再確認 |
| 429 Too Many Requests | リクエスト数上限に達している | 該当APIは1分間最大30回の制限がある |
リクエストボディのJSONバリデーションチェック
JSON形式の誤り(例:"を忘れている、不要な空白など)は「400 Bad Request」として返されます。JSONバリデーターを使用して事前にチェックし、エラーを防ぎましょう。
プログラム実装時の注意点とサンプルコード
API呼び出しの際には、認証情報やパラメータが正しく設定されているか確認することが重要です。以下にPythonで実装する際の例を示します。
サンプルコード(メールアドレス追加)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import requests url = "https://us1.api.mailchimp.com/3.0/lists/<リストID>/members" headers = { "Authorization": "Basic <base64エンコードされたAPIキー>", "Content-Type": "application/json" } data = { "email_address": "[メールアドレス削除]", "status": "subscribed" } response = requests.post(url, headers=headers, json=data) print(response.status_code, response.json()) |
base64エンコードされたAPIキーの取得方法
<base64エンコードされたAPIキー>は、anystring:your_api_keyという文字列をBase64でエンコードしたものです。コマンドラインではecho -n 'anystring:your_api_key' | base64を使って生成できます。
無料トライアルアカウントでの実践テスト
MailChimp APIの操作に慣れるには、実際のコードを組んでテストすることが最適です。登録リンクから無料トライアルを活用し、以下のサンプルコードを参考にしてください。
よくある質問と対処法
- Q:
401 Unauthorizedが発生する
A: APIキーが正しくエンコードされているか、リクエストヘッダーに正しい認証情報を含めているかを確認してください。
参考資料とリンク
- MailChimp公式APIドキュメント: https://mailchimp.com/developer/api/v3/
- APIキー再生成手順: ダッシュボード → Account Settings → Extras → API Keys