Event Webhookでイベントを受信する
Activityを利用するとメールの状況確認(宛先に到達したか、メールが開封されたか等)が容易に行えますが、Activity機能には制限事項があるため、イベントデータを活用できません。イベントデータを活用したい場合は「Event Webhook」の利用を推奨します。これはあらかじめ指定したURLにイベントの内容をPOSTする機能です。POST先でデータを蓄積することで柔軟な活用ができます。Event Webhookの詳細についてはAPIリファレンスを参照してください。
Event Webhook設定
Event WebhookのPOST先やイベント種別の指定を行います。まず、ダッシュボードのメニューで「Settings > Mail Settings」を選択します。
次に、Webhook Settingsの「Event Webhook」リンクを選択します。
「Create new webhook」を選択します。
「Friendly Name」には表示名、「Post URL」にはPOST受信するアプリケーションのURL(後述)を指定します。「Actions to be posted」でPOST対象のイベント種別を選択します。
よりセキュアな設定を行うことも可能です。SendGridからのデータであることを保証するために、POSTするリクエストにデジタル署名を付ける場合は「Signature Verification」をONに、SendGridにPOST先URLへのアクセス権限を付与するために、OAuth 2.0に対応する場合は「OAuth Verification」をONにしてください(詳細はこちら)。
設定が完了したら「Save」を選択して編集を完了します。
ご契約のプランによって作成可能なEvent Webhookの数が異なります。Freeプランの場合は1つ、Essentialsプランは2つ、Pro以上のプランは5つまで設定可能です。
Tracking設定
Clicked、Opened、Unsubscribeの各イベントを発生させるには、Event Webhook設定の他に、送信メールにトラッキング用URLを埋め込むためのTracking設定が必要になります。Tracking設定はダッシュボードのメニュー「Settings > Tracking」で行います。
Click Tracking、Open Tracking、Subscription Tracking設定を「ON」にすることでそれぞれのトラッキング用URLがメールに埋め込まれます。各設定の詳細については、ユーザマニュアルを参照してください。Subscription Trackingを利用した配信停止の管理方法についてはこちらも参考にしてください。
POSTを受信するアプリケーションの準備
POSTを受信するにはWebアプリケーションを用意する必要があります。Webアプリケーションの実装に手間を掛けたくないという方向けに、簡単にデータを受信する方法をいくつかご紹介します。
- Webhookのデバッグに便利なツール「Webhook.site」の紹介
- Event WebhookのOAuth2.0をAWSで設定してみる
- Event WebhookをHerokuで受けてSlackに通知する
- ArcESBでEvent Webhookデータを受信する
イベントの発行テスト
受信側アプリケーションの準備ができたらEvent Webhookページで「Test Integration」ボタンを選択してテストイベントを発行します。アプリケーション側でイベントが受信できることを確認したら設定完了です。最後に実際にメールを送信してイベントを受信できることを確認してください。Event WebhookのPOST内容を確認するなど、デバッグが必要な場合はAPIリファレンスを参照してください。