LaravelとMailChimp連携:Webhookを利用してsubscribe, unsubscribe, updateを通知する方法

LaravelとMailChimp

LaravelでMailChimpのWebhookを利用する方法を解説します。

メルマガ申し込み・解約・変更等がが起こった時にMailChimpからLaravel側に情報を通知し、Laravel側で処理を実行できます。

「さくっとできるかな」と思ったものの、HTTPリクエストに癖があったりと、わりと手こずりました^^;

手こずりポイントを含めて、ひとつひとつ手順を解説していきますね。

LaravelでMailChimpのWebhookを利用してsubscribe, unsubscribe, updateを通知する方法

次の想定で説明していきます。

  • MailChimpのアカウントには既に顧客リスト(Audience)がある
  • 連携させたいLaravelのプロジェクトもある

まずはMailChimp側でWebhookの設定からスタートしましょう。

MailChimpにWebhookの設定をする

①MailChimpにログインし、左側からAudienceを選択

②右側の【Manage Audience】プルダウンから【Setting】選択

③Settingメニュー一番下のWebhooks選択

④【Create New Webhook】ボタンをクリック

⑤【Create New Webhook】フォームに入力

下記のように入力します。

1.Callback URL には、ドメイン/mailchimp/webhook としておきます。

2.”What type of updates should we send?”の部分では、Webhookを通じて提供してほしい情報を選択

3.”Only send updates when a change is made …” の部分では、誰が行った変更について通知するかを選択

【Create new webhook入力例】

上記例では、Unsubscribeが起こった場合に通知する、ということにしています。

ちなみに本番URLではなくテストURLを使用したい場合には、NGROKというツールを使うと便利ですよ。ローカル環境でHTTPSテスト環境を手軽に構築できます。

⑥Saveボタンを押して保存します。

Laravel側でMailChimpのWebhookの通知を受け取る設定をする

次にLaravel側の設定をします。

① CSRFの例外設定を行う

Laravelでは最初にCSRFの例外設定を行っておきましょう。

Middleware/VerifyCsrfToken.php ファイルに、下記のようにmailchimpを加えます。

【VerifyCsrfToken.php】

これで “ドメイン/mailchimp” で始まるURLの場合には、CSRFルールを無視できます。ここをいれておかないと、CSRFルール違反ということでエラーになってしまいます。

CSRFルールと違反については、下記の記事で詳しく解説しています。詳しく知りたい場合は、併せて読んでくださいね。

② ルート設定を行う

次にルート設定です。resources/routes/web.phpファイルに、下記を加えます。

今回はMailChimpControllerに処理をいれておくことにします。

【web.php】

ここで、getとpost、2つのルート設定を作っておくのがポイント。

実際にはpostしか必要ないのですが、getも入れておかないとエラーになります。

③コントローラに処理を記述

下記コマンドを実行して、MailChimpControllerを作成します。

作成したMailChimpControllerに処理をいれていきます。

まずはwebhookを通じて取得した値を取り出します。Unsubscribeの場合には、次のようなデータが送信されます。

【Webhook response: Unsubscribes】

上記の中からEMAILの値を取り出していきましょう。このEMAIL情報を持つユーザーを探し出し、このユーザーに処理を実行する、というコードを書いていきます。

書き方としては、次のようになります。

【MailChimpController・処理例】

④テストする

最後にテストを行います。

さいごに

ルート設定や値の取り出し方がちょっと面倒ですが、このあたりがクリアできれば、難しくはありません。

Laravelと連携可能なメールシステム、という意味では、MailChimpは最強だと思います。

MailChimpについては別記事でも色々解説しているので、ご興味があれば、関連記事も見てみてくださいね。

MailChimp、実はまだ登録していないという場合は、下記からご登録いただけます。

MailChimpの登録はこちらをクリック

↓↓↓


ページの真ん中あたりに【Sign Up Free】という青緑色のボタンが表示されますが、ここをクリックすると、無料版を登録できます。

LaravelとMailChimp

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる


Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
セミナーで、StripeやChatGPT連携、デバックなど実践スキルを分かりやすく学べます。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました