MongoDBの更新情報を通知する方法
以前、SendGridのイベントデータをMongoDBにストアする方法をご紹介しましたが、今回はさらに一歩進んで、MongoDBの更新情報を通知する方法をご紹介します。この方法を使うと、データのストアに加えて、プログラミングなしでイベントに応じた様々なアクションを実行することが可能になります。今回は2種類の方法で通知してみます。
- メール
- ChatWork
前提条件
- イベントデータをMongoDBにストアする設定が完了している
- Zapierのアカウント
- ChatWorkのアカウント(APIの利用申請が必要)
メールで通知する
1. Zapの作成
MongoDBに新しいドキュメントが追加されたらSendGridでメールを送信するよう設定していきます。
2. MongoDBの接続設定
イベントデータがストアされるMongoDBの接続設定を行います。MongoDBのホスト名、ポート、データベース名、ユーザ名、パスワードを入力して次に進みます。
3. SendGridの接続設定
SendGridの接続設定を行います。SendGridのユーザ名とパスワードを入力して次に進みます。
4. フィルタ設定
MongoDBのフィルタ設定を行います。
イベントデータが格納されるデータベース名とコレクション名を選択後、カスタムフィルターとしてEventの値が「bounce」に一致する条件を設定します。これで、バウンスイベントが発生したらこのトリガが動作するようになります。
5. メール設定
通知メールの内容を設定します。
宛先、送信元、件名、本文を設定します。各フィールドには、イベントのフィールド値を埋め込むこともできます。
6. テスト
設定内容が期待通りかどうかテストを行います。
7. Zapの有効化
最後にZapに名前をつけて有効化します。
以上で設定は完了です。
バウンスが発生すると、指定した宛先にメールで通知されます。
ChatWorkで通知する
1. Zapの作成
MongoDBに新しいドキュメントが追加されたらChatWorkで通知するよう設定していきます。
画面右側は「Web Hook」と「POST」を選択します。
2. MongoDBの接続設定
「メールで通知する」と内容は同じです。設定済みの設定を選択することもできます。
3. Web Hookの接続設定
ここで設定することは何もありません。次へ進みます。
4. フィルタ設定
「メールで通知する」と内容は同じです。
5. Web HookのPOST設定
ChatWorkのチャットに新しいメッセージを追加するためにPOSTの設定をします。
URLには新しいメッセージを追加するためのエンドポイントを設定します。エンドポイントに含めるルームIDは自分のチャット一覧を取得することで確認できます。
Dataには、パラメータ名を「body」として、投稿したい内容を設定します。イベントのフィールド値を埋め込むこともできます。
Headersには、認証情報を設定します。Keyを「X-ChatWorkToken」として、値にChatWorkのAPIトークンを設定します。
6. テスト
「メールで通知する」と同様、設定内容が期待通りかどうかテストを行います。
7. Zapの有効化
最後にZapに名前をつけて設定完了です。
これでバウンスが発生するとChatWorkに通知されます。
さいごに
Event Webhookというと、Webアプリケーションを自前で用意しなくてはいけないように思われがちですが、便利なサービスを組み合わせることで簡単にイベントデータを有効活用できるようになります。是非お試しください!